서브메뉴

본문

메타스플로잇 (모의 해킹 전문가를 위한 메타스플로잇)
메타스플로잇 (모의 해킹 전문가를 위한 메타스플로잇)
저자 : 데이비드 케네디|짐 오고먼|데본 컨즈|마티 아하로니
출판사 : 에이콘출판
출판년 : 2012
ISBN : 9788960773240

책소개

모의 해킹 전문가를 위한 메타스플로잇 가이드북!

『메타스플로잇』은 프레임워크의 총체적인 활용법, 그리고 메타스플로잇 참여자들과 활발히 교류하는 방법을 안내한다. 기본적인 도구나 기술과 함께 성공적인 모의 해킹 절차를 위한 전체 구조를 재현하는 방법도 설명함으로써 둘 사이의 균형을 맞추고자 하였다. 최근에 체계화된 모의 해킹 수행 표준(PTES, Penetration Test Execution Standard)을 기반으로 방법론에 대해서도 설명함으로써 경험 있는 모의 해킹 전문가에게도 도움을 주고, 새롭게 시작하는 초보 독자들에게는 기초적인 용어의 설명과 사용법을 충실히 설명한다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

"메타스플로잇 프레임워크에 관한 현존하는 최고의 가이드"

- HD 무어(Moore), 메타스플로잇 프로젝트 창시자



메타스플로잇 프레임워크를 이용해 비교적 어렵지 않게 취약점을 발견하고 익스플로잇한 후 빠르게 공유할 수 있다. 하지만 보안 전문가들에게는 메타스플로잇이 익숙한 반면, 처음 사용하는 초보자가 도구 사용법을 파악하기는 어려울 수 있다. 이 책 『메타스플로잇 Metasploit』은 프레임워크의 총체적인 활용법, 그리고 메타스플로잇 참여자들과 활발히 교류하는 방법을 알려줌으로써 가이드로서의 역할을 톡톡히 한다.



모의 해킹을 위한 토대를 갖춘 후 공격을 시뮬레이션하기 위해 프레임워크의 규칙, 인터페이스, 모듈 시스템을 알아본다. 그런 다음 네트워크 정찰과 조사, 클라이언트 측 공격, 무선 공격, 표적형 사회공학 공격을 포함한 모의 해킹의 고급 기법을 살펴본다.





★ 이 책에서 다루는 내용 ★



■ 방치되고, 관리되지 않고, 패치되지 않은 시스템을 찾아 익스플로잇

■ 정찰을 통해 대상에 대한 유용한 정보 취득

■ 백신 기술 우회와 보안 통제 회피

■ 취약점 발견 자동화를 위해 메타스플로잇(Metasploit)과 함께 엔맵(Nmap), 넥스포즈(NeXpose), 넥서스(Nessus) 통합

■ 미터프리터 셀을 사용해 내부 네트워크에 추가적인 공격 수행

■ 독립형 메타스플로잇 유틸리티, 서드파티 도구, 플러그인 활용

■ 자신만의 미터프리터 포스트 익스플로잇 모듈과 스크립트를 작성하는 방법



뿐만 아니라 프레임워크로 제로데이 익스플로잇 연구, 퍼저(fuzzer) 작성, 익스플로잇 포팅하는 법에 관해서도 설명한다. 목적이 네트워크를 보호하는 것이든 어떤 것을 테스트하기 위한 것이든 간에 『메타스플로잇 Metasploit』은 모의 해킹 전문가의 길로 안내할 것이다.





★ 이 책의 구성 ★



o1장. 모의 해킹의 기초: 모의 해킹 방법론에 관한 기초를 다진다.

o2장. 메타스플로잇 기초: 메타스플로잇 프레임워크에 포함된 다양한 도구를 소개한다.

o3장. 정보 수집: 모의 해킹 정찰 단계에서 메타스플로잇의 활용 방법을 살펴본다.

o4장. 취약점 스캐닝: 취약점을 식별하고 취약점 스캐닝 기법을 활용할 수 있는 방안을 살펴본다.

o5장. 침투의 재미: 공격을 수행해본다.

o6장. 미터프리터: 포스트 익스플로잇의 만능 도구인 미터프리터를 알아본다.

o7장. 탐지 회피: 안티바이러스 회피 기법의 기본 개념을 소개한다.

