목차
지은이 소개 ... 4
지은이의 말 ... 6
들어가며 ... 21
1장 모의 해킹의 업무 프로세스 이해 ... 25
   1.1 모의 해킹의 정의 ... 25
   1.2 수행 접근 방법 ... 26
   1.3 모의 해킹 업무 범위 ... 29
   1.4 점검 체크리스트 ... 42
   1.5 프로젝트 입찰 단계 ... 44
   1.6 범위와 대상 선정 단계 ... 47
   1.7 환경 정보 수집 단계 ... 50
   1.8 모의 해킹 심화와 보고서 작성 단계 ... 51
   1.9 정리 ... 53
2장 백트랙의 이해 ... 55
   2.1 백트랙이란? ... 55
   2.2 백트랙 V5의 변화 ... 56
   2.3 칼리 리눅스의 등장 ... 57
   2.4 백트랙 설치 ... 64
   2.5 한글 언어 설치 ... 67
   2.6 스마트폰에 백트랙 설치 ... 73
      2.6.1 설치 준비 ... 73
      2.6.2 설치 ... 75
      2.6.3 백트랙 시작과 종료 ... 78
   2.7 점검 대상 환경 구성 ... 82
      2.7.1 Metasploitable 활용 ... 82
      2.7.2 DVL ... 84
      2.7.3 클라우드 테스트 환경 서비스 ... 85
      2.7.4 기타 테스트 환경 ... 86
   2.8 정리 ... 87
3장 정보 수집 단계 ... 89
   3.1 호스트 확인 과정 ... 89
      3.1.1 DNS 정보 수집 ... 90
        3.1.1.1 dnsdict6 : IPv6 정보 확인 ... 91
        3.1.1.2 dnsmap : DNS 정보 수집 ... 93
        3.1.1.3 dnsrecon : 차별화된 DNS 정보 수집 ... 95
        3.1.1.4 fierce : DNS 정찰 ... 98
        3.1.1.5 lbd : 네트워크 로드밸런싱 정보 확인 ... 101
        3.1.1.6 reverseraider : 하위 도메인 정보 확인 ... 103
      3.1.2 실 호스트 확인 ... 104
        3.1.2.1 traceroute : 네트워크 정보 확인 ... 105
        3.1.2.2 OTrace : 네트워크 정보 확인 ... 107
        3.1.2.3 hping : 서비스 동작 여부 확인 ... 109
        3.1.2.4 protos : 서비스 동작 여부 확인 ... 115
        3.1.2.5 netenum : 호스트 정보 확인 ... 117
   3.2 네트워크 스캔 과정 ... 120
      3.2.1 Netifera : 네트워크/서비스 정보 확인 ... 120
      3.2.2 autoscan : 서비스 상세 정보 확인 ... 126
      3.2.3 Unicornscan : 네트워크 정보 수집 ... 131
      3.2.4 scapy : 네트워크 패킷 조작 ... 135
   3.3 정리 ... 143
4장 정보 수집 상세 단계 ... 145
   4.1 서비스 정보 수집 ... 145
      4.1.1 엔맵 : 서비스 취약점 정보 확인 ... 145
        4.1.1.1 엔맵 NSE ... 151
        4.1.1.2 엔맵 NSE : 업무 효율성 강화 ... 157
        4.1.1.3 NSE을 이용한 악성코드 분석 가능 ... 162
      4.1.2 httpint : 웹 서비스 정보 수집 ... 166
      4.1.3 dmitry : 호스트 정보 수집 ... 170
   4.2 IDS/IPS 탐지 여부 확인 ... 173
      4.2.1 Waffit : 웹 방화벽 방어 여부 확인 ... 173
      4.2.2 ua-tester : 웹 서비스 정보 수집 ... 175
   4.3 검색 서비스를 이용한 정보 수집 ... 179
      4.3.1 GHDB : 구글 검색 도구 ... 179
      4.3.2 Metagoofil : 구글 검색을 활용한 문서 수집 ... 183
      4.3.3 goofile : 구글 검색을 이용한 문서 수집 ... 199
      4.3.4 goohost : 구글 검색을 통한 서비스 정보 수집 ... 201
      4.3.5 fimap : 구글 검색을 이용한 정보 수집과 공격 ... 203
      4.3.6 구글 검색의 방어 ... 207
   4.4 정리 ... 208
