책 소개
요약
전세계적으로 가장 인기 있는 네트워크 보안 스캐너인 엔맵(Nmap)의 최신 버전을 소개하는 입문서다. 엔맵은 '올해의 보안도구'로 여러 차례 선정된 바 있으며 심지어 <매트릭스>, <본>, <다이하드>, <엘리시움>, <지.아이.조2> 같은 여러 영화에 등장하기도 했다. 이 책은 엔맵의 방대한 기능을 시스템 관리자와 침투 테스터를 위한 짧고 명료한 100가지 실전 예제를 통해 살펴본다. 엔맵 공식 서적과 달리 엔맵 스크립팅 엔진(NSE)로 할 수 있는 작업 위주로 설명하며, 엔맵의 주요 핵심 기능도 빠짐 없이 다룬다.
이 책에서 다루는 내용
■ 포트 스캔과 호스트 발견을 위한 기본적인 스캔 기법 숙달
■ 독자 자신의 호스트 모니터링 시스템 구축
■ 웹 애플리케이션, 메일 서버, 데이터베이스 보안 진단 실행
■ 일반적인 스캔에 제외된 특수 호스트 정보 수집
■ 스캔 성능 최적화 튜닝
■ 스캔 결과 리포트 생성
■ 복수 클라이언트 분산 스캔 실행
■ 사용자 NSE 스크립트 작성
■ 새로운 엔맵 스크립팅 엔진 이해
이 책의 대상 독자
이 책은 엔맵과 엔맵 스크립팅 엔진을 마스터하고 싶은 보안 컨설턴트와 관리자, 매니아를 대상으로 한다. 이 책은 원격지에 있는 네트워크와 장치를 대상으로 무차별 대입 패스워드 진단을 하고, 그 밖의 다양한 침입 테스트를 실행하는 법을 설명한다. 이와 같은 기술은 독자가 소속된 곳에서 서비스 계약 위반, 직무상 과오 또는 불법적인 일로까지 간주할 수도 있다. 이 책의 목적은 보안 위협의 본질을 이해하고 위협에 대비해 시스템을 테스트하고 보호하기 위한 것이다. 그러므로 이 책의 내용을 따라 해보기 전에 부디 법과 윤리의 편에서 선(善)하게 능력을 사용하길 바란다.
이 책의 구성
1장, ‘엔맵의 기초’에서는 엔맵의 가장 흔한 작업을 다룬다. 엔디프(Ndiff), 엔핑(Nping), 젠맵(Zenmap)도 간략히 소개한다.
2장, ‘네트워크 검색’에서는 엔맵의 호스트 발견 기법과 유용한 엔맵 스크립팅 엔진의 트릭을 다룬다.
3장, ‘추가 호스트 정보 수집’에서는 엔맵과 NSE를 사용한 흥미로운 정보 수집 작업을 설명한다.
4장, ‘웹서버 진단’에서는 웹보안 진단에 관련된 작업들을 소개한다.
5장, ‘데이터베이스 진단’에서는 몽고DB와 MySQL, MS SQL, 카우치DB 데이터베이스의 보안 진단 작업을 다룬다.
6장, ‘메일서버 진단’에서는 IMAP과 POP3, SMTP 서버 작업을 설명한다.
7장, ‘대규모 네트워크 스캔’에서는 큰 규모의 네트워크 스캔 시 유용한 스캔 최적화에서 분산 스캔에 이르는 다양한 작업을 소개한다.
8장, ‘스캔 리포트 생성’에서는 엔맵의 출력 옵션을 설명한다.
9장, ‘NSE 스크립트 작성’에서는 NSE 개발의 기초를 다룬다. 소켓과 출력, 라이브러리, 병렬성에 대한 구체적인 예제를 포함한다.
부록, ‘참고 문헌’은 이 책 전반에 걸쳐 인용된 참고 문헌과 공식 문서를 나열한다.
목차
목차
- 1장 엔맵의 기초
- 개관
- 공식 소스 코드 저장소에서 엔맵 다운로드하기
- 엔맵 소스 코드 컴파일
- 원격 호스트의 개방 포트를 나열
- 원격 호스트 서비스를 핑거프린팅
- 네트워크상의 가동 호스트 탐색
- 특정 범위에 속한 포트를 스캔
- NSE 스크립트 실행
- 특정 네트워크 인터페이스로 하는 스캔
- 엔디프로 하는 스캔 결과 비교
- 젠맵으로 하는 여러 스캐닝 프로파일 관리
- 엔핑으로 하는 NAT 탐지
- 엔맵과 엔디프로 하는 원격 서버 모니터링
- 2장 네트워크 검색
- 개관
- TCP SYN 핑 스캔으로 하는 호스트 발견
- TCP ACK 핑 스캔으로 하는 호스트 발견
- UDP 핑 스캔으로 하는 호스트 발견
- ICMP 핑 스캔으로 하는 호스트 발견
- IP 프로토콜 핑 스캔으로 하는 호스트 발견
- ARP 핑 스캔으로 하는 호스트 발견
- 브로드캐스트 핑으로 하는 호스트 발견
- 랜덤 데이터로 트래픽 감추기
- 강제 DNS 해석
- 스캔 시 호스트 제외
- IPv6 주소 스캔
- 브로드캐스트 스크립트로 하는 네트워크 정보 수집
- 3장 추가 호스트 정보 수집
- 개관
- IP 주소의 지리적 위치 확인
- WHOIS 레코드에서 정보 얻기
- 호스트의 악성 행위 여부 확인
- 유효한 이메일 계정 수집
- 동일 IP 주소를 가리키는 호스트 이름 발견
- DNS 레코드 무차별 대입 공격
- 호스트 운영체제 핑거프린팅
- UDP 서비스 발견
- 원격 호스트의 프로토콜을 나열
- TCP ACK 스캔으로 상태 보존형 방화벽 발견
- 알려진 보안 취약점을 서비스와 매칭
- 포트 스캔의 소스 IP 속이기
- 4장 웹 서버 진단
- 개관
- 지원 HTTP 메소드 나열
- HTTP 프록시 공개 여부 확인
- 다양한 웹 서버에서 흥미로운 파일 및 디렉터리 발견
- HTTP 인증 무차별 대입 공격
- mod_userdir를 이용한 사용자 계정 정보 수집
- 웹 애플리케이션의 기본 크리덴셜 테스트
- 워드프레스 무차별 대입 패스워드 진단
- 줌라 무차별 대입 패스워드 진단
- 웹 애플리케이션 방화벽 탐지
- 잠재적인 XST 취약점 탐지
- 웹 애플리케이션의 크로스 사이트 스크립팅 취약점 탐지
- 웹 애플리케이션의 SQL 인젝션 취약점 발견
- 슬로로리스 서비스 거부 공격에 취약한 웹 서버 탐지
- 5장 데이터베이스 진단
- 개관
- MySQL 데이터베이스 나열
- MySQL 사용자 나열
- MySQL 변수 나열
- MySQL 서버의 공백 패스워드 루트 계정 발견
- MySQL 패스워드 무차별 대입 공격
- MySQL 서버의 안전하지 않은 설정 탐지
- 오라클 패스워드 무차별 대입 공격
- 오라클 SID 무차별 대입 공격
- MS SQL 서버 정보 수집
- MS SQL 패스워드 무차별 대입 공격
- MS SQL 서버의 패스워드 해시 덤프
- MS SQL 서버의 커맨드 셸에서 명령 실행
- MySQL 서버의 공백 패스워드 sysadmin 계정 발견
- 몽고DB 데이터베이스 나열
- 몽고DB 서버 정보 수집
- 카우치DB 데이터베이스 나열
- 카우치DB 데이터베이스 통계 수집
- 6장 메일 서버 진단
- 개관
- 오픈 릴레이 탐지
- SMTP 패스워드 무차별 대입 공격
- SMTP 서버 사용자 나열
- SMTP 서버의 백도어 탐지
- IMAP 패스워드 무차별 대입 공격
- IMAP 메일 서버 기능 수집
- POP3 패스워드 무차별 대입 공격
- POP3 메일 서버 기능 수집
- 취약한 엑심 SMTP 서버 버전 4.70~4.75 탐지
- 7장 대규모 네트워크 스캔
- 개관
- IP 주소 범위 스캔
- 텍스트 파일에서 대상 읽기
- 임의의 대상 스캔
- 스캔 속도를 위해 테스트 건너뛰기
- 적절한 타이밍 템플릿 선택
- 타이밍 파라미터 조절
- 성능 파라미터 조절
- 엔맵 스캔 디버깅
- 웹 서버의 시그니처 수집
- 디엔맵으로 하는 분산 클라이언트 스캔
- 8장 스캔 리포트 생성
- 개관
- 스캔 결과를 일반 포맷으로 저장
- XML 포맷으로 스캔 결과 저장
- SQLite 데이터베이스에 스캔 결과 저장
- grepable 포맷으로 스캔 결과 저장
- 젠맵으로 네트워크 토폴로지 그래프를 생성
- HTML 스캔 리포트 생성
- 스캔 중 실행한 취약점 확인 보고
- 9장 사용자 NSE 스크립트 작성
- 개관
- 취약한 트렌드넷 웹캠 확인을 위한 HTTP 요청 형성
- NSE 소켓으로 UDP 페이로드 전송
- 경로 탐색 취약점 공격
- 무차별 대입 스크립트 작성
- 웹 탐색 라이브러리 사용
- 취약점을 올바르게 보고
- 사용자 NSE 라이브러리 작성
- NSE 스레드, 조건 변수, 뮤텍스 사용
- 부록 참고문헌