o8장. 클라이언트 측 공격으로 익스플로잇: 클라이언트 측 공격과 브라우저 버그를 알아본다.

o9장. 메타스플로잇 보조 모듈: 보조 모듈을 설명한다.

o10장. 사회공학 툴킷: 사회공학 공격에 미치는 사회공학 툴킷의 영향력을 살펴본다.

o11장. 패스트 트랙: 자동화 모의 해킹 프레임워크인 패스트 트랙을 설명한다.

o12장. 카르메타스플로잇: 무선 공격을 위한 카르메타스플로잇의 활용법을 알아본다.

o13장. 자신만의 모듈 작성: 자신만의 공격 모듈 생성 방법을 학습한다.

o14장. 자신만의 익스플로잇 작성: 버퍼 오버플로우를 이용한 익스플로잇 모듈 생성 방법과 퍼징을 살펴본다.

o15장. 메타스플로잇 프레임워크에 익스플로잇 포팅: 메타스플로잇 모듈을 기반으로 기존 익스플로잇을 포팅하는 방법을 자세히 살펴본다.

o16장. 미터프리터 스크립팅: 자신만의 미터프리터 스크립트 작성 방법을 살펴본다.

o17장. 모의 해킹 시뮬레이션: 가상의 환경에서 모의 해킹을 수행해본다.





★ 추천의 글 ★



정보 기술은 점차 사장되어가는 기술들과 끊임없이 증가하는 새로운 시스템, 소프트웨어, 프로토콜들이 뒤섞여있는 복잡한 분야다. 오늘날 기업의 네트워크 담당자는 단순한 패치 관리, 방화벽, 사용자 교육 업무 능력뿐만 아니라 더 많은 능력이 요구된다. 시스템이 정상적으로 동작하는지 여부를 실제 시스템에서 반복적으로 검증할 수 있어야 하므로, 주기적으로 모의 해킹을 수행해야 한다.

모의 해킹은 도전적인 일이다. 자신의 이익을 위해 마치 자신이 범죄자가 된 듯 생각하고 게릴라 전술을 펼쳐 매우 복잡한 방어 시스템에서 취약한 고리를 찾아낸다. 찾아낸 것들은 놀라움과 함께 불안감도 불러온다. 모의 해킹을 이용하면 악성 포르노 사이트부터 대규모 사기, 범죄 행위에 이르기까지 모든 것을 밝혀낼 수 있다.



모의 해킹은 보안 의식이 결여된 조직에 경각심을 불러일으키거나 시스템의 취약점을 면밀히 검토하기 위해 진행한다. 시스템 구성 검토나 취약점 평가에서 확인할 수 없었던 문제들을 밝혀내기도 한다. 대표적인 결과물로는 공유 암호, 상호 연결 네트워크, 민감한 데이터 목록 등이 있다. 관리자가 해야 할 10여 가지 목록으로 솔루션을 계속 관리하는 동안 게으른 시스템 관리자나 성급한 구현으로 인해 발생한 문제들은 조직에 있어 상당한 위협이 된다. 모의 해킹을 통해 잘못된 우선순위를 바로잡고 실제 침입을 미연에 방지하기 위해 조직에서 필요한 것이 무엇인지 확인할 수 있다.



모의 해킹 전문가는 회사의 가장 민감한 자원을 다루기 때문에, 잘못된 조치를 취할 경우 엄청난 결과를 초래할 수도 있다. 잘못된 패킷 하나로 인해 시간당 수백만 달러 규모에 달하는 작업 현장을 중단시키는 결과를 불러올 수도 있다. 모의 해킹 수행 인력을 사전에 고지하지 않으면 지역 경찰과 다소 불편하고 당혹스러운 대화를 나눌 수도 있다. 의료 시스템은 경험이 매우 많은 전문가들도 테스트를 꺼려하는 곳이다. OpenVMS 메인프레임에 보관된 환자의 혈액형이 뒤죽박죽되거나 윈도우 XP가 동작하는 엑스레이 시스템의 메모리가 손상되는 상황을 책임지고 싶은 사람은 아무도 없을 것이다. 가장 중요한 시스템은 대부분 가장 많이 노출돼 있으며, 일부 관리자는 보안 패치를 적용하기 위해 데이터베이스 서버를 중지시키는 위험을 감수하기도 한다.