5장 취약점 평가 단계 ... 209
   5.1 서비스 취약점 수집 ... 209
      5.1.1 dirbuster : 디렉터리 구조 파악 ... 210
      5.1.2 mantra : 웹 브라우저 플러그인을 이용한 정보 수집 ... 215
      5.1.3 Nessus : 서비스 취약점 수집과 평가 ... 220
      5.1.4 Nikto : 서비스 취약점 수집과 평가 ... 233
   5.2 CMS 서비스 취약점 진단 ... 238
      5.2.1 joomscan : 서비스 취약점 정보 수집 ... 238
      5.2.2 WPScan : 서비스 취약점 정보 수집 ... 241
      5.2.3 워드프로세스 보안설정 ... 245
        5.2.3.1 관리자/사용자 패스워드 강화 ... 246
        5.2.3.2 권한에 맞는 사용자 역할 지정(권한 지정) ... 252
        5.2.3.3 플러그인 관리 ... 255
        5.2.3.4 설정 파일(Config 파일)과 디렉터리 권한 설정 ... 260
        5.2.3.5 wp-config.php 파일 내의 Auth Key 강화 ... 262
        5.2.3.6 MySQL 데이터베이스 접두사 사용자 설정 ... 262
        5.2.3.7 디렉터리 권한 설정 ... 263
        5.2.3.8 관리자 디렉터리 권한 설정 ... 264
        5.2.3.9 버전 정보 숨기기 ... 265
        5.2.3.10 RSS Feeds 파일 버전 정보 숨기기 ... 266
        5.2.3.11 Readme 파일 삭제 ... 267
        5.2.3.12 스팸 Comment 차단 ... 268
        5.2.3.13 파일 변경 모니터링 ... 271
      5.2.4 WhatWeb : 서비스 정보 수집 ... 273
   5.3 정리 ... 277
6장 취약점 진단 단계 ... 279
   6.1 심화 공격 도구 ... 279
      6.1.1 메타스플로잇 : 진단 프레임워크 ... 279
        6.1.1.1 메타스플로잇의 개념 ... 280
        6.1.1.2 메타스플로잇 구성 요소 ... 281
        6.1.1.3 메터프리터 기능 ... 284
        6.1.1.4 메타스플로잇을 이용한 시나리오 공격 ... 302
        6.1.1.5 twiki 대상 웹 서비스 공격 ... 307
        6.1.1.6 메타스플로잇을 이용한 Tiwiki 서비스 공격 ... 312
        6.1.1.7 톰캣 취약점 공격 ... 313
        6.1.1.8 Armitage 도구 ... 319
      6.1.2 패스트 트랙 : 자동 공격 도구 ... 327
      6.1.3 패스트 트랙 GUI : 자동 공격 도구 ... 335
      6.1.4 Exploit-DB : 최신 취약점 정보 수집 ... 336
   6.2 신뢰된 통신 여부 확인 ... 337
      6.2.1 SSLScan : 암호화 통신 여부 확인 ... 337
      6.2.2 digicert : SSL 인증서 적용 여부 확인 ... 340
   6.3 데이터베이스 취약점 진단 ... 341
      6.3.1 SQLmap : 데이터베이스 정보 획득 ... 341
      6.3.2 sqlsus : 데이터베이스 구조 파악 ... 363
   6.4 사회공학적 공격 기법 ... 366
      6.4.1 SET : 사회공학 기법 ... 368
      6.4.2 BeFF XSS 프레임워크 : 사용자 권한 획득 ... 381
        6.4.2.1 XSS 취약점 ... 381
        6.4.2.2 BeFF의 상세 분석 ... 382
        6.4.2.3 XSS 취약점 대응 방안 ... 392
   6.5 정리 ... 394
7장 침투 심화 공격 단계 ... 395
   7.1 파일 업로드 취약점의 이해 ... 395
   7.2 웹 백도어 공격 ... 397
      7.2.1 웹셸의 간단 분석 ... 398
      7.2.2 weevely로 백도어 제작 ... 400
   7.3 웹 백도어 공격의 방어 ... 403
      7.3.1 소스코드 레벨의 방어 ... 404
      7.3.2 웹셸 탐지 기능 고려 ... 405
        7.3.2.1 PHP Shell Detector ... 405
        7.3.2.2 modified를 이용한 모니터링 ... 409
   7.4 OS 백도어 공격 ... 412
      7.4.1 cymothoa : 백도어 셸코드 삽입 도구 ... 412
      7.4.2 Cryptcat : 암호 통신 데이터 전송 ... 416
   7.5 정리 ... 422
