서브메뉴

본문

칼리 리눅스를 활용한 모의 침투 테스트와 보안 진단
칼리 리눅스를 활용한 모의 침투 테스트와 보안 진단
저자 : 리 알렌|테디 헤리얀토|샤킬 알리
출판사 : 에이콘출판
출판년 : 2015
ISBN : 9788960777187

책소개

『칼리 리눅스를 활용한 모의 침투 테스트와 보안 진단』은 칼리 리눅스(Kali Linux)라는 매우 유명하고 유용한 오픈 소스 운영체제를 활용하여 침투 테스트를 하는 과정을 소개한다. 독자들은 이 책을 통해 침투 테스트에 대한 전체적인 흐름을 이해할 수 있으며, 칼리 리눅스를 활용하여 좀 더 효과적으로 침투 테스트를 하는 방법을 배울 수 있을 것이다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

★ 요약 ★

침투 테스트는 기업 및 정부 기관의 정보 시스템 상에 있는 중요한 정보가 악의적인 외부 해커 또는 내부 사용자에 의해 유출되지 않도록 사전에 해커가 사용하는 기술을 이용해서 진단하는 방법이다. 침투 테스트를 위해서는 다양한 절차와 도구가 필요하다. 이 책은 칼리 리눅스(Kali Linux)라는 매우 유명하고 유용한 오픈 소스 운영체제를 활용하여 침투 테스트를 하는 과정을 소개한다. 독자들은 이 책을 통해 침투 테스트에 대한 전체적인 흐름을 이해할 수 있으며, 칼리 리눅스를 활용하여 좀 더 효과적으로 침투 테스트를 하는 방법을 배울 수 있을 것이다.

★ 이 책에서 다루는 내용 ★

■ 칼리 리눅스 환경의 핵심 시스템 컴포넌트 설치와 설정, 실행, 업데이트 방법
■ 공식적인 칼리 리눅스 테스트 방법론 수행
■ 정의한 테스트 요청, 제약사항, 비즈니스 목적, 테스트 계획을 위한 일정과 대상 범위 지정
■ 테스팅 방법에 따라 세부 범주로 구분된, 칼리 리눅스에서 제공하는 수많은 보안 도구 활용법
■ 조사, 발견, 목록화, 취약점 매핑, 소셜 엔지니어링, 익스플로잇, 권한 상승, 평가 목적을 위한 대상에 대한 접근 유지 등과 같은 다양한 방법과 절차 연습
■ 공식적인 보고 구조에 따라 해당 관계자에게, 검증된 테스트 결과를 문서화하고 보고하며 발표하기

★ 이 책의 대상 독자 ★

정보보안 요소를 잘 파악하고 있으며 유닉스/리눅스 운영체제에 대한 기초 지식을 보유한 IT 보안 전문가로서, 칼리 리눅스를 이용해 침투 테스트를 해보고 싶은 사람들을 위한 책이다.

★ 이 책의 구성 ★

1장, ‘칼리 리눅스 시작하기’에서는 모의침투 테스트에 도움이 될 수 있도록 개발된 라이브 DVD 리눅스 배포판인 칼리 리눅스를 소개한다. 칼리 리눅스의 간단한 역사와 칼리 리눅스에 포함된 툴의 종류에 대해 배운다. 다음으로 칼리 리눅스를 구하는 방법, 사용법, 환경 구성, 업데이트뿐만 아니라 HTTP, MySQL, SSH 같은 몇 가지 중요한 네트워크 서비스를 설정하는 방법을 배운다. 테스트 환경을 위해 취약한 가상 시스템 이미지를 설치하고 구성하는방법과 칼리 리눅스에 포함된 추가적인 툴 사용법도 배운다.