어떤 공격 방법을 사용할지 여부와 그로 인해 발생하는 피해의 위험에 대해 균형을 맞추는 것은 모든 모의 해킹 전문가가 연마해야 할 기술이다. 이런 방법은 도구와 기법에 대한 기술적인 지식뿐만 아니라 조직 운영 방법과 가장 공격하기 쉬운 경로가 어디인지에 대한 폭넓은 이해가 있어야 한다.



앞으로 아주 다른 배경을 가진 보안 전문가 4명의 눈을 통해 모의 해킹을 살펴볼 것이다. 저자들은 기업 보안 구조의 최정상에 위치한 사람을 비롯해 비밀리에 익스플로잇 개발과 취약점 연구를 하는 사람들이다. 모의 해킹과 보안 평가를 다루는 책이 많지만, 대부분 도구에 초점을 맞춘다. 그러나 이 책은 기본적인 도구나 기술과 함께 성공적인 모의 해킹 절차를 위한 전체 구조를 재현하는 방법도 설명함으로써 둘 사이의 균형을 맞추고자 노력했다. 최근에 체계화된 모의 해킹 수행 표준(PTES, Penetration Test Execution Standard)을 기반으로 방법론에 대해서도 설명함으로써 경험 있는 모의 해킹 전문가에게도 도움을 주고자 했다. 새롭게 시작하는 초보 독자들에게는 전반적인 상황하에서 어떻게 시작해야 하는지뿐만 아니라, 각 단계가 왜 중요한지, 그리고 무엇을 의미하는지 알려줄 것이다.



이 책은 메타스플로잇 프레임워크에 중점을 뒀다. 이 프레임워크는 오픈소스 플랫폼으로 지속적으로 업데이트되는 익스플로잇이 포함된 일관성 있고 신뢰된 라이브러리를 제공하며, 새로운 도구를 만들기 위한 완벽한 개발 환경과 모의 해킹의 모든 부분을 자동화할 수 있게 지원한다. 게다가 프레임워크의 상용 버전인 메타스플로잇 익스프레스(Express)와 프로(Pro) 버전도 살펴볼 수 있다. 이 제품들은 서로 다른 관점에서 대규모 모의 해킹의 수행 방법과 자동화 방법을 제공해준다.



메타스플로잇 프레임워크는 불명예스럽게도 아직 안정화 단계에 이르지는 못한 프로젝트다. 수백만의 커뮤니티 참여자들이 제출한 기반 코드는 핵심 개발자들에 의해 매일 수십 번 업데이트된다. 주어진 장을 교정할 때마다 내용이 이미 쓸모 없어질 수 있으므로, 프레임워크에 관한 책을 쓴다는 것은 자학적인 노력일 수 있다. 이런 상황은 독자들이 책을 손에 쥐는 순간에도 동일하게 적용될 수 있으므로 저자들은 이 책을 집필하기 위해 엄청난 노력을 들이지 않을 수 없었다.



메타스플로잇 팀은 변경한 코드가 정확하게 반영됐는지 여부와 최종 결과가 인력으로 가능한 메타스플로잇 프레임워크의 제로데이 범위와 가장 가깝다는 사실을 확인하기 위해 이 책을 활용한다. 이 책은 메타스플로잇 프레임워크에 관한 현존하는 최고의 가이드라고 자부할 수 있으며, 앞으로도 오래도록 명성을 유지할 것이다. 자신의 업무와 관련된 가치 있는 정보를 찾거나 실험을 위한 좋은 참고서가 되길 바란다.



- HD 무어

메타스플로잇 프로젝트 창시자





★ 저자 서문 ★



메타스플로잇 프레임워크는 정보 보호 전문가에 의해 가장 널리 사용되는 오래된 도구 중 하나지만, 사람들이 올린 블로그 글이나 프레임워크 소스코드에서 파생된 몇몇의 문서만 있을 뿐이다. 이런 상황은 오펜시브 시큐리티(Offensive-Security)에서 온라인 과정으로 만든 '메타스플로잇 언리쉬드(Metasploit Unleashed)'로 인해 많은 변화가 생겼다. 온라인 과정이 생긴 지 얼마 지나지 않아 노 스타치(No Stach) 출판사는 '메타스플로잇 언리쉬드'에서 좀 더 확장된 내용으로 책을 집필해 달라는 연락을 전했다.



