칼리 리눅스를 활용한 모의 침투 테스트와 보안 진단
- 원서명Kali Linux: Assuring Security By Penetration Testing (ISBN 9781849519489)
- 지은이리 알렌(Lee Allen), 테디 헤리얀토(Tedi Heriyanto), 샤킬 알리(Shakeel Ali)
- 옮긴이김경곤, 이철원, 이규하
- ISBN : 9788960777187
- 40,000원
- 2015년 05월 29일 펴냄 (절판)
- 페이퍼백 | 528쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 해킹과 보안
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
침투 테스트는 기업 및 정부 기관의 정보 시스템 상에 있는 중요한 정보가 악의적인 외부 해커 또는 내부 사용자에 의해 유출되지 않도록 사전에 해커가 사용하는 기술을 이용해서 진단하는 방법이다. 침투 테스트를 위해서는 다양한 절차와 도구가 필요하다. 이 책은 칼리 리눅스(Kali Linux)라는 매우 유명하고 유용한 오픈 소스 운영체제를 활용하여 침투 테스트를 하는 과정을 소개한다. 독자들은 이 책을 통해 침투 테스트에 대한 전체적인 흐름을 이해할 수 있으며, 칼리 리눅스를 활용하여 좀 더 효과적으로 침투 테스트를 하는 방법을 배울 수 있을 것이다.
이 책에서 다루는 내용
■ 칼리 리눅스 환경의 핵심 시스템 컴포넌트 설치와 설정, 실행, 업데이트 방법
■ 공식적인 칼리 리눅스 테스트 방법론 수행
■ 정의한 테스트 요청, 제약사항, 비즈니스 목적, 테스트 계획을 위한 일정과 대상 범위 지정
■ 테스팅 방법에 따라 세부 범주로 구분된, 칼리 리눅스에서 제공하는 수많은 보안 도구 활용법
■ 조사, 발견, 목록화, 취약점 매핑, 소셜 엔지니어링, 익스플로잇, 권한 상승, 평가 목적을 위한 대상에 대한 접근 유지 등과 같은 다양한 방법과 절차 연습
■ 공식적인 보고 구조에 따라 해당 관계자에게, 검증된 테스트 결과를 문서화하고 보고하며 발표하기
이 책의 대상 독자
정보보안 요소를 잘 파악하고 있으며 유닉스/리눅스 운영체제에 대한 기초 지식을 보유한 IT 보안 전문가로서, 칼리 리눅스를 이용해 침투 테스트를 해보고 싶은 사람들을 위한 책이다.
이 책의 구성
1장, ‘칼리 리눅스 시작하기’에서는 모의침투 테스트에 도움이 될 수 있도록 개발된 라이브 DVD 리눅스 배포판인 칼리 리눅스를 소개한다. 칼리 리눅스의 간단한 역사와 칼리 리눅스에 포함된 툴의 종류에 대해 배운다. 다음으로 칼리 리눅스를 구하는 방법, 사용법, 환경 구성, 업데이트뿐만 아니라 HTTP, MySQL, SSH 같은 몇 가지 중요한 네트워크 서비스를 설정하는 방법을 배운다. 테스트 환경을 위해 취약한 가상 시스템 이미지를 설치하고 구성하는방법과 칼리 리눅스에 포함된 추가적인 툴 사용법도 배운다.
2장, ‘모의침투 테스트 방법론’에서는 기본적인 개념, 규칙, 실행, 방법, 절차에 대해 다룬다. 잘 알려진 두 가지 유형인 화이트박스와 블랙박스 테스트에 대해 배운다. 취약성 평가와 모의침투 테스트의 차이점 또한 분석한다. 또한 몇 가지 보안 테스트 방법론과 핵심적인 비즈니스 기능, 특징, 이점에 대해서도 배운다. 2장에서 다루는 방법론으로 OSSTMM, ISSAF, OWASP, WASC-TC가 있다. 마지막으로 윤리적 관점에서 모의침투 테스트를 수행하기 위해 10가지 연속적인 단계로 구성된 칼리 리눅스 테스트 절차에 대해 배운다.
3장, ‘타겟 범위 설정’에서는 요구 사항을 정규화하기 위한 가이드로 활용할 수 있는 범위 설정 절차를 다룬다. 범위 설정 과정은 테스트 실행을 위한 실질적인 로드맵을 구성하는 여러 요소를 소개하고 설명한다. 이 과정의 주요 핵심 요소로는 고객 요구 사항 수집, 테스트 계획 준비, 테스트 경계 정의, 비즈니스 목표 정의, 프로젝트 및 스케줄 관리가 있다. 또한 타겟 환경에 대한 정보를 수집하고 관리하는 방법도 배운다.
4장, ‘정보 수집’에서는 정보 수집 절차를 소개한다. 타겟 환경에 대한 정보를 수집하는 방법으로 공개된 자원을 활용하는 방법을 배운다. 다음으로 DNS 정보를 분석하고 네트워크 라우팅 정보를 수집하는 방법도 배운다. 마지막으로 타겟 도메인, 이메일 주소, 문서 메타데이터를 수집하기 위해 검색엔진을 활용하는 방법도 배운다.
5장, ‘타겟 발견’에서는 타겟 발견 절차를 소개한다. 타겟 발견 절차의 목적과 타겟 시스템을 식별하는 데 사용할 수 있는 툴들에 대해 배운다. 마지막 부분에서는 타겟 시스템의 OS 핑거프린팅에 사용할 수 있는 툴에 대해서도 배운다.
6장, ‘타겟 탐색’에서는 타겟 탐색과 목적에 대해 소개한다. 포트 스캐닝에 대한 간단한 이론과 포트 스캐닝에 사용되는 몇 가지 툴에 대해 배운다. 또한 포트 스캐닝 툴인 엔맵(Nmap)에서 사용할 수 있는 다양한 옵션에 대해서도 배운다. 마지막으로 타겟 시스템의 SMB, SNMP, VPN을 탐색하는 방법에 대해서 배운다.
7장, ‘취약점 매핑’에서는 두 가지 일반적인 취약점 유형인 로컬과 원격 취약점에 대해 다룬다. 통합적인 공통 패턴에 따라 취약점을 분류하는 데 사용되는 산업 표준을 소개하고, 취약점을 분류하는 통찰력을 갖게 될 것이다. 추가적으로 타겟 환경에서 보안 취약점을 찾고 분석하는 데 도움을 줄 수 있는 여러 가지 보안 툴에 대해 배운다. 이러한 툴로는 OpenVAS, Cisco, 퍼징(fuzzing), SMB, SNMP, 웹 애플리케이션 분석 툴 등이 있다.
8장, ‘사회공학’에서는 전문적인 사회공학자가 사람의 심리를 조정해 정보를 누설하게 하거나 특정 행동을 하게 하는 핵심적인 원리와 실행 방법들을 다룬다. 사회공학자의 목표와 비전을 명확하게 나타내주는 기본적인 심리학적인 원리에 대해 배운다. 또한 현실 세계의 사례를 통해 사회공학자의 공격 절차나 방법도 배운다. 마지막으로 타겟의 인적 환경을 평가하는 데 도움이 될 수 있는 사회공학 툴을 이용해 실전 연습을 수행한다.
9장, ‘대상 익스플로잇’에서는 실제 환경에서의 익스플로잇을 수행할 수 있는 툴과 실행 방법을 다룬다. 9장에서는 취약점을 이해하고, 조사하고, 테스트하는 데 매우 중요한 취약점 연구 분야에 어떤 것들이 있는지 설명한다. 추가적으로 공개된 익스플로잇을 이용할 수 있는 저장소와 언제 그것들을 사용할 수 있는지 알아본다. 또한 타겟 평가 분야에서 악명 높은 익스플로잇 툴킷 중 하나를 배운다. 게다가 메타스플로잇 프레임워크를 위한 간단한 익스플로잇 모듈 작성 절차도 알아본다.
10장, ‘권한 상승’에서는 권한 상승, 네트워크 스니핑과 스푸핑에 대해 소개한다. 로컬 익스플로잇을 이용한 권한 상승 방법도 배운다. 또한 오프라인 및 온라인상에서 패스워드를 공격하기 위한 툴에 대해서도 배운다. 네트워크 트래픽을 스푸핑하는 데 사용할 수 있는 툴도 배운다. 마지막으로 네트워크 스니핑 공격에 사용할 수 있는 툴을 알아본다.
11장, ‘접속 유지’에서는 운영체제와 웹 백도어를 소개한다. 이용 가능한 몇 가지 백도어와 사용법에 대해 배운다. 또한 공격자와 타겟 시스템 사이에 우회 통신이 가능한 네트워크 터널링 툴에 대해서도 배운다.
12장, ‘문서화와 보고서’에서는 문서화, 보고서 준비, 발표 등에 대해 다룬다. 이 과정을 통해 체계적이고 구조적이며 일관된 방식의 보고서 작성법을 배운다. 더 나아가 결과 검증, 보고서 유형, 발표 가이드, 사후 절차에 대해서도 배운다.
부록 A, ‘추가적인 툴’에서는 모의침투에 사용할 수 있는 몇 가지 추가적인 툴들을 설명한다.
부록 B, ‘핵심 리소스’에서는 모의침투 분야에서 유용한 다양한 핵심 리소스를 설명한다.
목차
목차
- 1부 실험 준비와 테스팅 절차
- 1 칼리 리눅스 시작하기
- 칼리 리눅스의 간단한 역사
- 칼리 리눅스 툴 카테고리
- 칼리 리눅스 다운로드
- 칼리 리눅스 사용하기
- 라이브 DVD를 사용한 칼리 리눅스 실행
- 하드디스크에 설치
- 물리적 시스템에 칼리 리눅스 설치
- 가상머신에 칼리 리눅스 설치
- USB 디스크에 칼리 리눅스 설치
- 가상머신 구성
- 버추얼박스 게스트 확장
- 네트워크 설정
- 유선 네트워크 연결 설정
- 무선 네트워크 연결 설정
- 네트워크 서비스 시작
- 공유 폴더 구성
- 게스트 컴퓨터 상태 저장
- 가상머신 내보내기
- 칼리 리눅스 업데이트
- 칼리 리눅스의 네트워크 서비스
- HTTP
- MySQL
- SSH
- 취약한 서버 설치
- 추가적인 툴 설치
- 네서스 취약점 스캐너 설치
- 시스코 패스워드 크래커 설치
- 정리
- 2 모의침투 테스트 방법론
- 모의침투 유형
- 블랙박스 테스트
- 화이트박스 테스트
- 취약성 평가와 모의침투 테스트
- 보안 평가 방법론
- 오픈소스 보안 테스트 방법 매뉴얼(OSSTMM)
- 주요한 특징과 이점
- 정보시스템 보안 평가 프레임워크(ISSAF)
- 주요 기능과 이점
- 오픈 웹 애플리케이션 보안 프로젝트(OWASP)
- 주요 특징과 이점
- 웹 애플리케이션 보안 컨소시엄 위협 분류(WASC-TC)
- 주요 기능과 이점
- 오픈소스 보안 테스트 방법 매뉴얼(OSSTMM)
- 모의침투 테스트 실행 표준(PTES)
- 주요 기능과 이점
- 일반적인 모의침투 프레임워크
- 타겟 범위 설정
- 정보 수집
- 타겟 발견
- 타겟 탐색(목록화)
- 취약점 매핑
- 사회공학
- 타겟 익스플로잇
- 권한 상승
- 장악 유지
- 문서화와 보고서
- 윤리적 측면
- 정리
- 모의침투 유형
- 2부 모의침투 테스터 툴
- 3 타겟 범위 설정
- 고객 요구 사항 수집
- 고객 요구 사항 양식 작성
- 산출물 평가 양식
- 테스트 계획 수립
- 테스트 계획 체크리스트
- 테스트 한계 설정
- 비즈니스 목표 정의
- 프로젝트 및 일정 관리
- 정리
- 고객 요구 사항 수집
- 4 정보 수집
- 공개 리소스 사용
- 도메인 등록 정보 검색
- DNS 레코드 분석
- host
- dig
- dnsenum
- dnsdict6
- fierce
- 드미트리
- 말테고
- 네트워크 경로 정보 수집
- tcptraceroute
- tctrace
- 검색엔진 이용
- 더하베스터
- 메타구필
- 정리
- 5 타겟 발견
- 타겟 탐색 소개
- 타겟 시스템 식별
- 핑
- arping
- fping
- hping3
- nping
- alive6
- detect-new-ip6
- passive_discovery6
- nbtscan
- OS 핑거프린팅
- p0f
- 엔맵
- 정리
- 6 타겟 탐색
- 포트 스캐닝 소개
- TCP/IP 프로토콜의 이해
- TCP와 UDP 메시지 포맷의 이해
- 네트워크 스캐너
- 엔맵
- 엔맵 타겟 지정법
- 엔맵 TCP 스캔 옵션
- 엔맵 UDP 스캔 옵션
- 엔맵 포트 지정법
- 엔맵 출력 옵션
- 엔맵 타이밍 옵션
- 엔맵 유용한 옵션
- 엔맵으로 IPv6 시스템 스캔
- 엔맵 스크립트 엔진
- 엔맵의 방화벽/IDS 우회 옵션
- 유니콘스캔
- 젠맵
- 에이맵
- 엔맵
- SMB 탐색
- SNMP 탐색
- onesixtyone
- snmpcheck
- VPN 탐색
- ike-scan
- 정리
- 포트 스캐닝 소개
- 7 취약점 매핑
- 취약점 유형
- 로컬 취약점
- 원격 취약점
- 취약점 분류 체계
- 오픈 취약점 진단 시스템
- OpenVAS 사용 툴
- 시스코 분석
- 시스코 감사 툴
- 시스코 글로벌 익스플로이터
- 퍼즈 분석
- BED
- JBroFuzz
- SMB 분석
- Impacket Samrdump
- SNMP 분석
- SNMP Walk
- 웹 애플리케이션 분석
- 데이터베이스 진단 툴
- DBPwAudit
- SQLMap
- SQL Ninja
- 웹 애플리케이션 진단
- Burp Suite
- Nikto2
- Paros proxy
- W3AF
- WafW00f
- WebScarab
- 데이터베이스 진단 툴
- 정리
- 취약점 유형
- 8 사회공학
- 인간 심리학 모델링
- 공격 절차
- 공격 방법
- 흉내 내기
- 보상 심리
- 영향력 있는 권한 이용
- 결핍 이용
- 사회적 관계 이용
- 사회공학 툴킷(SET)
- 목표 피싱 공격
- 정리
- 9 대상 익스플로잇
- 취약점 연구
- 취약점 및 익스플로잇 기록
- 고급 익스플로잇 툴킷
- MSFConsole
- MSFCLI
- Ninja 101 drills
- 시나리오 1
- 시나리오 2
- 시나리오 3
- 시나리오 4
- 익스플로잇 모듈 작성
- 정리
- 10 권한 상승
- 로컬 익스플로잇을 이용한 권한 상승
- 패스워드 공격 툴
- 오프라인 공격 툴
- hash-identifier
- Hashcat
- RainbowCrack
- samdump2
- John
- Johnny
- Ophcrack
- Crunch
- 온라인 공격 툴
- CeWL
- Hydra
- Medusa
- 오프라인 공격 툴
- 네트워크 스푸핑 툴
- DNSChef
- DNS 프록시 설정
- 도메인 위조
- arpspoof
- Ettercap
- DNSChef
- 네트워크 스니퍼
- dsniff
- tcpdump
- 와이어샤크
- 정리
- 11 접속 유지
- 운영체제 백도어 사용
- Cymothoa
- Intersect
- 미터프리터 백도어
- 터널링 툴 사용
- dns2tcp
- iodine
- DNS 서버 설정
- iodine 서버 실행
- iodine 클라이언트 실행
- ncat
- proxychains
- ptunnel
- socat
- HTTP 헤더 정보 획득
- 파일 전송
- sslh
- stunnel4
- 웹 백도어 생성
- WeBaCoo
- weevely
- PHP 미터프리터
- 정리
- 운영체제 백도어 사용
- 12 문서화와 보고서
- 문서화와 결과 검증
- 보고서의 종류
- 임원 보고서
- 경영진 보고서
- 기술적 보고서
- 네트워크 모의침투 테스트 보고서(샘플)
- 프레젠테이션 준비
- 테스트 사후 절차
- 정리
- 3부 추가 정보
- 부록A 추가적인 툴
- 정보 수집 툴
- 취약점 스캐너
- NeXpose 커뮤니티 에디션
- NeXpose 설치
- NeXpose 커뮤니티 시작
- NeXpose 커뮤니티에 로그인
- NeXpose 커뮤니티 사용
- NeXpose 커뮤니티 에디션
- 웹 애플리케이션 도구
- Golismero
- Arachni
- BlindElephant
- 네트워크 도구
- 넷캣
- 공개 연결
- 서버 배너 수집
- 간단한 채팅 서버
- 파일 전송
- 포트 스캐닝
- 백도어 셸
- 리버스 셸
- 넷캣
- 정리
- 부록B 핵심 리소스
- 취약점 발견과 추적
- 보상 인센티브 프로그램
- 리버스 엔지니어링 리소스
- 침투 테스팅 학습 리소스
- 익스플로잇 개발 학습 리소스
- 취약한 환경에서 침투 테스팅
- 온라인 웹 애플리케이션 챌린지
- 가상 시스템과 ISO 이미지
- 네트워크 포트
- 취약점 발견과 추적
도서 오류 신고
정오표
정오표
[p.201 : 그림]
제어 비트 (4비트)
->
제어 비트 (8비트)