책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9791185578644
· 쪽수 : 288쪽
책 소개
목차
CHAPTER 01 리버싱과 해킹의 이해
1.1 해킹의 이해
1.1.1 해커의 의미
1.1.2 해킹 학습 방법
1.1.3 해킹의 절차
1.2 리버스 엔지니어링
1.2.1 리버싱 적용 분야
1.2.2 리버싱 방법
1.2.3 리버싱의 위험도
CHAPTER 02 컴퓨터 시스템의 명령어 처리 구조
2.1 데이터 표현 방식
2.1.1 데이터 표현 단위
2.1.2 숫자의 표현
2.1.3 문자의 표현
2.2 프로그램의 생성
2.2.1 프로그램의 생성
2.2.2 컴파일러의 역할
2.3 프로세스
2.3.1 프로세스 상태
2.3.2 프로세스의 실행
2.3.3 프로세스 실행정보의 확인
2.4 레지스터의 구성과 역할
2.4.1 레지스터 종류
2.4.2 컴퓨터 명령어 코드
CHAPTER 03 디버거의 활용 방법
3.1 프로그램 디버깅
3.1.1 프로그래밍 오류
3.1.2 프로그래밍 오류가 자주 발생하는 지점
3.1.3 프로그래밍 오류 찾기
3.2 디버거 종류
3.3 디버거 사용법(x64dbg)
3.3.1 x64dbg 설치하기
3.3.2 x64dbg 주요 기능
3.3.3 디버거를 사용하여 프로그램 따라가기
3.3.4 원하는 코드 위치로 찾아가는 방법
CHAPTER 04 어셈블리어의 이해
4.1 어셈블리어 명령어
4.2 프로그램 코드의 어셈블리어 표현
4.2.1 어셈블리어 코드의 이해
4.2.2 디컴파일러 기능 활용
CHAPTER 05 코드 분석과 패치
5.1 문자열 패치
5.1.1 문자열 패치 방법
5.1.2 원본보다 더 긴 문자열 패치
5.1.3 메모리 변경 내용을 파일로 보관
5.2 코드 패치
5.2.1 제어 흐름 찾아가기
5.2.2 제어 흐름의 변경
5.2.3 패치 공간의 부족
5.3 실행 파일의 코드 분석 연습
5.3.1 패스워드 찾기
5.3.2 시리얼번호 찾기
5.3.3 리버싱 문제 풀이
CHAPTER 06 윈도우 실행 파일 구조
6.1 윈도우 PE 파일
6.1.1 윈도우 PE(Portable Executable) 파일이란?
6.1.2 PE 파일 관련 도구
6.2 윈도우 PE 파일 구조
6.2.1 윈도우 실행 파일 형식
6.2.2 MS-DOS 정보
6.2.3 Windows NT 정보
6.2.4 섹션 정보
6.2.5 메모리 로딩 시 주소 변환
6.3 IAT(Import Address Table)
6.4 EAT(Export Address Table)
CHAPTER 07 파일 패킹과 언패킹
7.1 PE 파일 패킹(packing)
7.1.1 패커의 주요 기능
7.1.2 패커 종류
7.1.3 UPX 패커
7.1.4 패킹의 증상
7.1.5 패커 시그니처 탐지
7.2 PE파일 언패킹(unpacking)
7.2.1 언패킹의 목표
7.2.2 언패킹 방법
7.2.3 도구를 이용한 자동 언패킹
7.3 수동 언패킹(manual unpacking)
7.3.1 UPX 패커의 언패킹 과정 디버깅
7.3.2 디버거와 IAT 복구 도구를 이용한 수동 언패킹
CHAPTER 08 안티 리버싱
8.1 디버거 탐지
8.1.1 프로세스 정보 확인
8.1.2 디버깅 관련 API 활용
8.1.3 중단점 탐지
8.2 난독화(Obfuscation)
CHAPTER 09 메모리 오염 공격
9.1 시스템 메모리
9.1.1 시스템 메모리 영역
9.1.2 함수 호출 시의 스택 구조
9.1.3 버퍼 오버플로우
9.1.4 포맷 문자열
9.2 스택 오버플로우 공격
9.2.1 스택 오버플로우
9.2.2 스택 오버플로우 공격 실습
9.2.3 공격 코드 작성
9.3 데이터 공간 오버플로우 공격
9.3.1 힙 오버플로우
9.3.2 데이터 공간의 오버플로우 공격
9.4 UAF 공격
9.4.1 힙 메모리 영역 관리 방법
9.4.2 UAF(Use After Free) 공격
CHAPTER 10 방패와 창
10.1 스택 오버플로우 공격의 특징
10.2 데이터 공간 실행 방지
10.2.1 DEP(Data Execution Protection) 기능
10.3 데이터 공간 오염 방지
10.3.1 카나리아(Canary) 기능
10.3.2 ASLR(Address Space Layout Randomization)
10.4 공격 방지 기법의 회피 방법
10.4.1 RTL(ReturnToLibrary)
10.4.2 ROP(Return Oriented Programming)
10.4.3 ASLR 우회
CHAPTER 11 코드 인젝션
11.1 PE 재배치와 코드 패치 원리
11.1.1 PE 재배치(relocation)
11.1.2 재배치 정보
11.1.3 PE 코드 패치
11.2 코드 인젝션(Code Injection)
11.2.1 코드 인젝션 정의
11.2.2 코드 인젝션 주요 동작 흐름
11.2.3 코드 인젝션 관련 주요 API 정보
11.2.4 API 후킹
11.3 DLL 인젝션
11.3.1 DLL 영역
11.3.2 SetWindowHookEx()를 이용한 DLL 인젝션
11.3.3 원격 쓰레드를 이용한 DLL 인젝션
11.4 쓰레드 인젝션(Thread Injecrion)
11.4.1 CreateRemote Thread() API를 이용한 쓰레드 인젝션
11.4.2 쓰레드 EIP 변경을 이용한 쓰레드 인젝션
11.4.3 스텁 코드 삽입
11.5 프로세스 인젝션(Process Injection)
11.5.1 프로세스 할로잉
11.5.2 프로세스 도플갱잉
CHAPTER 12 악성코드 분석
12.1 악성코드 분석 준비
12.1.1 정적 분석 도구
12.1.2 동적 분석 도구
12.1.3 상세 분석 도구
12.2 악성코드 샘플 분석
12.2.1 정적 분석 진행
12.2.2 동적 분석 진행
12.2.3 상세 분석 진행
12.2.4 안티 디버깅과 안티 가상화
12.2.5 인코딩된 PE 바이너리 얻어 오기
12.3 정보 유출형 악성코드
12.3.1 정적 분석하기
12.3.2 동적 분석하기
12.3.3 상세 분석하기
12.3.4 악성코드 분석할 때 주의사항