2장, ‘모의침투 테스트 방법론’에서는 기본적인 개념, 규칙, 실행, 방법, 절차에 대해 다룬다. 잘 알려진 두 가지 유형인 화이트박스와 블랙박스 테스트에 대해 배운다. 취약성 평가와 모의침투 테스트의 차이점 또한 분석한다. 또한 몇 가지 보안 테스트 방법론과 핵심적인 비즈니스 기능, 특징, 이점에 대해서도 배운다. 2장에서 다루는 방법론으로 OSSTMM, ISSAF, OWASP, WASC-TC가 있다. 마지막으로 윤리적 관점에서 모의침투 테스트를 수행하기 위해 10가지 연속적인 단계로 구성된 칼리 리눅스 테스트 절차에 대해 배운다.

3장, ‘타겟 범위 설정’에서는 요구 사항을 정규화하기 위한 가이드로 활용할 수 있는 범위 설정 절차를 다룬다. 범위 설정 과정은 테스트 실행을 위한 실질적인 로드맵을 구성하는 여러 요소를 소개하고 설명한다. 이 과정의 주요 핵심 요소로는 고객 요구 사항 수집, 테스트 계획 준비, 테스트 경계 정의, 비즈니스 목표 정의, 프로젝트 및 스케줄 관리가 있다. 또한 타겟 환경에 대한 정보를 수집하고 관리하는 방법도 배운다.

4장, ‘정보 수집’에서는 정보 수집 절차를 소개한다. 타겟 환경에 대한 정보를 수집하는 방법으로 공개된 자원을 활용하는 방법을 배운다. 다음으로 DNS 정보를 분석하고 네트워크 라우팅 정보를 수집하는 방법도 배운다. 마지막으로 타겟 도메인, 이메일 주소, 문서 메타데이터를 수집하기 위해 검색엔진을 활용하는 방법도 배운다.

5장, ‘타겟 발견’에서는 타겟 발견 절차를 소개한다. 타겟 발견 절차의 목적과 타겟 시스템을 식별하는 데 사용할 수 있는 툴들에 대해 배운다. 마지막 부분에서는 타겟 시스템의 OS 핑거프린팅에 사용할 수 있는 툴에 대해서도 배운다.

6장, ‘타겟 탐색’에서는 타겟 탐색과 목적에 대해 소개한다. 포트 스캐닝에 대한 간단한 이론과 포트 스캐닝에 사용되는 몇 가지 툴에 대해 배운다. 또한 포트 스캐닝 툴인 엔맵(Nmap)에서 사용할 수 있는 다양한 옵션에 대해서도 배운다. 마지막으로 타겟 시스템의 SMB, SNMP, VPN을 탐색하는 방법에 대해서 배운다.

7장, ‘취약점 매핑’에서는 두 가지 일반적인 취약점 유형인 로컬과 원격 취약점에 대해 다룬다. 통합적인 공통 패턴에 따라 취약점을 분류하는 데 사용되는 산업 표준을 소개하고, 취약점을 분류하는 통찰력을 갖게 될 것이다. 추가적으로 타겟 환경에서 보안 취약점을 찾고 분석하는 데 도움을 줄 수 있는 여러 가지 보안 툴에 대해 배운다. 이러한 툴로는 OpenVAS, Cisco, 퍼징(fuzzing), SMB, SNMP, 웹 애플리케이션 분석 툴 등이 있다.

8장, ‘사회공학’에서는 전문적인 사회공학자가 사람의 심리를 조정해 정보를 누설하게 하거나 특정 행동을 하게 하는 핵심적인 원리와 실행 방법들을 다룬다. 사회공학자의 목표와 비전을 명확하게 나타내주는 기본적인 심리학적인 원리에 대해 배운다. 또한 현실 세계의 사례를 통해 사회공학자의 공격 절차나 방법도 배운다. 마지막으로 타겟의 인적 환경을 평가하는 데 도움이 될 수 있는 사회공학 툴을 이용해 실전 연습을 수행한다.

