전세계 국민을 해킹한 해킹팀을 해킹한 피니어스 피셔(Phineas Fisher)가 적극 추천한 도서라는 것만으로 이 책은 긴 말이 필요 없을 둣 싶다. 피니어스 피셔는 해킹팀 해킹 방법을 상세 설명한 문서를 통해 구글 검색을 조금만 해도 예상치 못했던 정보를 얻을 수 있으며, 침투테스터를 위한 구글 해킹(Google Hacking for Penetration Testers, Third Edition)은 해킹을 위해 구글을 어떻게 사용해야 할지 알게 해 주는 성경과도 같은 책이라고 격찬했다.
오늘날 구글은 가장 인기좋은 검색 엔진으로 자리 잡았지만 구글의 강력함은 우리가 알고 있는 것 이상으로 때로는 공개 되어서는 안될 정보를 구글 검색으로 찾는 경우가 있다. 이 책은 보안 전문가들과 시스템 관리자들을 위해 쓰여진 책으로 구글을 이용해 민감한 정보와 취약점을 찾아내고, 역으로 구글을 이용해 자신이 운영하는 사이트 보안을 점검하는 방법을 소개한다.
이 책이 처음 출판된 것은 2004년, 2007년 개정, 그런 뒤 오랜 침묵을 깨고 작년 12월 3판이 출판되었다. 3판에는 구글 스크립트, 다른 검색 엔진과 API 활용하기 등등 많은 것들이 추가되고 수정되었으며, 유용한 링크들도 많이 포함되어 있다.
작가 조니 롱(Johnny Long)은 잘 알려진 보안 전문가로 그동안 데프콘, 블랙햇, ShmooCon, 마이크로소프트 블루햇 보안 컨퍼런스 등에서 많은 발표를 했으며, 비영리 보안 사이트 Hackers for Charity 운영자이기도 하다. 이 사이트는 컴퓨터와 사무실 장비를 수집해 개발도상국에 기증하며, 그는 개인적으로 아프리카를 여행해 네트워크 설정과 마을 인프라 구축을 도왔다.
이 책은 완전 고수를 위한 책은 아니고, 그렇다고 완전 초보용도 아닌, 구글로 좀 더 편하게 해킹하는 입문서다. IT나 보안 지식이나 Tcpdump, MRTG, Nmap, ntop, 심지어 perl 등의 프로그래밍 언어가 필요한 Chapter도 있고, 설명이 부실한 부분도 있지만 대체적으로 쉽게 작성된 책으로 구글 검색을 좋아하고, 더 많은 걸 찾아내고 싶은 사람들은 누구나 이용할 수 있을 것이다.
1장: 구글 검색 기초
- 이미지 검색, 그룹, 설정, 언어, 번역 기능, 검색 결과 페이지 읽기, 와일드카드 사용, 검색어 32단어 제한, 특정 단어 반드시 포함시키기, 검색결과에 포함/제외시키는 연산자, 검색 결과에서 필요없는 부분 제외시키기, URL, &로 분리하기, where, how 같은 검색어 무시, AND, OR, NOT, “+” 등등 기본 검색과 고급 검색을 소개한다. 구글 웹사이트와 구글 툴바 중 어느 것을 사용하는 것이 더 좋은지도 다룬다.
2장 고급 연산자
- intitle, allintitle, inurl, allinur, filetype, site, link, inanchor. daterange, cache, info 등등 좀 더 복잡한 검색에 사용되는 고급 연산자를 소개한다. 이 연산자들을 조합해 검색하면 원하는 정보를 좀 더 빨리 찾을 수 있다.
3장 구글 해킹 기초
- 구글이 저장한 페이지는 현재 존재하지 않는 경우가 많은데 이런 페이지일수록 유용한 정보를 담은 것들이 많다. 이 장은 검색 결과에 CACHE 페이지만 나오게하는 방법, 저장된 페이지를 텍스트로만 나오게 하는 방법, 디렉토리 리스트를 통해 유용한 정보 찾아내기 등등 공개를 원치 않는 경우가 많은 정보를 찾는 방법과 유용한 검색어를 예제로 제시한다.
4장: 문서와 데이터베이스 파헤치기
- 공격자는 설정 파일에서 많은 정보를 얻는다. 사소한 정보도 실력있는 공격자에게 큰 단서가 될 수 있다. 구글 검색을 이용하면 파일에 접근하지는 못해도 파일 리스트는 볼 수 있으며, filetype 검색어를 조합하면 설정파일, 로그파일의 IP, userid를 비롯 유용한 정보를 볼 수 있다. 오피스 문서, DB, 로그인, 에러 메시지 등 잘만 검색하면 얻는 정보는 무궁무진하다.
5장: 정보 수집 프레임워크
- 이 장은 유용한 정보를 구글 검색 결과 페이지에서 자동 추출하는 방법을 소개하고, 간단한 스크립트도 제시하고, 페이지 스크래핑, 텔넷, Netcat, Squid를 검색에 활용하기, 검색 결과 페이지에서 유용한 데이터를 추출하는 Perl 스크립트도 제공한다.
6장: 익스플로잇과 공격 대상 찾아내기
- 제로데이를 포함해 각종 익스플로잇이 있는 웹사이트를 찾는 방법, 특정 익스플로잇에 취약한 웹사이트 찾는 방법 등을 소개한다.
7장: 유용한 검색어 10개
- 보안 평가할 때 사용할 유용한 간단 검색어 10개를 소개한다. 이 검색어들을 사용하면 웹사이트 관리자들이 보여주고 싶어 하지 않는 정보를 볼 수 있다. 각각의 예제와 정보도 제공된다.
- SITE
- INTITLE:INDEX.OF
- ERROR | WARNING
- LOGIN | LOGON
- USERNAME | USERID | EMPLOYEE.ID \ “YOUR USERNAME IS”
- PASSWORD | PASSCODE | “YOUR PASSWORD IS”
- ADMIN | ADMINISTRATOR
- -EXT:HTML -EXT:HTM -EXT:SHTML -EXT:ASP -EXT:PHP
- INURL:TEMP | INURL:TMP | INURL:BACKUP | INURL.BAK
- INTRANET | HELP.DESK
8장: 웹서버, 로그인 포털, 네트워크 하드웨어 추적
- 취약한 웹서버 찾아내기, 디렉토리 인덱스, 오류 메시지로 웹서버 찾아내기, 관리자가 웹서버 테스트에 사용하는 디폴트 페이지에서 유용한 정보 찾기, 제품, 버전, 파일구조, 웹 유틸리티 활용법, 웹캠, 프린터, 라우터, 방화벽 등의 네트워크 하드웨어 찾아내기 등등 많은 팁을 제공한다.
9장: 유저네임, 패스워드, 민감 정보
- 패스워드, 신용카드 번호, 사회보장번호, 개인 금융 데이터, 정부 문서 등등 구글 검색으로 접속할 수 있는 민감 정보를 보여준다. 간단한 구글 검색만으로 얼마나 많은 민감한 정보를 찾을 수 있는지 놀랄 것이다.
10장: 구글 서비스 해킹
- 구글이 제공하는 서비스를 해킹에 활용하는 방법으로, 예를 들어 구글 캘린더, 구글 알림(스캐너를 돌리는 대신 cron task로 구글 검색 결과를 모니터링, 변화가 탐지되면 이메일 받도록 구글 알림 설정, 공격 대상이 MsSQL인 경우 에러 메시지를 찾아 알리도록 설정), 구글 Co-op (www.google.com/coop)로 강력한 맞춤형 검색엔진을 만드는 방법 등을 소개한다.
11장: 구글 해킹 자료
- 그동안 작가가 보안 컨퍼런스등에서 발표했던 구글 해킹 자료를 보여준다. ping, finger, portscan, 스크립트, 애플리케이션, 네트워크 장비, 카메라, 전화 장비, 전력시스템 해킹 등이 포함된다.
12장: 구글 해커로부터 스스로를 보호하기
- 구글 해킹으로부터 시스템을 보호하는 방법을 소개한다. 보안 정책, 보호 방법, 침해 시 대처 방법, 웹서버 안전 대책, 디렉토리 리스팅, 인덱스 파일, 캐쉬 방지, 패스워드 보호, 소프트웨어 디폴트 설정 등등이 포함되며, 구글 검색으로 자신의 웹사이트를 해킹하고 검색 결과 페이지를 보고 취약점을 찾는 방법을 설명한다. NIKTO와 WIKTO 등의 툴도 사용한다.
결론
이 책은 침투 테스트 수행 시 필요한 정보를 깊고 쉽게 찾는 방법을 담은 책으로재미나게 쓰여졌고, 스크린샷도 많고, 예제도 훌륭하고, 유용한 링크도 많다. 내용에 관한 설명이 부실하거나 이해가 가지 않는 부분이 있어도 예제 검색어로 실제 해 보면 저절로 이해가 되어 응용이 가능하다. 익숙하기까지 약간의 시간만 투자하면 남은 삶이 편해진다. 보안 전문가, 사이트 관리자, 웹 개발자는 물론 평소 구글 검색에 관심있는 geek들께 권해드리고 싶다!