이 책은 프레임워크를 완벽하게 사용하는 방법과 메타스플로잇의 내/외부적인 내용을 다루도록 구성했다. 이 책은 각각의 세부적인 내용이나 익스플로잇까지 포함하진 않지만, 모의 해킹 전문가에게 메타스플로잇 현재 버전과 차후 버전을 사용하고 이해할 수 있는 토대를 제공한다.



이 책의 집필을 시작했을 때 메타스플로잇 프레임워크 창시자인 HD 무어에게서 의견을 받았다. 메타스플로잇 언리쉬드 과정에 대해 HD와 나눈 대화에서 우리 저자 중 한 명이 그에게 '이 책이 잘 됐으면 좋겠다'라고 말했고, 이 말에 HD는 '꼭 잘 되게 해야지'라고 대답하며, 우리에게 이 책을 통해 무엇을 다뤄야 좋을지에 대해 조언했다.



우리 저자진은 체계적인 시스템 공격과 방어 기법 우회, 보안 제어 시스템 회피를 위해 메타스플로잇을 매일 사용하는 경험 있는 모의 해킹 전문가다. 이 책은 독자들이 능숙한 모의 해킹 전문가가 될 수 있도록 도움을 주는 데 초점을 맞췄다. HD는 메타스플로잇 프레임워크 내부를 잘 알 수 있도록 양질의 내용을 구성하는 데 중점을 뒀고, 우리는 그의 의지에 부합해 이런 특징을 반영할 수 있도록 노력했다. 이 책의 내용이 얼마나 잘 작성됐는지는 독자의 판단에 맡긴다.



★ 옮긴이의 말 ★



최근 개인정보 유출 사건을 비롯해 보안 사고가 빈번하게 일어난다. 과거에는 단순히 실력 과시나 시스템 장애에 초점을 맞췄다면 최근에는 금전이 목적이거나 사이버 테러를 목적으로 함으로써 범사회적인 문제가 되고 있다. 하지만 이런 상황에도 불구하고 아직까지 많은 기업에서 기초적인 수준의 보안 시스템도 갖춰놓지 않은 게 현실이다. 심지어 자사의 보안 관리자 없이 외주에만 의존하는 경우도 있다.



이 상황에서 실제적으로 더 큰 보안 위협은 제로데이 같이 패치되지 않은 취약점이라기보다는 관리 미흡으로 드러나는 취약점이다. 이런 위협을 막으려면 시스템을 운용하기 전에 반드시 모의 해킹을 통한 점검이 필요하다. 시스템 운용 이전뿐만 아니라 운용 중에도 새로운 패치가 나올 때마다 즉시 적용해야 한다. 그리고 네트워크 구조를 변경하거나 추가적인 시스템을 도입하는 등 환경 변화가 일어날 경우에는 다시 한 번 모의 해킹을 통한 점검이 필요하다.



기업 입장에서 보면 빈번한 모의 해킹 수행은 금전적인 면에서 큰 부담이 될 수밖에 없다. 메타스플로잇의 자동화 도구는 이런 부담을 조금이나마 해소해 줄 수 있다. 흔히 프로그래밍 언어를 배울 때 C 언어를 빗대어 '배우기는 쉽지만 잘하기는 어렵다'라고 한다. 메타스플로잇도 마찬가지다. 자동화 도구에 의지하면 초보자도 쉽게 사용할 수 있지만, 부가 기능을 자유자재로 사용하고 코드를 자신의 목적에 맞게 수정하기까지는 적지 않은 시간 투자가 필요하다.



메타스플로잇은 초보자부터 전문가까지 두루 사용하는 도구다. 2003년 처음 프로젝트가 시작된 이후 현재까지 커뮤니티의 많은 참여자에 의해 지속적으로 발전해오고 있다. 하지만 국내에서는 메타스플로잇의 활용도에 비해 한글 문서가 부족해 초보자들은 쉽게 접하기 어려웠다. 『메타스플로잇 Metasploit』은 이런 부족함을 채워줄 수 있는 책이다. 이 책의 앞부분에서는 처음 접하는 사용자들을 위해 기초적인 용어의 설명과 사용법을 충실히 설명하고, 뒷부분에서는 고급 기능을 다루기 때문에 능숙한 사용자들에게도 도움이 될 수 있는 책이다.