9장, ‘대상 익스플로잇’에서는 실제 환경에서의 익스플로잇을 수행할 수 있는 툴과 실행 방법을 다룬다. 9장에서는 취약점을 이해하고, 조사하고, 테스트하는 데 매우 중요한 취약점 연구 분야에 어떤 것들이 있는지 설명한다. 추가적으로 공개된 익스플로잇을 이용할 수 있는 저장소와 언제 그것들을 사용할 수 있는지 알아본다. 또한 타겟 평가 분야에서 악명 높은 익스플로잇 툴킷 중 하나를 배운다. 게다가 메타스플로잇 프레임워크를 위한 간단한 익스플로잇 모듈 작성 절차도 알아본다.

10장, ‘권한 상승’에서는 권한 상승, 네트워크 스니핑과 스푸핑에 대해 소개한다. 로컬 익스플로잇을 이용한 권한 상승 방법도 배운다. 또한 오프라인 및 온라인상에서 패스워드를 공격하기 위한 툴에 대해서도 배운다. 네트워크 트래픽을 스푸핑하는 데 사용할 수 있는 툴도 배운다. 마지막으로 네트워크 스니핑 공격에 사용할 수 있는 툴을 알아본다.

11장, ‘접속 유지’에서는 운영체제와 웹 백도어를 소개한다. 이용 가능한 몇 가지 백도어와 사용법에 대해 배운다. 또한 공격자와 타겟 시스템 사이에 우회 통신이 가능한 네트워크 터널링 툴에 대해서도 배운다.

12장, ‘문서화와 보고서’에서는 문서화, 보고서 준비, 발표 등에 대해 다룬다. 이 과정을 통해 체계적이고 구조적이며 일관된 방식의 보고서 작성법을 배운다. 더 나아가 결과 검증, 보고서 유형, 발표 가이드, 사후 절차에 대해서도 배운다.

부록 A, ‘추가적인 툴’에서는 모의침투에 사용할 수 있는 몇 가지 추가적인 툴들을 설명한다.

부록 B, ‘핵심 리소스’에서는 모의침투 분야에서 유용한 다양한 핵심 리소스를 설명한다.

★ 저자 서문 ★

칼리 리눅스(Kali Linux)는 타겟 네트워크 환경에서 잠재하고 있는 취약점들을 식별하고 발견하고 이용할 수 있는 전문 툴들을 갖춘 모의침투 및 보안 감사 플랫폼이다. 잘 정의된 비즈니스 목표와 테스트 계획 수립을 수반하는 적절한 테스트 방법론을 선택하는 것은 모의침투 테스트의 성공 요소가 된다.

이 책은 전문 해킹 툴과 기술을 단계적으로 서로 긴밀하고 연속성 있게 설명함으로써 실질적인 모의침투 테스트 능력을 개발하는 데 필요한 가이드를 제공하는 데 초점을 맞췄다. 또한 오늘날 디지털 시대의 비즈니스 관점에서 현실 세계의 공격 시나리오에 대해 모의해킹에 꼭 필요한 요소와 테스트 절차를 제공한다.

무엇보다도 이 책은 논리적이고 시스템적인 모의해킹 절차에 대해 산업적으로 접근한다.

우선, 모의침투 사전 준비와 테스트 절차에 대한 설명을 시작으로 설치 및 구성, 모의침투 유형 및 모의침투 테스트 방법론 설명, 칼리 리눅스의 구체적인 테스트 절차를 제시한다. 또한 공식적인 테스트 방법론을 따라 모의침투 테스트의 각 분야(타겟 범위 설정, 정보 수집, 타겟발 견, 타겟 탐색, 취약점 매핑, 사회공학, 타겟 익스플로잇, 권한 상승, 접속 유지, 보고서)에 필요한 많은 보안 평가 툴을 알아본다. 각 툴의 실질적인 사용법과 검증된 구성 기술을 강조하기 위해 현장에서 사용하는 예를 들어 설명했다. 또한 전문적인 모의침투 테스터에게 보물 같은 무기기 될 수 있는 핵심적인 기술을 제시한다.