8장 패스워드 크랙 진단 ... 423
   8.1 오프라인 패스워드 공격 도구 ... 423
      8.1.1 존더리퍼 : 패스워드 크랙 ... 423
      8.1.2 hashcat : 암호 복구 도구 ... 426
        8.1.2.1 hashcat-gui ... 430
      8.1.3 crunch : 사전 파일 생성 ... 434
      8.1.4 cupp : 사전 파일 생성 ... 436
      8.1.5 hash-identifier : 알고리즘 종류 식별 ... 438
      8.1.6 dictstat : 패스워드 구조 파악 ... 441
      8.1.7 ophcrack : 패스워드 크래킹 ... 447
   8.2 온라인 패스워드 공격 도구 ... 452
      8.2.1 hydra : 로그인 크랙 도구 ... 453
        8.2.1.1 Target 탭 ... 456
        8.2.1.2 Passwords 탭 ... 457
        8.2.1.3 Tuning 탭 ... 458
        8.2.1.4 Specific 탭 ... 458
        8.2.1.5 Start 탭 ... 459
      8.2.2 medusa : 로그인 크랙 도구 ... 460
      8.2.3 findmyhash : 온라인 데이터베이스 활용 크랙 ... 463
   8.3 네트워크 스니퍼 정보 획득 ... 467
      8.3.1 ettercap : 네트워크 스니핑 환경 만들기 ... 467
        8.3.1.1 스니핑 ... 468
        8.3.1.2 DNS 스푸핑 ... 470
      8.3.2 SSLStrip : SSL 통신 우회 공격 ... 476
      8.3.3 ferret : 네트워크 스니핑 공격 ... 480
      8.3.4 hamster : 네트워크 스니핑을 통한 정보 수집 ... 484
      8.3.5 TShark : 네트워크 패킷 분석 ... 488
   8.4 정리 ... 503
9장 무선 네트워크 진단 ... 505
   9.1 무선 네트워크 진단 이해 ... 506
   9.2 크래킹 기법 ... 507
      9.2.1 WEP 키 크래킹 ... 509
        9.2.1.1 WEP 암호화와 복호화 방식 ... 509
        9.2.1.2 WEP 취약점 ... 510
      9.2.2 WEP 키 크래킹 보안 대책 ... 515
        9.2.2.1 사용자 제어 정책 ... 515
        9.2.2.2 AP 제어 정책 ... 515
        9.2.2.3 IDPS 제어 ... 516
      9.2.3 WPA 키 크래킹 ... 516
        9.2.3.1 WPA란? ... 516
        9.2.3.2 WPA 취약점 ... 517
      9.2.3 WPA 키 크래킹 보안 대책 ... 521
        9.2.3.1 사용자 제어 정책 ... 521
        9.2.3.2 AP 제어 정책 ... 521
        9.2.3.3 패스워드 정책 ... 522
   9.3 세션 사이드재킹 ... 522
   9.4 기타 도구의 활용 ... 529
      9.4.1 GERIX-GUI : Aircrack-ng GUI 버전 ... 529
      9.4.2 reaver : 무선 크랙 도구 ... 536
      9.4.3 easy-creds : 종합 자동 도구 ... 538
   9.5 무선 AP 펌웨어/애플리케이션 취약점의 증가 ... 550
   9.6 정리 ... 550
10장 보고서 작성 단계 ... 553
   10.1 RecordMyDesktop : 동영상 녹화 ... 553
   10.2 Magictree : 진단 결과 관리 ... 560
   10.3 보고서 작성 틀 잡기 ... 567
   10.4 서비스 영향도 평가 ... 572
   10.5 정리 ... 575
부록 : 모의 해킹과 보안 전문가가 꼭 알아야 할 참고 사항 ... 577
   A. 모의 해킹 기술 범위의 정의 ... 577
      A.1 웹 애플리케이션 취약점 분석 ... 577
      A.2 소스코드 진단(시큐어 코딩 진단) ... 578
      A.3 역공학 분석 ... 581
   B. 발표 능력 강화 ... 582
   C. 보안 기술 이슈/동향 수집 ... 583
   D. 한국인터넷진흥원 활용 ... 591
   E. 칼리 리눅스의 도구 관련 참고 URL 목록 ... 594
기여해주신 분들 ... 601
찾아보기 ... 605
닫기