책 소개
요약
남이 만든 도구만 쓰는 스크립트 키디를 넘어서, 필요한 도구는 직접 개발할 수 있는 고급 보안 전문가로 발돋움 해보자! 『Black Hat Python』은 베스트셀러 『파이썬 해킹 프로그래밍』(원서명: Gray Hat Python)(에이콘출판, 2010) 저자의 차기작으로, ‘제대로’ 동작하는 공격 도구를 적시에 ‘즉석으로’ 제작하는 방법을 다룬 책이다. 책의 처음부터 끝까지 멋진 공격 아이디어들이 계속 쏟아지기 때문에 기술적으로도 흥미로운 부분이 많으며, 공격 도구 개발에 필요한 프로그래밍 기술을 압축적으로 다루므로 정말 재미있게 읽을 수 있다.
추천의 글
경우에 따라 프로그래밍 언어 선택에 대한 대화가 종교 전쟁처럼 보이는 요즘에도 파이썬은 여전히 정보 보안 분야에서 널리 쓰이는 언어다. 수많은 퍼저(fuzzer)와 프록시, 심지어 몇몇 익스플로잇 코드에 이르기까지 온갖 도구가 파이썬으로 제작됐다. 캔버스(CANVAS) 같은 익스플로잇 프레임워크뿐만 아니라 약간은 덜 유명한 파이에뮤(PyEmu)와 설리(Sulley)도 파이썬으로 개발됐다.
나는 거의 모든 퍼저와 익스플로잇을 파이썬으로 제작했다. 크리스 발라섹(Chris Valasek)과 내가 최근에 수행한 자동차 해킹 연구 결과에는 파이썬을 사용해 자동차 네트워크에 CAN 메시지를 삽입할 수 있는 라이브러리도 포함돼 있다!
정보 보안 업무에 입문하고자 한다면 이미 수많은 리버스 엔지니어링과 익스플로잇 제작 라이브러리가 존재하는 파이썬을 선택하는 편이 좋다. 이제 메타스플로잇 개발자들만 정신을 차리고 루비에서 파이썬으로 넘어온다면 정보 보안 커뮤니티는 대통합의 길에 접어들 것이다.
이 책에서 저스틴은 이제 막 경력을 시작하는 진취적인 젊은 해커에게 필요한 다양한 주제를 다룬다. 네트워크 패킷을 분석하고 작성하는 방법과 네트워크 스니핑 방법뿐만 아니라 웹 애플리케이션 감사와 공격에 필요한 거의 모든 내용을 설명한다. 또한, 윈도우 시스템을 공격할 때 필요한 부분을 파이썬으로 어떻게 개발할 수 있는지 설명하는 데에도 상당한 공을 들인다. 전체적으로 『Black Hat Python』은 매우 유쾌하게 읽은 책이었다. 이 책을 읽는다고 나 같은 슈퍼 해커가 될 수는 없겠지만 분명히 제대로 된 길에 들어설 수 있을 것이다. 스크립트 키디와 전문가의 차이는 단순히 다른 누군가가 만든 도구를 사용하느냐, 혹은 자신이 사용할 도구를 직접 개발하느냐의 차이에 있다는 점을 명심하자.
- 찰리 밀러 / 미주리 주 세인트 루이스에서
이 책에서 다루는 내용
■ 깃허브를 이용한 트로이 목마의 커맨드 앤 컨트롤 구현
■ 키로깅과 스크린샷 수집 등 일반적인 악성코드 기능의 자동화와 샌드박스 탐지
■ 창의적인 프로세스 제어에 기반한 윈도우 권한 상승
■ 메모리 포렌식 기술을 악용한 암호 해시 탈취와 가상 머신으로의 셸코드 삽입
■ 유명한 웹 해킹 도구인 버프 스위트의 확장
■ 윈도우 COM 자동화를 악용한 맨 인 더 브라우저 공격
■ 가장 교활한 방법으로 네트워크에서 데이터 빼내기
목차
목차
- 1장 파이썬 환경 구축
- 칼리 리눅스 설치
- 윙IDE
- 2장 네트워크: 기초
- 한 문단으로 표현한 파이썬 네트워킹
- TCP 클라이언트
- UDP 클라이언트
- TCP 서버
- 넷캣 대체하기
- 시험해보기
- TCP 프록시 구현
- 시험해보기
- 파라미코를 이용한 SSH
- 시험해보기
- SSH 터널링
- 시험해보기
- 시험해보기
- 3장 네트워크: 로 소켓과 스니핑
- UDP 호스트 발견 도구 구현
- 윈도우와 리눅스에서의 패킷 스니핑
- 시험해보기
- IP 계층 디코딩
- 시험해보기
- ICMP 디코딩
- 시험해보기
- 시험해보기
- 4장 스카피를 이용한 네트워크 장악
- 이메일 로그인 정보 훔치기
- 시험해보기
- 스카피를 이용한 ARP 캐시 오염
- 시험해보기
- PCAP 처리
- 시험해보기
- 시험해보기
- 이메일 로그인 정보 훔치기
- 5장 웹 해킹
- 웹의 소켓 라이브러리: urllib2
- 설치된 오픈소스 웹 앱 매핑하기
- 시험해보기
- 디렉토리와 파일 위치 브루트포스
- 시험해보기
- HTML 폼 인증 브루트포스
- 시험해보기
- 시험해보기
- 6장 버프 프록시 확장
- 설정
- 버프 퍼징
- 시험해보기
- 버프에서 빙 활용하기
- 시험해보기
- 웹사이트 콘텐트를 이용한 암호 목록 구축
- 시험해보기
- 시험해보기
- 7장 깃허브 커맨드 앤 컨트롤
- 깃허브 계정 설정
- 모듈 만들기
- 트로이 목마 설정
- 깃허브 기반의 트로이 목마 제작하기
- 파이썬 임포트 기능을 이용한 트릭
- 실험해보기
- 8장 일반적인 트로이 목마 기능(윈도우용)
- 키 입력도 수집하고 재미도 챙기는 키로깅 구현
- 시험해보기
- 스크린샷 수집
- 파이썬을 이용한 셸코드 실행
- 시험해보기
- 키 입력도 수집하고 재미도 챙기는 키로깅 구현
- 샌드박스 탐지
- 9장 인터넷 익스플로러 활용
- (일종의) 맨 인 더 브라우저
- 서버 제작
- 시험해보기
- IE COM 자동화를 이용한 정보 유출
- 시험해보기
- 시험해보기
- (일종의) 맨 인 더 브라우저
- 10장 윈도우 권한 상승
- 필요한 패키지 설치하기
- 프로세스 모니터 구현
- WMI를 이용한 프로세스 모니터링
- 시험해보기
- 윈도우 토큰 권한
- 약점 공격하기
- 시험해보기
- 코드 인젝션
- 시험해보기
- 시험해보기
- 11장 공격용 포렌식 작업 자동화
- 설치
- 프로필
- 암호 해시 추출
- 직접적 코드 인젝션