이 책은 작은 것에서부터 시작해서 필수적인 모의침투 기술을 개발하기 위한 전문적이고 실질적인 가이드가 될 것이다. 현실 세계에서나 테스트 환경에서나 칼리 리눅스를 훌륭하게 사용할 수 있는 지침서일 것이다.

★ 옮긴이의 말 ★

2000년 초반에 인터넷이 급속도로 발달하면서 기업들은 수많은 웹사이트를 만들어 자사의 서비스를 홍보하기 시작했다. 기업의 비즈니스가 확장됨에 따라 좀 더 IT 시스템은 복잡해지고 거대해졌으며, 이에 따른 다양한 해킹 위협이 증가하고 있다. 해킹 위협은 웹 시스템뿐만 아니라, 무선 네트워크, 모바일, SCADA, IoT 등의 기술이 발달함에 따라 해킹 공격 기술도 함께 발전 중이다. 특히 모바일과 IoT 등 신규 기술에 대한 보안 위협은 좀 더 복잡하고 다양해지고 있다.

기업의 보안 수준을 측정하기에 가장 확실한 방법은 실질적인 침투 테스트를 통해 기업의 정보 시스템이 안전한지 확인하는 것이다. 기업이 사용하는 IT 시스템이 발달함에 따라 해커들의 무대도 확장되기 시작했다. 과거에는 주로 시스템 위주의 해킹이었으나, 이제는 웹은 기본이고, 모바일과 무선, 임베디드까지 해커의 공격 대상 영역이 되고 있다. 하지만 불과 15년 전만 해도 주로 securityfocus나 bugtraq 등 시스템의 취약점을 악용한 공격 코드(Exploite)를 구하거나, 직접 만들어서 개별 시스템들을 공격했다. 이 당시에는 별다른 공격 프레임워크라고 할 만한 것이 없었으며, 개별적으로 툴을 구하거나 작성해 취약점을 진단했다.

해커들은 침투 테스트를 위해 개별적인 공격 도구들을 하나의 툴셋으로 구성하기 시작했고, 점차적으로 침투 테스트를 위한 프레임워크를 만들기 시작했다. 그 결과 포트스캐닝, 취약점 스캐닝, 익스플로잇 코드 등 다양한 툴들을 한곳으로 모은 백트랙(Backtrack)이라는 전문 침투 테스트용 운영체제가 만들어졌다. 백트랙이 점차 발전하면서 좀 더 정교화된 툴들을 모으기 시작했고, 우분투 기반의 백트랙 5 R3 버전까지 나온 이후에 데비안 기반의 칼리 리눅스(Kali Linux)가 공개됐다.

칼리 리눅스는 침투 테스트를 하기 위한 매우 유용한 툴들이 체계적으로 정리돼 있다. 이 책은 전문 침투 테스트를 하기 위한 절차를 단계적으로 상세히 설명한다. 또한 단계별로 칼리 리눅스를 활용해 좀 더 효과적으로 대상 네트워크와 정보 시스템에 대한 침투 테스트를 수행할 수 있도록 한다.

이 책은 크게 12장으로 구성돼 있으며, 1장에서는 칼리 리눅스에 대한 소개, 2장에서는 모의침투 테스트 방법론에 대해 소개, 3장에서는 침투 테스트를 위한 요구 사항 분석 및 범위 설정 작업 등 사전 단계에 대한 배경 지식을 다룬다. 4장부터 11장까지는 정보 수집, 실질적인 침투 테스트 기법 등을 다룬다. 마지막 12장에서는 침투 테스트의 마무리인 문서와 보고서 작업에 대한 가이드를 제공한다. 이 책을 통해 독자들은 침투 테스트에 대한 전체적인 흐름을 배울 수 있을 것이며, 모의 테스팅 과정에서 칼리 리눅스라는 매우 유용한 친구의 도움을 받으며 효과적으로 침투 테스트와 보안 진단을 수행할 수 있을 것이다.
[교보문고에서 제공한 정보입니다.]