책에서 다루는 예제는 악용될 것을 우려해 패치되지 않도록 특별하게 구성된 환경을 이용한다. 하지만 폭넓은 사고를 통해 메타스플로잇에 포함된 많은 기능을 살펴본다면 원하는 목적을 달성하는 데 든든한 무기가 될 것이다.



출판사에서 처음 번역 제안을 받을 당시에도 국내에는 메타스플로잇과 관련한 한글 문서가 많지 않았기에, 메타스플로잇에 관심을 가진 많은 사용자에게 도움이 되길 바라는 마음으로 기꺼이 번역에 임했다. 품었던 초심만큼 결과가 만족스럽지는 않지만, 메타스플로잇 사용자들에게 조금이나마 도움이 되길 바란다.
[알라딘에서 제공한 정보입니다.]

목차정보

1장 모의 해킹의 기초

___PTES 단계

______사전 계약 단계

______정보 수집

______위협 모델링

______취약점 분석

______침투 수행

______포스트 익스플로잇

______보고서 작성

___모의 해킹의 유형

______공개 모의 해킹

______비공개 모의 해킹

___취약점 스캐너

___해야 할 일



2장 메타스플로잇 기초

___전문 용어

______익스플로잇

______페이로드

______셸코드

______모듈

______리스너

___메타스플로잇 인터페이스

______MSFconsole

______MSFcli

______Armitage

___메타스플로잇 유틸리티

______MSFpayload

______MSFencode

______Nasm 셸

___메타스플로잇 익스프레스와 프로

___정리



3장 정보 수집

___수동적 정보 수집

______whois Lookups

______Netcraft

______NSLookup

___능동적 정보 수집

______엔맵을 이용한 포트 스캐닝

______메타스플로잇의 데이터베이스 작업

______메타스플로잇을 이용한 포트스캐닝

___타겟 스캐닝

______서버 메시지 블록 스캐닝

______잘못 설정된 마이크로소프트 SQL 서버 찾기

______SSH 서버 스캐닝

______FTP 스캐닝

______단순 네트워크 관리 프로토콜 탐색

___사용자 정의 스캐너 작성

___정리



4장 취약점 스캐닝

___기본적인 취약점 스캔

___넥스포즈를 이용한 스캐닝

______환경설정

______메타스플로잇 프레임워크로 보고서 가져오기

______MSFconsole에서 넥스포즈 실행

___넥서스로 스캐닝

______넥서스 환경설정

______넥서스 스캔 정책 생성

______넥서스 스캔 실행

______넥서스 보고서

______메타스플로잇 프레임워크로 스캔 결과 가져오기

______메타스플로잇에서 넥서스를 이용한 스캐닝

___특별한 취약점 스캐너

______SMB 로그인 확인

______열린 VNC 인증 스캐닝

______열린 X11 서버 스캐닝

___Autopwn에 검색 결과 활용



5장 침투의 재미

___침투 수행의 기본

______msf> show exploits

______msf> show auxiliary

______msf> show options

______msf> show payloads

______msf> show targets

______info

______set과 unset

______setg과 unsetg

______save

___첫 번째 대상 시스템 공격

___우분투 시스템 공격

___전체 포트 대상 페이로드: 포트 전수 조사

___리소스 파일

___정리



6장 미터프리터

___윈도우 XP 가상 머신 공격

______엔맵을 이용한 포트 스캐닝

______MS SQL 공격

______MS SQL 서버에 전수 조사 공격

______xp_cmdshell

______기본 미터프리터 명령

______키 입력 캡처

___사용자명과 패스워드 덤프

______패스워드 해시 값 추출

______패스워드 해시 덤프

___패스더해시

___권한 상승

___토큰 위장

___ps 사용

___다른 시스템 피보팅

___미터프리터 스크립트 사용

______이주 작업

______백신 소프트웨어 무력화

______시스템 패스워드의 해시 값 얻기

______공격 대상 시스템의 전체 트래픽 살펴보기

______시스템 스크레이핑

______Persistence 사용

___포스트 익스플로잇 모듈 활용

___명령 셸을 미터프리터로 업그레이드

