책 소개
요약
모의 해킹 업무의 전반적인 프로세스 이해와 컨설팅 업무 과정에서 경험한 노하우와 프로젝트 매니저가 갖춰야 할 지식 그리고 백트랙(BackTrack)과 칼리 리눅스(Kali Linux) 라이브 CD 도구 분석 시 손쉬운 접근 방법, 라이브 CD를 이용한 진단 업무의 효율성 강화 방안, 공격자 입장에서의 기술 기법, 관리 실무에서도 효율적 적용이 가능한 대응 방안을 제시하고 있다.
이 책에서 다루는 내용
■ 모의 해킹 업무의 전반적인 프로세스 이해
■ 컨설팅 업무 과정에서 경험한 노하우와 프로젝트 매니저가 갖춰야 할 지식
■ 백트랙과 칼리 리눅스 라이브 CD 도구 분석 시 손쉬운 접근 방법
■ 백트랙과 칼리 리눅스를 이용한 진단 업무의 효율성 강화 방안
■ 공격자 입장에서의 기술 기법, 관리 실무에서도 효율적 적용이 가능한 대응 방안
개정판에서 크게 달라진 점
■ 백트랙을 활용한 모의해킹에서 입문자를 위한 콘텐츠 추가
■ 칼리 리눅스와 백트랙을 병행하길 원하는 독자들을 위한 가이드 추가
■ 칼리 리눅스를 활용하여 모의해킹 심화 진단을 위한 가이드 제시
이 책의 대상 독자
이 책은 모의 해킹 업무에 궁금증을 가진 입문자부터 실무자를 대상으로 한다. 다음과 같은 독자들에게 이 책을 추천한다.
■ 모의 해킹 업무에 대한 프로세스를 이해하고 싶은 독자
■ 모의 해킹 업무를 시작할 때 가이드가 필요한 독자
■ 백트랙 도구에 대해 전반적인 이해를 원하는 독자
■ 후속판인 칼리 리눅스 도구의 변화와 사용법을 이해하기 원하는 독자
■ 실무에서 백트랙을 활용할 수 있는 방법에 궁금증을 가진 독자
이 책의 구성
개정판에서는 백트랙 사용자뿐만 아니라 후속판인 칼리 리눅스 사용자들도 어려움 없이 실습이 가능하게 내용을 보강했다. 내 경험으로는 칼리 리눅스가 후속판으로 나왔더라도 백트랙에서만 제공하는 드라이브 호환성 및 도구를 잘 활용하는 것도 좋다. 저자들 또한 진단 시 두 개의 라이브 시디를 혼용하고 있다.
1장, 모의 해킹의 업무 프로세스 이해: 백트랙 라이브 CD를 활용하기 전에 모의 해킹의 진행 과정과 개요 전반에 대해 소개한다. 취약점을 진단하는 데 도구를 잘 활용하는 것도 좋지만, 모의 해킹 절차를 이해하고 적재적소에 도구를 사용해 업무 효율성을 높이는 것이 더 중요하기 때문이다. 업무 프로세스를 지키지 않고 취약점을 진단할 경우 많은 문제점이 발생할 수도 있으므로 개요를 잘 이해해두는 것은 매우 중요하다. 경험을 바탕으로 쉽고 재미있게 구성했기 때문에 입문자뿐만 아니라 초보 프로젝트 매니저에게 많은 도움이 될 것이다.
2장, 백트랙의 이해: 백트랙 라이브 CD에 대해 알아본다. 입문자를 위한 백트랙의 개념/설치 과정, 그리고 더욱 재미있게 접근할 수 있도록 스마트폰에 백트랙을 설치하는 방법을 설명한다. 백트랙은 가상 이미지로 제공된다. 하지만 이런 설치 과정을 통해 우분투 리눅스에 대한 특성도 조금 이해할 수 있으며, 백트랙이 어떻게 변화하고 있는지 살펴볼 수 있다.
3장부터 9장까지: 백트랙의 라이브 도구를 알아본다. 3장부터 실제 도구 사용법, 옵션, 응용 단계 등을 알아본다. 도구의 사용법에 따라 활용 가치가 높은 도구는 소스코드 분석과 활용법을 추가로 설명했다. 근래 이슈가 되는 부분은 보안 측면에서 많이 다뤘다.
10장, 보고서 작성 단계: 모의 해킹 진단이 완료된 후에 결과 보고서를 작성하는 방법을 다뤘다. 보고서 작성 단계에서도 활용할 수 있는 백트랙 도구 등을 소개한다. 또한 보고서에 포함되어야 할 서비스 진단과 영향도 평가 등에 대한 내용도 다뤘다. 모든 진단 결과는 보고서로 판단을 하기 때문에 마무리가 제일 중요하다.
부록, 모의 해킹과 보안 전문가가 꼭 알아야 할 참고 사항: 저자들이 대외 활동 과정 중에 멘토 프로그램을 진행하면서 얻은 경험을 바탕으로 입문 학생들이 많이 질문하는 내용을 추려 답변을 정리했다. 보안 일일 동향 수집 방법을 익히고 모의 해킹 업무 진로를 고려하는 데 도움이 될 것이다. 또한 모의 해킹 학습을 하면서 궁금한 실무의 범위를 간단히 소개했고, 정보를 획득하는 방법도 수록했다. 백트랙의 후속 버전인 칼리 리눅스의 모든 도구를 참고할 수 있는 사이트 목록도 담았다. 마지막으로 백트랙 안에 포함돼 있는 도구들이 버전업되면서 업데이트할 때 발생하는 설치/설정 과정에서의 문제를 해결할 수 있는 방법을 설명했다.
목차
목차
- 1장 모의 해킹의 업무 프로세스 이해
- 1.1 모의 해킹의 정의
- 1.2 수행 접근 방법
- 1.3 모의 해킹 업무 범위
- 1.4 점검 체크리스트
- 1.5 프로젝트 입찰 단계
- 1.6 범위와 대상 선정 단계
- 1.7 환경 정보 수집 단계
- 1.8 모의 해킹 심화와 보고서 작성 단계
- 1.9 정리
- 2장 백트랙의 이해
- 2.1 백트랙이란?
- 2.2 백트랙 V5의 변화
- 2.3 칼리 리눅스의 등장
- 2.4 백트랙 설치
- 2.4.1 백트랙 한글 언어 설치
- 2.5 칼리 리눅스 설치
- 2.5.1 가상 머신에 설치
- 2.5.2 하드 디스크에 설치
- 2.5.3 윈도우와 듀얼 부팅 모드 설치
- 2.6 스마트폰에 백트랙 설치
- 2.6.1 설치 준비
- 2.6.2 설치
- 2.6.3 백트랙 시작과 종료
- 2.7 점검 대상 환경 구성
- 2.7.1 Metasploitable V2 활용
- 2.7.2 DVL
- 2.7.3 클라우드 테스트 환경 서비스
- 2.7.4 기타 테스트 환경
- 2.8 정리
- 3장 정보 수집 단계
- 3.1 호스트 확인 과정
- 3.1.1 DNS 정보 수집
- 3.1.1.1 dnsdict6: IPv6 정보 확인
- 3.1.1.2 dnsmap: DNS 정보 수집
- 3.1.1.3 dnsrecon: 차별화된 DNS 정보 수집
- 3.1.1.4 fierce: DNS 정찰
- 3.1.1.5 lbd: 네트워크 로드밸런싱 정보 확인
- 3.1.1.6 reverseraider: 하위 도메인 정보 확인
- 3.1.2 실 호스트 확인
- 3.1.2.1 정보 수집 사이트 소개
- 3.1.2.2 traceroute: 네트워크 정보 확인
- 3.1.2.3 0Trace: 네트워크 정보 확인
- 3.1.2.4 hping: 서비스 동작 여부 확인
- 3.1.2.5 protos: 서비스 동작 여부 확인
- 3.1.2.6 netenum: 호스트 정보 확인
- 3.1.1 DNS 정보 수집
- 3.2 네트워크 스캔 과정
- 3.2.1 Netifera: 네트워크/서비스 정보 확인
- 3.2.2 autoscan: 서비스 상세 정보 확인
- 3.2.3 Unicornscan: 네트워크 정보 수집
- 3.2.4 scapy: 네트워크 패킷 조작
- 3.3 정리
- 4장 정보 수집 상세 단계
- 4.1 서비스 정보 수집
- 4.1.1 엔맵: 서비스 취약점 정보 확인
- 4.1.2 엔맵 스크립트 엔진을 활용한 심화 진단
- 4.1.2.1 엔맵 스크립트 엔진
- 4.1.2.2 엔맵 스크립트 엔진 환경
- 4.1.2.3 웹 서비스 내의 PHP 버전 정보 확인
- 4.1.3.4 웹 서비스의 자동 스크린샷 기능을 이용한 업무 효율성 강화
- 4.1.2.5 NSE을 이용한 악성 코드 분석 가능
- 4.1.3 Dnmap: 분산을 이용한 엔맵 수행
- 4.1.4 httpint: 웹 서비스 정보 수집
- 4.1.5 dmitry: 호스트 정보 수집
- 4.2 IDS/IPS 탐지 여부 확인
- 4.2.1 Waffit: 웹 방화벽 방어 여부 확인
- 4.2.2 UA-tester: 웹 서비스 정보 수집
- 4.3 검색 서비스를 이용한 정보 수집
- 4.3.1 GHDB: 구글 검색 도구
- 4.3.2 Metagoofil: 구글 검색을 활용한 문서 수집
- 4.3.3 goofile: 구글 검색을 이용한 문서 수집
- 4.3.4 goohost: 구글 검색을 통한 서비스 정보 수집
- 4.3.5 fimap: 구글 검색을 이용한 정보 수집과 공격
- 4.3.6 구글 검색의 방어
- 4.4 정리
- 5장 취약점 평가 단계
- 5.1 서비스 취약점 수집
- 5.1.1 DirBuster: 디렉터리 구조 파악
- 5.1.2 mantra: 웹 브라우저 플러그인을 이용한 정보 수집
- 5.1.3 Nessus: 서비스 취약점 수집과 평가
- 5.1.4 Nikto: 서비스 취약점 수집과 평가
- 5.2 CMS 서비스 취약점 진단
- 5.2.1 joomscan: 서비스 취약점 정보 수집
- 5.2.2 WPScan: 서비스 취약점 정보 수집
- 5.2.3 워드프레스 보안 설정
- 5.2.3.1 관리자/사용자 패스워드 강화
- 5.2.3.2 권한에 맞는 사용자 역할 지정(권한 지정)
- 5.2.3.3 플러그인 관리
- 5.2.3.4 설정 파일(Config 파일)과 디렉터리 권한 설정
- 5.2.3.5 wp-config.php 파일 내의 Auth Key 강화
- 5.2.3.6 MySQL 데이터베이스 접두사 사용자 설정
- 5.2.3.7 디렉터리 권한 설정
- 5.2.3.8 관리자 디렉터리 권한 설정
- 5.2.3.9 버전 정보 숨기기
- 5.2.3.10 RSS Feeds 파일 버전 정보 숨기기
- 5.2.3.11 Readme 파일 삭제
- 5.2.3.12 스팸 Comment 차단
- 5.2.3.13 파일 변경 모니터링
- 5.2.4 WhatWeb: 서비스 정보 수집
- 5.3 정리
- 6장 취약점 진단 단계
- 6.1 심화 공격 도구
- 6.1.1 메타스플로잇: 진단 프레임워크
- 6.1.1.1 메타스플로잇의 개념
- 6.1.1.2 메타스플로잇 구성 요소
- 6.1.1.3 메타스플로잇에서 서비스 검색 활용
- 6.1.1.3 메타스플로잇을 이용한 취약점 스캔 기법
- 6.1.1.4 메타스플로잇을 이용한 시나리오 공격
- 6.1.1.5 twiki 대상 웹 서비스 공격
- 6.1.1.6 메타스플로잇을 이용한 Tiwiki 웹 서비스 공격
- 6.1.1.7 톰캣 취약점 공격
- 6.1.1.8 메터프리터 기능 활용
- 6.1.1.8 Armitage 도구
- 6.1.2 패스트 트랙: 자동 공격 도구
- 6.1.3 패스트 트랙 GUI: 자동 공격 도구
- 6.1.4 Exploit-DB: 최신 취약점 정보 수집
- 6.1.1 메타스플로잇: 진단 프레임워크
- 6.2 신뢰된 통신 여부 확인
- 6.2.1 SSLScan: 암호화 통신 여부 확인
- 6.2.2 digicert: SSL 인증서 적용 여부 확인
- 6.3 데이터베이스 취약점 진단
- 6.3.1 SQLmap: 데이터베이스 정보 획득
- 6.3.2 sqlsus: 데이터베이스 구조 파악
- 6.4 사회공학적 공격 기법
- 6.4.1 SET: 사회공학 기법
- 6.4.2 BeEF XSS 프레임워크: 사용자 권한 획득
- 6.4.2.1 XSS 취약점
- 6.4.2.2 BeEF의 상세 분석
- 6.4.2.3 XSS 취약점 대응 방안
- 6.5 정리
- 7장 침투 심화 공격 단계
- 7.1 파일 업로드 취약점의 이해
- 7.2 웹 백도어 공격
- 7.2.1 웹셸의 간단 분석
- 7.2.2 weevely로 백도어 제작
- 7.3 웹 백도어 공격의 방어
- 7.3.1 소스코드 레벨의 방어
- 7.3.2 웹셸 탐지 기능 고려
- 7.3.2.1 PHP Shell Detector
- 7.3.2.2 modified를 이용한 모니터링
- 7.4 OS 백도어 공격
- 7.4.1 cymothoa: 백도어 셸코드 삽입 도구
- 7.4.2 Cryptcat: 암호 통신 데이터 전송
- 7.5 정리
- 8장 패스워드 크랙 진단
- 8.1 오프라인 패스워드 공격 도구
- 8.1.1 존더리퍼: 패스워드 크랙
- 8.1.2 hashcat: 암호 복구 도구
- 8.1.2.1 hashcat-gui
- 8.1.3 crunch: 사전 파일 생성
- 8.1.4 cupp: 사전 파일 생성
- 8.1.5 hash-identifier: 알고리즘 종류 식별
- 8.1.6 dictstat: 패스워드 구조 파악
- 8.1.7 ophcrack: 패스워드 크래킹
- 8.2 온라인 패스워드 공격 도구
- 8.2.1 hydra: 로그인 크랙 도구
- 8.2.1.1 Target 탭
- 8.2.1.2 Passwords 탭
- 8.1.1.3 Tuning 탭
- 8.2.1.4 Specific 탭
- 8.2.1.5 Start 탭
- 8.2.2 medusa: 로그인 크랙 도구
- 8.2.3 findmyhash: 온라인 데이터베이스 활용 크랙
- 8.2.1 hydra: 로그인 크랙 도구
- 8.3 네트워크 스니퍼 정보 획득
- 8.3.1 ettercap: 네트워크 스니핑 환경 만들기
- 8.3.1.1 스니핑
- 8.3.1.2 DNS 스푸핑
- 8.3.2 SSLStrip: SSL 통신 우회 공격
- 8.3.3 ferret: 네트워크 스니핑 공격
- 8.3.4 hamster: 네트워크 스니핑을 통한 정보 수집
- 8.3.5 TShark: 네트워크 패킷 분석
- 8.3.1 ettercap: 네트워크 스니핑 환경 만들기
- 8.4 정리
- 9장 무선 네트워크 진단
- 9.1 무선 네트워크 진단 이해
- 9.2 크래킹 기법
- 9.2.1 WEP 키 크래킹
- 9.2.1.1 WEP 암호화와 복호화 방식
- 9.2.1.2 WEP 취약점
- 9.2.2 WEP 키 크래킹 보안 대책
- 9.2.2.1 사용자 제어 정책
- 9.2.2.2 AP 제어 정책
- 9.2.2.3 IDPS 제어
- 9.2.3 WPA 키 크래킹
- 9.2.3.1 WPA란?
- 9.2.3.2 WPA 취약점
- 9.2.4 WPA 키 크래킹 보안 대책
- 9.2.4.1 사용자 제어 정책
- 9.2.4.2 AP 제어 정책
- 9.2.4.3 패스워드 정책
- 9.2.1 WEP 키 크래킹
- 9.3 세션 사이드재킹
- 9.4 기타 도구의 활용
- 9.4.1 GERIX-GUI: Aircrack-ng GUI 버전
- 9.4.2 reaver: 무선 크랙 도구
- 9.4.3 easy-creds: 종합 자동 도구
- 9.5 무선 AP 펌웨어/애플리케이션 취약점의 증가
- 9.6 정리
- 10장 보고서 작성 단계
- 10.1 RecordMyDesktop: 동영상 녹화
- 10.2 Magictree: 진단 결과 관리
- 10.3 보고서 작성 틀 잡기
- 10.4 서비스 영향도 평가
- 10.5 정리
- 부록
- 모의 해킹과 보안 전문가가 꼭 알아야 할 참고 사항
- 모의 해킹과 보안 전문가가 꼭 알아야 할 참고 사항
- A. 모의 해킹 기술 범위의 정의
- A.1 웹 애플리케이션 취약점 분석
- A.2 소스코드 진단(시큐어 코딩 진단)
- A.3 역공학 분석
- B. 발표 능력 강화
- C. 보안 기술 이슈/동향 수집
- D. 한국인터넷진흥원 활용
- E. 칼리 리눅스의 도구 관련 참고 URL 목록
- F. 백트랙에 메타스플로잇을 업데이트할 때의 문제 해결
- G. SET 업데이트 문제 해결
도서 오류 신고
정오표
정오표
2014.12.10 1쇄 수정사항
p135. 단어(툴 명) 일괄 변경
dnsdict6 -> dnsmap
2015-03-10
p48. 8행 내용 추가
“# cd /usr/local/lynis"
[p.74 : 그림 2-5 아래 1행]
네서스 디바이스에 최적화된
->
넥서스 디바이스에 최적화된
p79. 2행
/etc/apt/sources.ilst -> /etc/apt/sources.list