목차정보

1부 실험 준비와 테스팅 절차
1 칼리 리눅스 시작하기
__칼리 리눅스의 간단한 역사
__칼리 리눅스 툴 카테고리
__칼리 리눅스 다운로드
__칼리 리눅스 사용하기
____라이브 DVD를 사용한 칼리 리눅스 실행
____하드디스크에 설치
________물리적 시스템에 칼리 리눅스 설치
________가상머신에 칼리 리눅스 설치
____USB 디스크에 칼리 리눅스 설치
__가상머신 구성
____버추얼박스 게스트 확장
____네트워크 설정
________유선 네트워크 연결 설정
________무선 네트워크 연결 설정
________네트워크 서비스 시작
____공유 폴더 구성
____게스트 컴퓨터 상태 저장
____가상머신 내보내기
__칼리 리눅스 업데이트
__칼리 리눅스의 네트워크 서비스
____HTTP
____MySQL
____SSH
__취약한 서버 설치
__추가적인 툴 설치
____네서스 취약점 스캐너 설치
____시스코 패스워드 크래커 설치
__정리

2 모의침투 테스트 방법론
__모의침투 유형
____블랙박스 테스트
____화이트박스 테스트
__취약성 평가와 모의침투 테스트
__보안 평가 방법론
____오픈소스 보안 테스트 방법 매뉴얼(OSSTMM)
________주요한 특징과 이점
____정보시스템 보안 평가 프레임워크(ISSAF)
________주요 기능과 이점
____오픈 웹 애플리케이션 보안 프로젝트(OWASP)
________주요 특징과 이점
____웹 애플리케이션 보안 컨소시엄 위협 분류(WASC-TC)
________주요 기능과 이점
__모의침투 테스트 실행 표준(PTES)
____주요 기능과 이점
__일반적인 모의침투 프레임워크
____타겟 범위 설정
____정보 수집
____타겟 발견
____타겟 탐색(목록화)
____취약점 매핑
____사회공학
____타겟 익스플로잇
____권한 상승
____장악 유지
____문서화와 보고서
__윤리적 측면
__정리

2부 모의침투 테스터 툴
3 타겟 범위 설정
__고객 요구 사항 수집
____고객 요구 사항 양식 작성
____산출물 평가 양식
__테스트 계획 수립
____테스트 계획 체크리스트
__테스트 한계 설정
__비즈니스 목표 정의
__프로젝트 및 일정 관리
__정리

4 정보 수집
__공개 리소스 사용
__도메인 등록 정보 검색
__DNS 레코드 분석
____host
____dig
____dnsenum
____dnsdict6
____fierce
____드미트리
____말테고
__네트워크 경로 정보 수집
____tcptraceroute
____tctrace
__검색엔진 이용
____더하베스터
____메타구필
__정리

5 타겟 발견
__타겟 탐색 소개
__타겟 시스템 식별
____핑
____arping
____fping
____hping3
____nping
____alive6
____detect-new-ip6
____passive_discovery6
____nbtscan
__OS 핑거프린팅
____p0f
____엔맵
__정리

6 타겟 탐색
__포트 스캐닝 소개
____TCP/IP 프로토콜의 이해
____TCP와 UDP 메시지 포맷의 이해
__네트워크 스캐너
____엔맵
________엔맵 타겟 지정법
________엔맵 TCP 스캔 옵션
________엔맵 UDP 스캔 옵션
________엔맵 포트 지정법
________엔맵 출력 옵션
________엔맵 타이밍 옵션
________엔맵 유용한 옵션
________엔맵으로 IPv6 시스템 스캔
________엔맵 스크립트 엔진
________엔맵의 방화벽/IDS 우회 옵션
____유니콘스캔
____젠맵
____에이맵
__SMB 탐색
__SNMP 탐색
____onesixtyone
____snmpcheck
__VPN 탐색
____ike-scan
__정리