___레일건 부가 기능으로 윈도우 API 조작

___정리



7장 탐지 회피

___MSFpayload로 독립적인 바이너리 생성

___백신 탐지 회피

______MSFencode로 인코딩

______다중 인코딩

___사용자 정의 실행 파일 템플릿

___은밀히 페이로드 실행

___패커

___백신을 회피에 대한 마지막 언급



8장 클리이언트 측 공격으로 익스플로잇

___브라우저 기반 익스플로잇

______브라우저 익스플로잇의 동작 방법

______NOP 살펴보기

___이뮤니티 디버거로 NOP 셸코드 해독하기

___인터넷 익스플로어의 오로라 익스플로잇 활용

___파일 포맷 익스플로잇

___페이로드 보내기

___정리



9장 메타스플로잇 보조 모듈

___보조 모듈 사용

___보조 모듈 해부

___정리



10장 사회공학 툴킷

___사회공학 툴킷 설정

___스피어 피싱 공격 벡터

___웹 공격 벡터

______자바 애플릿

______클라이언트 측 웹 익스플로잇

______사용자명과 패스워드 수집

______탭네빙

______중간자 공격

______웹 재킹

______다면적 공격 살펴보기

___전염성 미디어 생성기

___틴시 USB HID 공격 벡터

___SET의 추가 기능

___정리



11장 패스트 트랙

___마이크로소프트 SQL 인젝션

______SQL 인젝터: 쿼리 문자열 공격

______SQL 인젝터: POST 매개변수 공격

______수동 인젝션

______MSSQL 전수 조사 도구

______SQLPwnage

___바이너리-헥스 변환 도구

___대용량 클라이언트 측 공격

___자동화에 대한 소견



12장 카르메타스플로잇

___환경설정

___공격 시작

___자격 증명 수집

___셸 획득

___정리



13장 자신만의 모듈 작성

___마이크로소프트 SQL 명령 실행

___메타스플로잇 모듈 탐색

___새로운 모듈 작성

______파워셸

______셸 익스플로잇을 실행

______powershell_upload_exec 작성

______16진수 데이터를 바이너리로 변환

______카운터

______익스플로잇 실행

___코드 재사용의 힘



14장 자신만의 익스플로잇 작성

___퍼징의 기술

___구조적 예외 처리기 제어

___SEH 제약 사항 살펴보기

___반환 주소 얻기

___나쁜 문자와 원격 코드 실행

___정리



15장 메타스플로잇 프레임워크에 익스플로잇 포팅

___어셈블리 언어 기본

______EIP와 ESP 레지스터

______JMP 명령 집합

______NOP와 NOP 슬라이드

___버퍼 오버플로우 포팅

______기존 익스플로잇 코드 정리

______익스플로잇 함수 구성

______기본 익스플로잇 테스트

______프레임워크의 기능 구현

______무작위성 추가

______NOP 슬라이드 제거

______더미 셸코드 제거

______완벽한 모듈

___SEH를 덮어쓰는 익스플로잇

___정리



16장 미터프리터 스크립팅

___기본적인 미터프리터 스크립트

___미터프리터 API

______출력

______베이스 API 호출

______미터프리터 믹스인

___미터프리터 스크립트 작성 규칙

___자신만의 미터프리터 스크립트 작성

___정리



17장 모의 해킹 시뮬레이션

___사전 조사 작업

___정보 수집

___위협 모델링

___익스플로잇

___사용자 정의 MSFconsole

___포스트 익스플로잇

______메타스플로이터블 시스템 스캔

______취약한 서비스 확인

___아파치 톰캣 공격

___보이지 않는 서비스 공격

___흔적 제거

___정리



부록A 대상 시스템 설정

___시스템 설치와 설정

___리눅스 가상 머신 부팅

___취약한 윈도우 XP 시스템 설정

______윈도우 XP에서 웹서버 구성

______SQL 서버 구축

______취약한 웹 애플리케이션 생성

______백트랙 업데이트



부록B 치트 시트

___MSFconsole 명령

___미터프리터 명령

___MSFpayload 명령

___msfencode 명령

___MSFcli 명령

___MSF, Ninja, Fu

___MSFvenom

___미터프리터 포스트 익스플로잇 명령
[알라딘에서 제공한 정보입니다.]

QuickMenu