초보해커를 위한 해킹 입문 세트. 2/E
도서명:초보해커를 위한 해킹 입문 세트. 2/E
저자/출판사:존,에릭슨/에이콘출판
쪽수:956쪽
출판일:2011-08-10
ISBN:9788960772052
목차
『(개정판) 해킹: 공격의 예술』
0x100장 들어가며
0x200장 프로그래밍
___0x210 프로그래밍이란?
___0x220 가상 코드
___0x230 제어 구조
______0x231 If-Then-Else
______0x232 While/Until 루프
______0x233 For 루프
___0x240 기본적인 프로그래밍 개념
______0x241 변수
______0x242 산술 연산자
______0x243 비교 연산자
______0x244 함수
___0x250 직접 해보기
______0x251 큰 그림 이해하기
______0x252 x86 프로세서
______0x253 어셈블리 언어
___0x260 기본으로 돌아가기
______0x261 문자열
______0x262 Signed, Unsigned, Long, Short
______0x263 포인터
______0x264 형식 문자열
______0x265 형 변환
______0x266 커맨드라인 인자
______0x267 변수 범위
___0x270 메모리 세그먼트
______0x271 C에서의 메모리 세그먼트
______0x272 힙 사용하기
______0x273 오류 확인된 malloc()
___0x280 기초 쌓기
______0x281 파일 접근
______0x282 파일 권한
______0x283 사용자 ID
______0x284 구조체
______0x285 함수 포인터
______0x286 가상 난수
______0x287 확률 게임
0x300장 공격
___0x310 일반 공격 기법
___0x320 버퍼 오버플로우
______0x321 스택 기반 버퍼 오버플로우의 취약점
___0x330 BASH 셸로 해킹하기
______0x331 환경 변수 이용하기
___0x340 기타 세그먼트 오버플로우
______0x341 힙 기반 오버플로우
______0x342 함수 포인터 오버플로우
___0x350 포맷 스트링
______0x351 포맷 인자
______0x352 포맷 스트링 취약점
______0x353 임의의 메모리 주소에서 읽기
______0x354 임의의 메모리 주소에 쓰기
______0x355 인자에 직접 접근
______0x356 쇼트 쓰기 기법
______0x357 소멸자를 이용한 우회법
______0x358 노트 검색 프로그램의 취약점
______0x359 전역 오프셋 테이블 덮어쓰기
0x400장 네트워킹
___0x410 OSI 모델
___0x420 소켓
______0x421 소켓 함수
______0x422 소켓 주소
______0x423 네트워크 바이트 순서
______0x424 인터넷 주소 변환
______0x425 간단한 서버 예제
______0x426 웹 클라이언트 예제
______0x427 작은 웹서버
___0x430 하위 계층 해부
______0x431 데이터링크 계층
______0x432 네트워크 계층
______0x433 전송 계층
___0x440 네트워크 스니핑
______0x441 로 소켓 스니퍼
______0x442 libpcap 스니퍼
______0x443 계층 ****
______0x444 능동 스니핑
___0x450 서비스 거부
______0x451 SYN 홍수
______0x452 죽음의 핑
______0x453 티어드랍
______0x454 핑 홍수
______0x455 증폭 공격
______0x456 분산 DoS 홍수
___0x460 TCP/IP 하이재킹
______0x461 RST 하이재킹
______0x462 지속되는 하이재킹
___0x470 포트 스캐닝
______0x471 스텔스 SYN 스캔
______0x472 FIN, X-mas, Null 스캔
______0x473 가짜 스캔 패킷 이용
______0x474 유휴 스캐닝
______0x475 사전 방어(가리개)
___0x480 네트워크 건너 해킹하기
______0x481 GDB로 분석하기
______0x482 tinyweb 공격해보기
______0x483 포트 바인딩 셸코드
0x500장 셸코드
___0x510 어셈블리와 C
______0x511 어셈블리 리눅스 시스템 콜
___0x520 셸코드로 가는 길
______0x521 스택을 사용한 어셈블리 명령
______0x522 GDB로 조사
______0x523 널 바이트 제거
___0x530 셸을 생성하는 셸코드
______0x531 권한 문제
______0x532 셸코드 좀 더 작게 만들기
___0x540 포트 바인딩 셸코드
______0x541 표준 파일 서술자 복제
______0x542 분기 제어 구조
___0x550 커넥트 백 셸코드
0x600장 대응책
___0x610 탐지 대응책
___0x620 시스템 데몬
______0x621 시그널
______0x622 tinyweb 데몬
___0x630 주요 툴
______0x631 tinywebd 공격 툴
___0x640 로그 파일
______0x641 군중 속에 숨기
___0x650 보지 못하고 지나치기
______0x651 한 번에 하나씩
______0x652 원래대로 만들기
______0x653 자식 프로세스 호출
___0x660 고급 위장법
______0x661 로그의 IP 주소 스푸핑
______0x662 로그없는 공격
___0x670 전체 기반 시스템
______0x671 소켓 재사용
___0x680 페이로드 은닉
______0x681 문자열 인코딩
______0x682 썰매 숨기는 방법
___0x690 버퍼 제한
______0x691 다형의 출력 가능한 ASCII 셸코드
___0x6a0 대응책 보강
___0x6b0 실행 불가능 스택
______0x6b1 ret2libc
______0x6b2 system()으로 리턴
___0x6c0 임의 스택 공간
______0x6c1 BASH와 GDB로 조사
______0x6c2 linux-gate 이용기
______0x6c3 응용 지식
______0x6c4 첫 번째 시도
______0x6c5 도박하기
0x700장 암호학
___0x710 정보 이론
______0x711 절대적 보****
______0x712 원타임 패드
______0x713 양자 키 분배
______0x714 계산 불능 보****
___0x720 알고리즘 실행 시간
______0x721 점근 표기법
___0x730 대칭 암호 방식
______0x731 러브 그로버의 양자 검색 알고리즘
___0x740 비대칭 암호화
______0x741 RSA
______0x742 피터 쇼어의 양자 인수분해 알고리즘
___0x750 혼성 암호
______0x751 맨 인 더 미들 공격
______0x752 SSH 프로토콜 호스트 핑거프린트 버전 이용
______0x753 퍼지 핑거프린트
___0x760 비밀번호 크래킹
______0x761 사전 공격
______0x762 전수 조사 공격
______0x763 해시 룩업 테이블
______0x764 비밀번호 확률 행렬
___0x770 무선 802.11b 암호화
______0x771 WEP
______0x772 RC4 스트림 암호 방식
___0x780 WEP 공격
______0x781 오프라인 전수 조사 공격
______0x782 키스트림 재사용
______0x783 IV 기반 복호화 사전 테이블
______0x784 IP 리다이렉션
______0x785 Fluhrer, Mantin, Shamir 공격
0x800장 결론
___0x810 참고 문헌
___0x820 소스코드
『파이썬 해킹 프로그래밍』
1장 개발 환경 구축
___1.1 운영체제 요구 사항
___1.2 파이썬 2.5 설치
______1.2.1 윈도우에서의 파이썬 설치
______1.2.2 리눅스에서의 파이썬 설치
___1.3 이클립스와 PyDev 설치
______1.3.1 ctypes
______1.3.2 동적 라이브러리 이용
______1.3.3 C 데이터 타입
______1.3.4 레퍼런스를 통한 파라미터 전달
______1.3.5 구조체와 유니언 정의
2장 디버거
___2.1 범용 CPU 레지스터
___2.2 스택
___2.3 디버그 이벤트
___2.4 브레이크포인트
______2.4.1 소프트 브레이크포인트
______2.4.2 하드웨어 브레이크포인트
______2.4.3 메모리 브레이크포인트
3장 윈도우 디버거 개발
___3.1 디버기
___3.2 CPU 레지스터 상태 얻기
______3.2.1 스레드 리스트
______3.2.2 종합
___3.3디버그 이벤트 핸들러 구현
___3.4브레이크포인트
______3.4.1 소프트 브레이크포인트
______3.4.2 하드웨어 브레이크포인트
______3.4.3 메모리 브레이크포인트
___3.5 정리
4장 PyDbg - 순수 파이썬 윈도우 디버거
___4.1 브레이크포인트 확장
___4.2 접근 위반 핸들러
___4.3 프로세스 스냅샷
______4.3.1 프로세스 스냅샷 얻기
______4.3.2 종합
5장 Immunity 디버거
___5.1 Immunity 디버거 설치
___5.2 Immunity 디버거 101
______5.2.1 PyCommand
______5.2.2 PyHooks
___5.3 공격 코드 개발
______5.3.1 공격 코드에서 사용할 명령 찾기
______5.3.2 문자 필터링
______5.3.3 윈도우의 DEP 우회
___5.4 악성 코드의 안티 디버깅 루틴 무력화
______5.4.1 IsDebuggerPresent
______5.4.2 반복적인 프로세스 탐지 기법 우회
6장 후킹
___6.1 PyDbg를 이용한 소프트 후킹
___6.2 Immunity 디버거를 이용한 하드 후킹
7장 DLL과 코드 인젝션
___7.1 원격 스레드 생성
______7.1.1 DLL 인젝션
______7.1.2 코드 인젝션
___7.2 백도어 제작
______7.2.1 파일 숨기기
______7.2.2 백도어 코딩
______7.2.3 py2exe로 컴파일하기
8장 퍼징
___8.1 버그의 유형
______8.1.1 버퍼 오버플로우
______8.1.2 정수 오버플로우
______8.1.3 포맷 스트링 공격
___8.2 파일 퍼저
___8.3 추가 고려 사항
______8.3.1 코드 커버리지
______8.3.2 자동화된 정적 분석
9장 Sulley
___9.1 Sulley 설치
___9.2 Sulley 프리미티브
______9.2.1 문자열
______9.2.2 구분자
______9.2.3 정적, 랜덤 프리미티브
______9.2.4 바이너리 데이터
______9.2.5 정수
______9.2.6 블록과 그룹
___9.3 Sulley를 이용한 WarFTPD 퍼징
______9.3.1 FTP 기초
______9.3.2 FTP 프로토콜의 골격 생성
______9.3.3 Sulley 세션
______9.3.4 네트워크와 프로세스 모니터링
______9.3.5 퍼징과 Sulley 웹 인터페이스
10장 윈도우 드라이버 퍼징
___10.1 드라이버 통신
___10.2 Immunity 디버거를 이용한 드라이버 퍼징
___10.3 Driverlib - 드라이버 정적 분석 툴
______10.3.1 디바이스 이름 알아내기
______10.3.2 IOCTL 디스패치 루틴 찾기
______10.3.3 IOCTL 코드 찾기
___10.4 드라이버 퍼저 작성
11장 IDAPython - IDA Pro 스크립팅
___11.1 IDAPython 설치
___11.2 IDAPython 함수
______11.2.1 유틸리티 함수
______11.2.2 세그먼트
______11.2.3 함수
______11.2.4 교차 참조
______11.2.5 디버거 후킹
___11.3 스크립트 예제
______11.3.1 위험한 함수에 대한 교차 참조 찾기
______11.3.2 함수 코드 커버리지
______11.3.3 스택의 크기 계산
12장 PyEmu - 스크립트 가능한 에뮬레이터
___12.1 PyEmu 설치
___12.2 PyEmu 개요
______12.2.1 PyCPU
______12.2.2 PyMemory
______12.2.3 PyEmu
______12.2.4 실행
______12.2.5 메모리와 레지스터 변경자
______12.2.6 핸들러
___12.3 IDAPyEmu
______12.3.1 함수 에뮬레이트
______12.3.2 PEPyEmu
______12.3.3 실행 파일 팩커
______12.3.4 UPX 팩커
______12.3.5 PEPyEmu를 이용한 UPX 언팩