7 취약점 매핑
__취약점 유형
____로컬 취약점
____원격 취약점
__취약점 분류 체계
__오픈 취약점 진단 시스템
____OpenVAS 사용 툴
__시스코 분석
____시스코 감사 툴
____시스코 글로벌 익스플로이터
__퍼즈 분석
____BED
____JBroFuzz
__SMB 분석
____Impacket Samrdump
__SNMP 분석
____SNMP Walk
__웹 애플리케이션 분석
____데이터베이스 진단 툴
________DBPwAudit
________SQLMap
________SQL Ninja
____웹 애플리케이션 진단
________Burp Suite
________Nikto2
________Paros proxy
________W3AF
________WafW00f
________WebScarab
__정리

8 사회공학
__인간 심리학 모델링
__공격 절차
__공격 방법
____흉내 내기
____보상 심리
____영향력 있는 권한 이용
__결핍 이용
__사회적 관계 이용
__사회공학 툴킷(SET)
____목표 피싱 공격
__정리

9 대상 익스플로잇
__취약점 연구
__취약점 및 익스플로잇 기록
__고급 익스플로잇 툴킷
____MSFConsole
____MSFCLI
____Ninja 101 drills
________시나리오 1
________시나리오 2
________시나리오 3
________시나리오 4
____익스플로잇 모듈 작성
__정리

10 권한 상승
__로컬 익스플로잇을 이용한 권한 상승
__패스워드 공격 툴
____오프라인 공격 툴
________hash-identifier
________Hashcat
________RainbowCrack
________samdump2
________John
________Johnny
________Ophcrack
________Crunch
____온라인 공격 툴
________CeWL
________Hydra
________Medusa
__네트워크 스푸핑 툴
____DNSChef
________DNS 프록시 설정
________도메인 위조
____arpspoof
____Ettercap
__네트워크 스니퍼
____dsniff
____tcpdump
____와이어샤크
__정리

11 접속 유지
__운영체제 백도어 사용
____Cymothoa
____Intersect
____미터프리터 백도어
__터널링 툴 사용
____dns2tcp
____iodine
________DNS 서버 설정
________iodine 서버 실행
________iodine 클라이언트 실행
____ncat
____proxychains
____ptunnel
____socat
________HTTP 헤더 정보 획득
________파일 전송
____sslh
____stunnel4
__웹 백도어 생성
____WeBaCoo
____weevely
____PHP 미터프리터
__정리

12 문서화와 보고서
__문서화와 결과 검증
__보고서의 종류
____임원 보고서
____경영진 보고서
____기술적 보고서
__네트워크 모의침투 테스트 보고서(샘플)
__프레젠테이션 준비
__테스트 사후 절차
__정리

3부 추가 정보
부록A 추가적인 툴
__정보 수집 툴
__취약점 스캐너
____NeXpose 커뮤니티 에디션
________NeXpose 설치
________NeXpose 커뮤니티 시작
________NeXpose 커뮤니티에 로그인
________NeXpose 커뮤니티 사용
__웹 애플리케이션 도구
____Golismero
____Arachni
____BlindElephant
__네트워크 도구
____넷캣
________공개 연결
________서버 배너 수집
________간단한 채팅 서버
________파일 전송
________포트 스캐닝
________백도어 셸
________리버스 셸
__정리

부록B 핵심 리소스
__취약점 발견과 추적
____보상 인센티브 프로그램
__리버스 엔지니어링 리소스
__침투 테스팅 학습 리소스
__익스플로잇 개발 학습 리소스
__취약한 환경에서 침투 테스팅
____온라인 웹 애플리케이션 챌린지
____가상 시스템과 ISO 이미지
__네트워크 포트
[교보문고에서 제공한 정보입니다.]