책 소개
요약
파이썬의 간결함과 강력함을 장점으로 활용하여, 정보보호 분야에 파이썬을 사용하는 방법을 다룬 책이다. 파이썬을 활용한 모의해킹의 입문서로, 간단한 네트워크 해킹에서부터 웹 애플리케이션 해킹까지 다양한 분야에서의 파이썬 활용법을 자세하게 설명하며, 별도로 실습해볼 수 있는 예제 코드도 제공한다. 모의해킹 업무를 하면서 파이썬을 활용해보려는 화이트 해커 혹은 해킹을 방지하기 위한 윤리적 해킹 입문자에게 훌륭한 안내서가 될 것이다
이 책에서 다루는 내용
네트워크로 전송되는 이더넷 IP와 TCP 모니터링
다양한 프로그램을 이용한 무선 트래픽 탐색
파이썬 프로그램을 사용한 무선 공격 수행
운영 중인 시스템을 확인하고 원격에서 운영체제와 서비스 판별
파이썬의 클라이언트/서버 아키텍처의 기본에서 바로 침투 테스팅으로 개념 확대
자동화 스크립트를 사용한 웹사이트의 수동적인 정보 수집
XSS, SQL 인젝션, 파라미터 변조 공격 수행
이 책의 대상 독자
기본적인 파이썬 프로그래밍 지식을 갖고 있으며, 파이썬을 이용한 침투 테스팅을 배우기 원하는 보안 분야 연구원 혹은 파이썬 프로그래머에게 이 책은 가장 이상적이다. 만약 모의 해킹 분야에 새롭게 입문했다면, 이 책은 공격 혹은 침입과 같은 외부의 방해를 대비할 수 있도록 시스템의 취약점을 발견하는 데 도움이 될 것이다.
이 책의 구성
1장. 파이썬을 이용한 침투 테스팅 및 네트워킹
다음 장을 학습하기 위한 기본 내용을 알아본다. 이 장에서는 소켓과 소켓의 메소드 관련 내용을 다룬다. 서버 소켓의 메소드는 간단한 서버를 만드는 방법을 정의한다.
2장. 스캐닝 침투 테스팅
네트워크, 호스트, 호스트에서 실행 중인 서비스 정보를 수집하기 위한 네트워크 스캐닝 방법을 다룬다.
3장. 스니핑과 침투 테스팅
적극적 스니핑(active sniffing) 방법을 알려주며, 4계층 스니퍼를 만드는 방법과, 3계층 및 4계층 공격을 수행하는 방법을 다룬다.
4장. 무선 침투 테스팅
무선 프레임과 파이썬 스크립트를 사용하여 무선 프레임으로부터 SSID, BSSID, 채널 번호를 수집하는 방법을 다룬다. 이러한 유형의 공격으로, AP를 대상으로 침투 테스팅 공격을 실시하는 방법도 다룬다.
5장. 웹 응용프로그램과 웹 서버의 풋 프린팅
웹 서버 서명(signature)의 중요성과 함께, 서버 서명을 파악하는 일이 왜 해킹의 첫 번째 순서인지에 대해 설명한다.
6장. 클라이언트 측 공격과 DDoS 공격
클라이언트 측 검증과 클라이언트 측 검증을 우회하는 방법을 설명하며, 4가지 유형의 DDoS 공격에 대해 다룬다.
7장. SQLI와 XSS 침투 테스팅
두 가지 중요한 웹 공격인 SQL 인젝션과 XSS를 다룬다. SQL 인젝션에서 파이썬 스크립트를 사용하여 관리자 로그인 페이지를 찾는 방법을 배워본다.
목차
목차
- 1 파이썬을 이용한 침투 테스팅 및 네트워킹
- 침투 테스팅의 범위에 대한 소개
- 침투 테스팅의 필요성
- 테스트를 실시할 구성 요소
- 좋은 침투 테스터의 자질
- 침투 테스터 범위의 정의
- 침투 테스트에 대한 접근
- 파이썬 스크립팅 소개
- 필요한 테스트와 도구 이해
- 파이썬과 함께 공통 테스트 플랫폼 배우기
- 네트워크 소켓
- 서버 소켓 메소드
- 클라이언트 소켓 메소드
- 일반적인 소켓 메소드
- 실습으로 이동
- 소켓 예외
- 유용한 소켓 메소드
- 정리
- 2 스캐닝 침투 테스팅
- 네트워크에서 운영 중인 시스템을 확인하는 방법과 운영 중인 시스템의 개념
- 핑 스윕
- TCP 스캔 개념과 파이썬 스크립트를 이용한 구현
- 효율적인 IP 스캐너를 만드는 방법
- 어떤 서비스가 목표 기기에서 동작하고 있을까?
- 포트 스캐너의 개념
- 효율적인 포트 스캐너를 만드는 방법
- 정리
- 3 스니핑과 침투 테스팅
- 네트워크 스니퍼의 소개
- 수동적 스니핑
- 적극적 스니핑
- 파이썬을 이용한 네트워크 스니퍼의 구현
- 포맷 문자
- 패킷 제작
- ARP 스푸핑의 소개와 파이썬을 사용한 구현
- ARP 요청
- ARP 응답
- ARP 캐시
- 직접 제작한 패킷과 인젝션을 사용한 보안 시스템 테스트
- 네트워크 분리
- 하프-오픈 스캔
- FIN 스캔
- ACK 플래그 스캐닝
- 죽음의 핑
- 정리
- 4 무선 침투 테스팅
- 무선 SSID 발견과 파이썬으로 무선 트래픽 분석
- AP의 클라이언트 탐지
- 무선 공격
- 인증 해지 공격
- MAC 플러딩 공격
- 스위치가 CAM 테이블을 사용하는 방법
- MAC 플러딩 논리
- 정리
- 5 웹 응용프로그램과 웹 서버의 풋 프린팅
- 웹 서버 풋 프린팅의 개념
- 정보 수집의 소개
- HTTP 헤더 확인
- BeautifulSoup의 파서를 사용한 smartwhois 웹사이트 정보 수집
- 웹사이트 배너 그래빙
- 웹 서버 설정 강화
- 정리
- 정리
- 6 클라이언트 측 공격과 DDoS 공격
- 클라이언트측 검증 소개
- 파이썬을 사용한클라이언측파라미터 변조
- 비즈니스에서 파라미터 조작의 영향
- DoS와 DDoS 소개
- 하나의 IP, 하나의 포트
- 하나의 IP와 다수의 포트
- 다수의 IP와 다수의 포트
- DDoS 탐지
- 정리
- 7 SQLI와 XSS 침투 테스팅
- SQL 인젝션 공격의 소개
- SQL 인젝션 공격의 종류
- 간단한 SQL 인젝션
- 블라인드 SQL 인젝션
- 파이썬 스크립트를 이용한 SQL 인젝션 공격의 이해
- 크로스사이트 스크립팅
- 지속적 또는 저장 XSS
- 일시적 혹은 반사 XSS
- 정리