핸즈온 해킹 : 모의 해킹 완벽 가이드 #한빛미디어
웹개발을 배우면서 많이 궁금했던 부분이 있었다. '이렇게 만들면 보안은?' 물론 해커가 보는 관점에서 중요한 내용도 없고, 해킹 할 이유도 없는 그런 웹이긴 했지만 그래도 기본 보안은 해야 할 것 아닌가. SSL과 여러 예외처리로 보안이 끝난것은 아닐텐데.. 그러던 중 왠지 궁금증을 해소 해 줄 것 같은 책을 보게 되었다.
서문에 나온 내용을 보면, 이 책의 내용은 실제 강의환경에서 4일간 12개의 학습단위로 이루어진 해킹 훈련과정에 사용되었다고 한다. 그 훈련과정에 사용된 기법들과 도구들을 실무 기술에 맞춰 만들어진 책. VM을 이용해 모의 해킹 테스트를 직접 해 보며 해킹 사례들을 배워보는 책이다. 책은 처음부터 끝까지 순서대로 읽어나가면 된다.
대상 독자는 윤리적 해킹을 배워보고 싶은 사람 뿐만 아니라, 네트워크관리자, 시스템관리자 등의 보안을 중요하게 생각하는 모든 사람을 대상으로 한다. 정보 보안 담당자라면 꼭 읽어보라고 추천하는 책. 내용은 리눅스를 기본으로 설명하고 있지만, 리눅스에 익숙하지 않은 독자들을 고려해 VM과 리눅스 설치방법부터 다루고 있기에 관심있는 개발자라면 누구든 볼 수 있다 .
1장/2장에서는 기업에 해커가 필요한 이유와 윤리적이고 합법적인 해킹을 소개하며 다양한 실제 해킹 피해 사례를 보여준다. 해커라고 하면 크래킹과 같은 부정적인 이미지를 떠올리기 마련이다. 합법적인 해킹 -> 침투 테스트를 위한 모의 해킹 -> 테스트를 통해 잠재적인 문제로부터 시스템 취약점을 찾고 보호 하는것을 목표로, 합법적인 해킹을 하도록 장려한다.
3장에서는 가상 해킹 환경을 구축한다.
4GB이상의 램, 100GB이상의 가용 HDD(SSD), 인터넷 연결되는 환경을 갖추고 있다면 실습 가능하다. 버츄얼박스 6.0버전과 데비안 기반의 칼리 리눅스를 설치하고 해커하우스에서 가상 메일 서버, 다목적실험실 iso를 다운로드해 부팅하면 준비 완료.
4장에서는 공개 출처 정보 수집을 다룬다.
악성해커들이 해킹을 하기 전 제일 먼저 하는 일이 '정보수집' 이라고 한다. 그 정보수집의 기초는 '누구나 볼 수 있는 공개된 정보' 라는 것인데 이것을 '공개 출처 정보'라고 부른다고. 개인 블로그, 검색엔진, SNS, 기타 메일계정, P2P 등을 통해 정보를 얻을 수 있는데, 구글 검색으로 이메일 주소 얻는것을 시작으로 다양한 방법들을 알려준다.
passwd파일이 구글 웹 검색으로 노출 될 수 있다는 사실을 알게 되었다. 와.. 중요한 사이트는 2단계 인증을 켜 놔야 할 것 같다.
5장에서는 DNS, 6장에서는 이메일 서버를 다룬다.
호스트 찾기를 시작으로 서버 주소를 조사해서 보안 취약점을 찾아내고, 서버에 침투해 정보를 수집한다.
Dos 공격 실습으로 트래픽 증폭하는 방법도 알려주고 다양한 DNS관련 공격방법을 알려준다. 스푸핑과 스니핑을 통해 정보를 빼 내거나 공격하는 사례도 알려준다. 메일 서버를 스캔해 무차별 대입 공격을 해 보기도 하며 메일 서버의 취약점을 알아본다.
7장에서는 웹 서버 취약점을, 12장에서는 웹 앱에 대한 테스트와 공략을 다룬다.
DB, 웹앱과 함께 제일 궁금했던 부분. HTTP서버와 HTTPS, 웹서버 소프트웨어들과 자바서블릿 등의 취약점을 살펴본다. 쿠키, URL, MySQL, PHP, Nginx, 웹크롤러, 파일 업로드, SSL, 아파치 톰캣 등 정말 방대한?양의 다양한 취약점을 알려준다. 웹 서버 포트 스캐닝을 통해 열린 포트를 찾아 방문해 일일이 취약점을 찾아보는 실습을 해 보며, 실무에서 사용 가능한 웹 취약점 스캐닝 도구 사용법을 알려주기도 한다. 웹개발 수업 때 강사님이 보안관련 질문에 왜 답을 제대로 안 해 주신건지 알 것 같다. 지구에 위험한 요소가 뭐가 있는지 묻는 그런 질문이었구나..
8장에서는 VPN (IPSec, IKE, OpenVPN-SSL VPN), 9장에서는 NAS, FTP, TFTP, SMB등 파일 전송. 파일공유에 대한 취약점을, 10장에서는 유닉스(솔라리스10)을 대상으로 한 다양한 해킹 기법을 살펴본다.
11장: 데이터베이스의 데이터를 탐색하고 처리하는 방법을 살펴보고, DBMS를 공격해본다.
12장: 웹 응용 프로그램의 취약점을 통해 기업의 비밀 정보 유출 / 내부망을 침해하는 방법들을 살펴본다.
13장: Microsoft Windows Server 호스트에 대한 침투 테스트 방법을 살펴보고 14장에서는 해킹에서 제일 중요하다고도 할 수 있는 패스워드 해시 크래킹을 실습해본다.
관심이 있는 다양한 독자를 대상으로 하고 있기 때문에 전체적으로 내용 설명이 길다고 해야하나? 섬세하고 친절하다. 정말 잘 설명 해 준다. 다양한 상황에서 여러 방법을 제시해 선택할 수 있도록 설명 해 주기도 한다. 동영상이나 실제 강의가 아니기 때문에 이것저것 설명하려면 길어질 수 밖에 없을 것 같긴 한데, 구지 설명을 이렇게 길게 해야하나 싶을 정도로 긴 것도 있다. 어찌 보면 굉장히 친절하고 쉽게 이해할 수 있도록 설명해줘서 너무 재밋게 책을 읽을 수 있기도 했다.
실습예제를 따라 하다 보면 해킹을 하는것이라기 보다, 다양한 해킹 방법에 대해 대비가 필요하다는 것을 정말 다양하게 경험 할 수 있다. 보안에 관심있는 웹개발 초보로써 정말 재미있게 읽은 책.