책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9788960773011
· 쪽수 : 896쪽
책 소개
목차
1 행동 익명화
___오니온 라우터(토르)
______비법 1-1 | 토르를 이용한 익명 브라우징
___토르를 이용한 악성코드 연구
______비법 1-2 | wget과 네트워크 클라이언트에 Torsocks 이용
______비법 1-3 | 파이썬으로 작성한 멀티플랫폼에서 토르 활성 다운로더
___토르의 단점
___프록시 서버와 프로토콜
______비법 1-4 | 무료 프록시를 통한 트래픽 포워딩
______비법 1-5 | 프록시 연결에 SSH 터널 사용
______비법 1-6 | Privoxy로 향상된 프라이버시를 지원하는 웹브라우징
___웹 기반 익명기
______비법 1-7 | Anonymouse.org 사이트를 이용한 익명 브라우징
___익명성을 보장받는 대안
___무선 전화 인터넷 연결
______비법 1-8 | 무선 전화 네트워크를 통한 인터넷 접속
___가상 사설망
______비법 1-9 | Anonymizer Universal을 통한 VPN 사용
___접속 식별과 흔적 남기지 않기
2 허니팟
___nepenthes 허니팟
______비법 2-1 | nepenthes를 이용한 악성코드 샘플 수집
______비법 2-2 | IRC 로깅을 통한 실시간 공격 감시
______비법 2-3 | 파이썬으로 HTTP를 통한 nepenthes 전송 수용
___Dionaea 허니팟으로 작업
______비법 2-4 | dionaea을 통한 악성코드 샘플 수집
______비법 2-5 | 파이썬을 이용한 HTTP 전송
______비법 2-6 | XMPP를 통한 실시간 이벤트 통지와 바이너리 공유
______비법 2-7 | dionea로 로깅한 공격 분석과 재현
______비법 2-8 | p0f를 이용한 원격 시스템 수동 식별
______비법 2-9 | sqlite와 gnuplot로 dionaea 공격 패턴 그래프 작성
3 악성코드 분류
___ClamAV를 활용한 분류
______비법 3-1 | 기존 ClamAV 시그니처 검사
______비법 3-2 | 개별 ClamAV 데이터베이스 생성
___YARA를 통한 분류
______비법 3-3 | ClamAV 시그니처를 YARA로 변환하는 방법
______비법 3-4 | YARA와 PEiD를 사용한 패커 식별법
______비법 3-5 | YARA를 이용한 악성코드 탐지
___도구 전체 통합
______비법 3-6 | 파이썬을 이용한 파일 타입 식별과 해시
______비법 3-7 | 파이썬으로 다중 AV 스캐너 사용
______비법 3-8 | 파이썬을 이용한 악성 PE 파일 탐지
______비법 3-9 | ssdeep을 이용한 유사 악성코드 검색
______비법 3-10 | ssdeep을 이용한 자가 변환 코드 탐지
______비법 3-11 | IDA와 BinDiff를 이용한 바이너리 비교
4 샌드박스와 다중 AV 스캐너
___공개 안티바이러스 스캐너
______비법 4-1 | VirusTotal을 이용한 파일 스캔
______비법 4-2 | Jotti를 이용한 파일 스캔
______비법 4-3 | NoVirusThanks를 이용한 파일 스캔
______비법 4-4 | 파이썬을 이용한 데이터베이스 지원 Multi-AV 업로더
___다중 안티바이러스 스캐너 비교
___공개 샌드박스를 이용한 분석
______비법 4-5 | ThreatExpert를 이용한 악성코드 분석
______비법 4-6 | CWsandbox를 이용한 악성코드 분석
______비법 4-7 | Anubis를 이용한 악성코드 분석
______비법 4-8 | Joebox용 AutoIT 스크립트 작성
______비법 4-9 | Joebox를 이용한 경로 기반 악성코드 정복
______비법 4-10 | Joebox를 이용한 프로세스 기반 악성코드 정복
______비법 4-11 | Joebox를 이용한 액티브 HTTP 프록시 설정
______비법 4-12 | 샌드박스 결과를 이용한 감염 흔적 스캐닝
5 도메인과 IP 주소 조사
___의심스러운 도메인 조사
______비법 5-1 | WHOIS를 이용해 도메인 조사
______비법 5-2 | DNS 호스트명 풀이
___IP 주소 조사
______비법 5-3 | IP WHOIS 레코드 얻기
___Passive DNS와 기타 도구로 조사
______비법 5-4 | BFK에서 Passive DNS 질의
______비법 5-5 | Robtex를 이용해 DNS 레코드 점검
______비법 5-6 | DomainTools를 이용한 IP 역검색 수행
______비법 5-7 | dig을 이용한 존 트랜스퍼 수행
______비법 5-8 | DNSMAP을 이용한 하위 도메인 무차별 대입
______비법 5-9 | 섀도우서버를 이용해 IP 주소로 ASN 매핑
______비법 5-10 | RBLs를 이용한 IP 평판 점검
___패스트 플럭스 도메인
______비법 5-11 | Passive DNS와 TTL을 이용한 패스트 플럭스 탐지
______비법 5-12 | 패스트 플럭스 도메인 추적
___지리 정보 매핑 IP 주소
______비법 5-13 | MaxMind, Matplotlib, Pygeoip를 이용한 고정 지도
______비법 5-14 | 구글 Charts API를 이용한 동적 맵
6 문서, 셸코드, URL
___자바스크립트 분석
______비법 6-1 | SpiderMonkey로 자바스크립트 분석
______비법 6-2 | Jsunpack을 이용한 자바스크립트 디코딩 자동화
______비법 6-3 | 스피드와 완벽성을 위한 Jsunpack-n 디코딩 최적화
______비법 6-4 | 브라우저 DOM 요소를 에뮬레이션한 익스플로잇 실행
___PDF 문서 분석
______비법 6-5 | pdf.py를 이용해 pdf 파일에서 자바스크립트 추출
______비법 6-6 | PDF 소프트웨어 버전을 속여 익스플로잇 실행
______비법 6-7 | Didier Stevens의 PDF 도구 사용
______비법 6-8 | PDF가 어떤 취약점을 사용하는지 찾기
______비법 6-9 | DiStorm을 이용한 셸코드 디스어셈블링
______비법 6-10 | libemu를 이용한 셸코드 에뮬레이팅
___악의적인 오피스 문서 분석
______비법 6-11 | OfficeMalScanner로 마이크로소프트 파일 분석
______비법 6-12 | DisVew와 MalHost-Setup으로 오피스 셸코드 디버깅
___네트워크 트래픽 분석
______비법 6-13 | Jsunpack으로 패킷 캡처에서 HTTP 파일 추출
______비법 6-14 | Jsunpack을 이용한 URI 관계 그래프 작성
7 악성코드 연구실
___네트워킹
______비법 7-1 | 연구실에서 TCP/IP 연결 라우팅
______비법 7-2 | 네트워크 트래픽 캡처와 분석
______비법 7-3 | INetSim을 이용한 인터넷 시뮬레이션
______비법 7-4 | Burp Suite을 이용한 HTTP/HTTPS 조작
___물리 표적
______비법 7-5 | 조 스테워트의 Truman 사용
______비법 7-6 | Deep Freeze를 이용해 물리 시스템 유지
______비법 7-7 | FOG를 이용한 디스크 복제와 이미징
______비법 7-8 | MySQL 데이터베이스를 이용해 FOG 작업 자동화
8 자동화
___분석 사이클
___파이썬을 이용한 자동화
______비법 8-1 | VirtualBox를 이용한 자동화된 악성코드 분석
______비법 8-2 | VirtualBox 디스크와 메모리 이미지 다루기
______비법 8-3 | VMware를 이용한 자동화된 악성코드 분석
___분석 모듈 추가
______비법 8-4 | 파이썬에서 TShark을 이용해 패킷 캡처
______비법 8-5 | 파이썬에서 INetSim을 이용해 네트워크 로그 수집
______비법 8-6 | Volatility를 이용한 메모리 덤프 분석
______비법 8-7 | 모든 샌드박스 조각을 함께 모으기
___기타 시스템
______비법 8-8 | ZeroWine과 QEMU를 이용한 자동화된 분석
______비법 8-9 | Sandboxie와 Buster를 이용한 자동화된 분석
9 동적 분석
______비법 9-1 | Process Monitor를 이용한 API 호출 로깅
______비법 9-2 | Regshot으로 변화 탐지
______비법 9-3 | 파일 시스템 변화 알림
______비법 9-4 | 레지스트리 변화 알림
______비법 9-5 | 테이블 디핑
______비법 9-6 | HandleDiff를 이용한 코드 인젝션
______비법 9-7 | 윈도우 파일 보호 기능을 해제하는 Bankpatch.C
___API 감시/후킹
______비법 9-8 | 마이크로소프트 Detours로 API 모니터 빌드
______비법 9-9 | API 모니터를 이용한 자식 프로세스 따라가기
______비법 9-10 | 프로세스, 스레드, 이미지 로드 이벤트 캡처
___데이터 보존
______비법 9-11 | 프로세스의 종료 방지
______비법 9-12 | 악성코드의 파일 삭제 차단
______비법 9-13 | 드라이버 로딩 차단
______비법 9-14 | 데이터 보존 모듈 사용
______비법 9-15 | ReactOS로 사용자 정의 커맨드 셸 생성
10 악성코드 포렌식
___슬루스 킷
______비법 10-1 | TSK를 이용한 변경 데이터 조사
______비법 10-2 | TSK를 사용해 은닉 파일과 디렉터리 탐지
______비법 10-3 | 마이크로소프트 오프라인 API를 이용한 은닉 레지스트리 데이터 찾기
___포렌식/사고 대응 수집 기법
______비법 10-4 | Poison Ivy의 잠금 파일 우회
______비법 10-5 | Conficker의 파일 시스템 ACL 제한 우회
______비법 10-6 | GMER를 이용한 rootkits 스캐닝
______비법 10-7 | IE의 DOM을 점검해 HTML 인젝션 공격 탐지
___레지스트리 분석
______비법 10-8 | RegRipper 플러그인을 이용한 레지스트리 포렌식
______비법 10-9 | 가짜 PKI 인증서 설치 탐지
______비법 10-10 | 레지스트리 내 악성코드 데이터 흔적 조사
11 악성코드 디버깅
___디버거를 이용한 작업
______비법 11-1 | 프로세스 열기와 연결
______비법 11-2 | 셸코드 분석용 JIT 디버거 설정
______비법 11-3 | 디버거 GUI에 익숙해지기
______비법 11-4 | 프로세스 메모리와 자원 탐색
______비법 11-5 | 프로그램 실행 제어
______비법 11-6 | 중단점 설정과 중단점 잡기
______비법 11-7 | 조건부 로그 중단점 이용
___Immunity 디버거의 파이썬 API
______비법 11-8 | 파이썬 스크립트와 PyCommands를 이용한 디버깅
______비법 11-9 | 바이너리 파일에서 셸코드 탐지
______비법 11-10 | SILENTBANKER'S API 후킹 조사
___WinAppDbg 파이썬 디버거
______비법 11-11 | WinAppDbg 도구를 이용한 프로세스 메모리 조작
______비법 11-12 | WINAPPDBG를 이용한 파이썬 API 모니터 설계
12 역난독화
___공통 알고리즘 디코딩
______비법 12-1 | 파이썬을 이용한 XOR 알고리즘 리버스 엔지니어링
______비법 12-2 | yaratize를 이용해 XOR로 인코딩된 데이터 탐지
______비법 12-3 | 특수 문자를 이용한 base64 디코딩
___복호화
______비법 12-4 | 캡처된 패킷에서 암호화된 데이터 격리
______비법 12-5 | SnD 리버싱 도구, FindCrypt, Kanal로 암호 검색
______비법 12-6 | Zynamics BinDiff를 이용한 OpenSSL 심볼 포팅
______비법 12-7 | PyCrypto를 이용한 파이썬 데이터 복호화
___악성코드 언패킹
______비법 12-8 | 패킹된 악성코드에서 OEP 찾기
______비법 12-9 | LordPE를 이용한 프로세스 메모리 덤프
______비법 12-10 | ImpREC를 이용한 임포트 테이블 리빌드
___언패킹 리소스
___디버거 스크립트
______비법 12-11 | 도메인 생성 알고리즘 크래킹
______비법 12-12 | 파이썬과 x86emu를 이용한 문자열 디코딩
13 DLL을 이용한 작업
______비법 13-1 | DLL 익스포트 목록화
______비법 13-2 | rundll32.exe를 이용한 DLL 실행
______비법 13-3 | 호스트 프로세스 제한 우회
______비법 13-4 | rundl32ex를 이용한 원격 DLL 익스포트 호출
______비법 13-5 | LOADDLL.EXE를 이용한 DLL 디버깅
______비법 13-6 | DLL 진입점에 중단점 지정
______비법 13-7 | 윈도우 서비스로 DLL 실행
______비법 13-8 | DLL을 독립 실행 파일로 변환
14 커널 디버깅
___원격 커널 디버깅
___로컬 커널 디버깅
___소프트웨어 요구 사항
______비법 14-1 | LiveKd를 이용한 로컬 디버깅
______비법 14-2 | 커널 디버그 부트 스위치 활성화
______비법 14-3 | 게스트 워크스테이션 디버깅(윈도우 환경)
______비법 14-4 | Parallels 게스트 디버깅(맥 OS X 환경)
______비법 14-5 | WINDBG 명령과 제어 개요
______비법 14-6 | 프로세스와 프로세스 컨텍스트 탐색
______비법 14-7 | 커널 메모리 탐색
______비법 14-8 | 드라이버 로드에 중단점 지정
______비법 14-9 | OEP로 드라이버 언패킹
______비법 14-10 | 드라이버 덤프와 리빌드
______비법 14-11 | WinDbg 스크립트를 이용한 루트킷 탐지
______비법 14-12 | IDA Pro를 이용한 커널 디버깅
15 Volatility에 의한 메모리 포렌식
___메모리 수집
______비법 15-1 | MoonSols 윈도우 메모리 툴킷을 이용한 메모리 덤프
______비법 15-2 | F-Response를 이용한 원격, 읽기전용 메모리 수집
______비법 15-3 | 가상 머신 메모리 파일에 접근
______비법 15-4 | Nutshell의 Volatility
______비법 15-5 | 메모리 덤프의 프로세스 조사
______비법 15-6 | psscan을 이용해 DKOM 탐지
______비법 15-7 | csrss.exe의 대체 프로세스 목록 탐색
______비법 15-8 | 프로세스 컨텍스트 속임수 인지
16 메모리 포렌식: 코드 인젝션과 추출
___DLL 조사
______비법 16-1 | 로드된 의심스러운 DLL 찾기
______비법 16-2 | ldr_Modules을 이용해 언링크된 DLL 탐지
___코드 인젝션과 VAD
______비법 16-3 | 가상 주소 설명자 탐색
______비법 16-4 | 페이지 보호 해석
______비법 16-5 | 프로세스 메모리에 있는 증거 찾기
______비법 16-6 | malfind와 YARA를 이용해 인젝션된 코드 확인
___바이너리 재구성
______비법 16-7 | 메모리에서 실행 이미지 리빌드
______비법 16-8 | impscan을 이용해 임포트된 함수를 스캐닝
______비법 16-9 | 의심스러운 커널 모듈 덤프
17 메모리 포렌식: 루트킷
______비법 17-1 | IAT 후킹 탐지
______비법 17-2 | EAT 후킹 탐지
______비법 17-3 | 인라인 API 후킹 탐지
______비법 17-4 | IDT 후킹 탐지
______비법 17-5 | 드라이버 IRP 후킹 탐지
______비법 17-6 | SSDT 후킹 탐지
______비법 17-7 | ssdt_ex를 이용한 대부분의 작업 자동화
______비법 17-8 | 커널 스레드에서 분리된 루트킷 탐지
______비법 17-9 | 시스템 전역 알림 루틴 확인
______비법 17-10 | SVSCAN을 이용해 악성 서비스 프로세스 찾기
______비법 17-11 | mutantscan을 이용한 뮤텍스 객체 스캐닝
18 메모리 포렌식: 네트워크와 레지스트리
______비법 18-1 | 소켓과 연결 객체 조사
______비법 18-2 | Zeus가 남긴 네트워크 데이터 분석
______비법 18-3 | 은폐된 TCP /IP 활동 시도 탐지
______비법 18-4 | 원시 소켓과 무작위 NIC 탐지
___레지스트리 분석
______비법 18-5 | 메모리 레지스트리 도구를 이용한 레지스트리 잔여 데이터 분석
______비법 18-6 | 최근에 쓴 타임스탬프순으로 키 정렬
______비법 18-7 | RegRipper와 함께 Volatility 사용