Part 01 시스템 해킹을 위한 기초 지식
Chapter 01 운영체제에 대한 이해
01 운영체제의 개념과 기능
02 윈도우에 대한 이해
03 리눅스/유닉스에 대한 이해
요약
연습문제
Chapter 02 80x86 시스템에 대한 이해
01 80x86 시스템 CPU와 레지스터
02 80x86 시스템 메모리
03 어셈블리어의 기본 문법과 명령
[실습 2-1] 어셈블리어 프로그램 작성하고 실행하기
04 스택을 통한 명령 처리 과정
[실습 2-2] 프로그램 실행 과정에 따른 스택의 동작 이해하기
[실습 2-3] 셸 실행 과정을 이해하고, 셸 코드 생성하기
요약
연습문제
현장의 목소리 : 내 서버는 해킹당하지 않았다. 그런데 왜??
Chapter 03 계정과 권한
01 리눅스/유닉스의 계정과 권한 체계
[실습 3-1] 리눅스/유닉스에서 파일에 대한 접근 권한 설정하기
02 리눅스/유닉스의 권한 상승
[실습 3-2] SetUID를 이용한 해킹 기법 익히기
03 윈도우의 계정과 권한 체계
04 윈도우의 권한 상승
[실습 3-3] SYSTEM 권한 획득하기
요약
연습문제
Part 02 시스템 해킹
Chapter 04 패스워드 크래킹
01 패스워드 크래킹에 대한 이해
02 윈도우 인증과 패스워드
[실습 4-1] 윈도우 XP, 2008, 7 패스워드 크래킹하기
03 리눅스/유닉스 인증과 패스워드
[실습 4-2] 리눅스 패스워드 크래킹하기
04 서비스 데몬 패스워드 크래킹
[실습 4-3] 서비스 데몬 패스워드 크래킹하기
05 운영체제별 패스워드 복구
[실습 4-4] 윈도우 패스워드 복구하기
[실습 4-5] 리눅스 패스워드 복구하기
요약
연습문제
Chapter 05 리버스 엔지니어링
01 리버스 엔지니어링에 대한 이해
[실습 5-1] 비주얼 C++ 컴파일러 사용법 익히기
02 PE 파일에 대한 이해
03 리버스 엔지니어링 툴
04 리버스 엔지니어링 공격
[실습 5-2] 바이너리 파일 수정을 통해 리버스 엔지니어링 공격하기
[실습 5-3] 프로그램 로직 분석을 통해 리버스 엔지니어링 공격하기
05 리버스 엔지니어링에 대한 대응책
[실습 5-4] UPX 패킹하기
요약
연습문제
현장의 목소리 : USB 바이러스와 한판 승부
Chapter 06 레이스 컨디션
01 레이스 컨디션 공격에 대한 이해
[실습 6-1] 심볼릭 링크 기능 알아보기
[실습 6-2] 레이스 컨디션 수행하기
02 레이스 컨디션 공격에 대한 대응책
요약
연습문제
현장의 목소리 : 해커도 직업이 될 수 있다?
Chapter 07 버퍼 오버플로우
01 스택 버퍼 오버플로우 공격
[실습 7-1] gdb 분석을 통해 취약프로그램의 스택 버퍼 오버플로우 개념 이해하기
[실습 7-2] 스택 버퍼 오버플로우 수행하기
02 힙 버퍼 오버플로우 공격
[실습 7-3] gdb 분석을 통해 취약 프로그램의 힙 버퍼 오버플로우 개념 이해하기
[실습 7-4] 힙 버퍼 오버플로우 수행하기
03 버퍼 오버플로우에 대한 대책과 발전된 공격
[실습 7-5] rtl 공격 수행하기
04 스택 가드
[실습 7-6] canary 확인하기
05 스택 쉴드
06 ASLR
요약
연습문제
현장의 목소리 : 머리 용량이 부족하면 오버플로우되는 버퍼 오버플로우
Chapter 08 포맷 스트링
01 포맷 스트링 공격
[실습 8-1] 포맷 스트링 공격 원리 이해하기
[실습 8-2] 포맷 스트링 공격 수행하기
02 포맷 스트링 공격에 대한 대응책
요약
연습문제
Chapter 09 백도어
[실습 9-1] SetUID형 로컬 백도어 설치하고 이용하기
02 윈도우 백도어
[실습 9-2] 윈도우 백도어 설치하고 이용하기
03 리눅스/유닉스 백도어
[실습 9-3] 자동 실행형 백도어 설치하고 이용하기
04 백도어 탐지와 대응책
[실습 9-4] 윈도우 백도어 탐지하고 제거하기
[실습 9-5] 리눅스 백도어 탐지하고 제거하기
[실습 9-6] tripwire를 이용한 무결성 검사하기
요약
연습문제
Part 03 운영체제 보안
Chapter 10 윈도우 시스템 보안 설정(윈도우 서버 2008)
01 계정 정책
02 로컬 정책
03 데몬 관리
[실습 10-1] 윈도우 FTP 서비스 보안 설정하기
[실습 10-2] 윈도우 터미널 서비스 보안 설정하기
04 접근 제어
[실습 10-3] 윈도우 방화벽 규칙 적용하기
05 파일과 디렉터리 관리
[실습 10-4] 파일과 디렉터리 권한 설정하기
06 패치
요약
연습문제
Chapter 11 유닉스 시스템 보안 설정(솔라리스 9, 10)
01 계정 관리
[실습 11-1] 유닉스에서 관리자 계정 생성하기
02 서비스 관리
[실습 11-2] FTP Anonymous 접속 설정하기
[실습 11-3] SSH 접속하기
[실습 11-4] XDMCP 접근 제어하기
03 접근 제어
[실습 11-5] TCP Wrapper를 이용한 접근 제어 적용하기
04 파일과 디렉터리 관리
05 패치
요약
연습문제
현장의 목소리 : 스패머가 되버린 이메일 서버
Part 04 로그와 침입 탐지
Chapter 12 시스템 로그 분석
01 로그에 대한 이해
02 윈도우의 로그 분석과 설정
[실습 12-1] 윈도우 로그 관리하기
03 리눅스/유닉스의 로그 분석과 설정
[실습 12-2] 적절한 로깅 환경 설정하기
[실습 12-3] BSM 툴 설치하고 이용하기
요약
연습문제
Chapter 13 흔적 제거와 침입 추적
01 침입 사고 발생 시 대응 절차
02 윈도우의 흔적 제거
[실습 13-1] 윈도우 로그 정책 변경하고 기존 로그 삭제하기
03 윈도우의 침입 추적
[실습 13-2] 윈도우 메모리 덤프하기
[실습 13-3] 시스템 이미지 획득하기
[실습 13-4] 삭제 파일 복구하기
04 리눅스/유닉스의 흔적 제거
[실습 13-5] 리눅스 시스템 로그 삭제하기
05 리눅스/유닉스의 시스템의 침입 추적
[실습 13-6] 리눅스 시스템 메모리 덤프하기
[실습 13-7] 리눅스 시스템 이미지 획득하기
요약
연습문제
현장의 목소리 : 계정 암호만 잘 만들면 되는가
Appendix 실습 환경 구성
01 기본 실습 환경
02 가상 운영체제 설치(VMWare Player)
03 리눅스 설치(레드햇 6.2)
04 유닉스 설치(솔라리스 10)
현장의 목소리 : 합법적인 해킹?!
찾아보기