Top

가상 환경 구축으로 알아보는 고급 모의 해킹 [모의 해킹 기법과 방법론을 연습하고 활용해볼 수 있는 가상 환경 구축]

  • 원서명Building Virtual Pentesting Labs for Advanced Penetration Testing (ISBN 9781783284771)
  • 지은이케빈 카드웰(Kevin Cardwell)
  • 옮긴이김영민, 양해용, 이상헌, 장성민
  • ISBN : 9791161750156
  • 40,000원
  • 2017년 06월 30일 펴냄
  • 페이퍼백 | 504쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

요약

모의 해킹을 공부하면서 현실적으로 겪는 가장 어려운 점들 중 하나는 마음 놓고 해킹을 시도해볼 다양한 환경을 접하지 못한다는 것이다. 이 책은 시스템 전체를 경험해보기 어려운 학생들에겐 다양한 환경을 접할 수 있는 기회를 주고, 보안 컨설팅 업무를 하고 있는 실무자들에겐 테스트 방법론 등 기술적으로 유용한 정보를 제공해줄 것이다. 가상 환경에 익숙지 않은 독자라면 반드시 읽어봐야 할 필독서로, 전체적인 모의 해킹 아키텍처, 테스트 방법론 그리고 공격과 방어 요인 등 상세한 설명을 제공한다.

이 책에서 다루는 내용

■ 모의 해킹 기술을 연마하기 위한 라우터, 방화벽 그리고 웹 서버 구축
■ 배포 후 방화벽 아키텍처의 취약점 확인
■ 외부 테스트 수행을 위해 사용할 체계적인 프로세스, 방법론과 계층화된 아키텍처 구축
■ 다양한 보안 테스트 방법론 소개
■ 모니터링 환경과 회피 설계
■ 복잡한 아키텍처 구축
■ 안티 바이러스와 기타 보호 방법 우회
■ 오늘날의 주요 방어 기법에 대한 회피 방법 연습
■ 클라이언트 구성 활용

이 책의 대상 독자

전문적인 보안 테스터로 일하고자 하는 사람이나 일하고 있는 사람 모두를 위한 책이다. 이 책은 모의 해킹에서 발생할 수 있는 모든 환경에 대해 가상 테스트를 할 수 있도록 가상 실험 환경을 구축하기 위한 기초와 체계적인 과정을 소개한다.

이 책의 구성

1장, ‘모의 해킹 소개’에서는 모의 해킹이란 무엇인지 살펴보고, 전문적인 보안 테스트의 구성 요소인 취약점 검증을 위한 모의 해킹 테스트를 소개한다. 이는 ‘공격’을 의미하며, 대부분 고객은 이에 대한 명확한 이해를 갖추고 있지 않다.
2장, ‘가상 환경 선택’에서는 선택할 수 있는 다양한 가상 환경 플랫폼에서 가상 환경을 선택하는 것에 대해 알아본다. 또한 존재하는 주요 가상 기술 플랫폼에 대해 알아본다.
3장, ‘테스트 범위 계획’에서는 테스트 환경을 계획하는 데 필요한 사항에 대해 설명하는 범위를 계획한다. 또한 테스트를 위한 취약점 탐색 과정과 취약점 유형을 테스트하기 위한 환경 구축에 대해 알아본다.
4장, ‘범위 아키텍처 확인’에서는 범위의 구성 요소와 네트워크 구조를 생성하는 프로세스를 정의하는 범위 아키텍처를 정의한다. 이후 다양한 구성 요소를 소개하고 네트워크 구조에 연결한다.
5장, ‘방법론 확인’에서는 다양한 테스트 방법론의 샘플 그룹을 알아보는 방법론을 정의한다. 테스터로서 방법론을 비교하고 적용하기 위한 샘플의 형식과 단계를 보여준다.
6장, ‘외부 공격 아키텍처 생성‘에서는 계층화된 아키텍처를 구축하고 외부 테스트를 수행하기 위한 체계적인 프로세스와 방법론을 수행하는 외부 공격 아키텍처를 만든다. 또한 보호 방법을 배포하는 방법과 보호 방법이 얼마나 효과적인지 테스트하는 방법을 알아본다.
7장, ‘장치 평가’에서는 다양한 유형의 장치를 평가하는 기술을 배운다. 취약한 필터링뿐만 아니라 가능한 여러 가지 방어 수단을 공격하는 방법을 테스트하기 위한 기술을 포함한다.
8장, ‘IDS/IPS 차단 범위 설계’에서는 Snort IDS의 배포 방법과 호스트 기반의 다양한 보안 조치 방법을 알아본다. 배포되면, IDS를 피하기 위한 다양한 회피 기술에 대해 알아본다.
9장, ‘웹 서버와 웹 애플리케이션 평가’에서는 웹 서버와 애플리케이션의 설치 방법을 알아본다. 서버와 애플리케이션을 평가하기 위한 테스트 전략을 따르게 될 것이다.
10장, ‘플랫 네트워크와 내부 네트워크 테스트’에서는 플랫 네트워크와 내부 네트워크의 테스트 과정에 대해 살펴본다. 취약점 스캐너의 사용 방법을 알아보고 자격 증명 유무에 따른 스캐닝을 비교해본다.
11장, ‘서버 공격’에서는 서버와 서비스를 공격하는 데 사용할 수 있는 방법을 알아본다. 가장 일반적인 공격 벡터는 웹 서버에서 동작하고 있는 웹 애플리케이션이다.
12장, ‘클라이언트 측 공격 요인 분석’에서는 클라이언트 측에서 네트워크에 대한 주요 공격 벡터를 보여주는 클라이언트 측 공격 벡터를 알아본다. 클라이언트를 속여 악성 사이트에 접속하도록 하는 데 사용되는 방법을 알아본다.
13장, ‘완전한 사이버 범위 구축’에서는 모든 개념을 포함한 테스트 범위를 만든다. 이 장을 통해 미끼를 배포하고 그에 대한 연습을 한다.

저자/역자 소개

지은이의 말

이 책은 모의 해킹 테스트를 연습할 수 있는 가상 환경을 구축할 때 수행하는 체계적인 프로세스를 제공한다. 책 전반에 걸쳐 네트워크 아키텍처는 거의 모든 제품 생산 환경을 테스트할 수 있도록 만들어진다.

지은이 소개

케빈 카드웰(Kevin Cardwell)

현재 전 세계 기업에 컨설팅 서비스를 제공하는 프리랜서 컨설턴트로 일하고 있다. 오만 정부의 첫 번째 CERT를 위한 전략과 교육 개발 계획과 최초의 상용 보안 운영 센터를 위한 팀을 만들었다. 중동, 아프리카, 유럽, 영국의 은행과 금용 기관에서 광범위하게 일하고 있다. 현재 영리 기업, 정부, 주요 은행과 금융 기관에 컨설팅 서비스를 제공하고 있다. 『BackTrack - Testing Wireless Network Security』(Packt, 2013)의 저자다.

옮긴이의 말

파리라는 곤충에 대해 배우는 것으로 비유를 하곤 하는데, 학창 시절 동안 학문의 수준이 오르고, 어딘가의 일원이 돼 학업이나 일을 하다 보면 전체보다 부분을, 상식보다는 깊은 지식을 필요로 하게 된다. 같은 보안 업무를 하고 있음에도 불구하고 자연스레 내 것이 아닌 것들과 멀어지게 된다. 이 책을 번역하는 동안 처음 컴퓨터 언어를 배웠던 초등학교 시절이 떠올랐다. 이런저런 것들을 배워보는 시기에 시작한 것 중 하나였는데, 어느새 여러 프로그래밍 언어를 섭렵하게 됐고, 네트워크를 배우고, 깊은 이해를 필요로 하는 보안까지 파고들게 되었다. 그 과정에서 내가 알고 있는 모든 것을 하나로 모아 큰 그림을 그려보았던 적이 몇 번이나 있었을까?
세상 모든 것에는 시작이 있다. 나 역시 보안을 처음 시작했던 시기가 있다. 그 시작을 위해 참으로 많은 배경지식과 이해를 필요로 했던 것으로 기억한다. 그리고 그것들은 컴퓨터 보안이라는 커다란 그림을 위한 하나의 퍼즐이 되었다. 이 책은 마치 그 커다란 그림 같은 책이다. 다양한 해킹 공격 방법과 방어 대책을 공부하고 이해했다면, 이제는 직접 환경을 구축하고 연습해볼 차례다. 이 과정은 매우 중요하다. 보통의 모의 해킹에서 가장 접근하기 쉬운 관점은 공격자 관점인데, 공격자는 매우 제한된 자원을 바탕으로 공격하기 때문에 놓치고 지나가는 문제점들이 있을 수 있다. 서버에서 사용자 컴퓨터까지 직접 구축하고 여러 관점에서 모의 해킹을 해보면 보이지 않는 취약점을 발견할 수 있게 된다.
컴퓨터 관련 기술이 무서운 속도로 발전함에 따라 보안 위협도 함께 발전하고 있다. 빅데이터, 클라우드, IoT, 인공지능 등 10년도 채 되지 않는 시간 동안 새로운 개념이 일상까지 자리 잡았고, 관련 뉴스도 심심치 않게 들려온다. 그만큼 우리가 그려봐야 할 그림이 커지고 있다. 하지만 큰 흐름을 이해하고 있다면 다양하게 변형돼 가는 기술을 파악하는 데 어려움이 없을 것이다. 그럼에도 불구하고 이 책은 여전히 쉽게 읽을 수 있으리라 생각되진 않는다. 각 장을 넘길 때마다 깊은 생각을 필요로 하는 순간이 많다. 하지만 천천히 읽고 실습해보면 독자들은 양적, 질적으로 놀랍게 발전할 것이라고, 현재 몸담고 있는 곳에서 그만큼의 빛을 낼 수 있을 것이라 확신한다.

옮긴이 소개

김영민

홍익대학교 컴퓨터공학과를 졸업하고 삼성 SDS에서 정보보호 업무를 담당하고 있다. 다양한 소프트웨어 설계와 구현 경험을 바탕으로 보안 전문가가 되려고 노력하고 있다. 소프트웨어 취약점 분석 업무를 수행하고 있고, 최근 사물 인터넷 보안과 머신 러닝에 기반한 보안 위협 탐지에 대한 연구를 하고 있다.

양해용

삼성 SDS 사내 해킹 동호회인 정보보안연구회 총무를 맡고 있다. 최근 개발 트렌드는 DevOps, MSA, Kanban 등을 활용하며 역동적으로 발전하고 있는데 좀 더 현실적인 보안이 무엇일까? 좀 더 현장의 요구에 맞는 보안이 무엇일지 방향성을 고민하고 적용하고 싶어한다.

이상헌

삼성전자에서 10년째 보안 업무를 담당하고 있다. 남에게 무언가를 베푸는 삶을 항상 동경하며 살고 있고 그런 사람이 되기 위해 노력 중이다.

장성민

삼성전자에서 개발과 보안을 모두 경험했다. 훌륭한 사람이 되기보다 쓸모 있는 사람이 되기를 원하며 누군가에게 쓸모 있는 사람이 되고 싶어 이 책에 참여했다.

목차

목차
  • 1장. 모의 해킹 소개
    • 보안 테스트
      • 인증
      • 허가
      • 기밀성
      • 무결성
      • 가용성
      • 부인 방지
    • 추상화 테스트 방법
      • 설계
      • 비 침입 대상 검색
      • 침입 대상 검색
      • 데이터 분석
      • 보고서 작성
    • 모의 해킹에 대한 이해와 오해
    • 요약

  • 2장. 가상 환경 선택
    • 오픈 소스와 무료 가상 환경
      • VMware Player
      • VirtualBox
      • Xen
      • Hyper-V
      • vSphere Hypervisor
    • 상용 가상 환경
      • vSphere
      • VMware Player Plus
      • XenServer
    • 이미지 변환
    • 물리 환경을 가상 환경으로 변환
    • 요약

  • 3장. 테스트 범위 계획
    • 계획
      • 달성하려는 목표는 무엇인가?
      • 언제까지 달성해야 하는가?
    • 취약점 식별
      • 취약점 공개 사이트
      • 공급 업체 사이트
    • 요약

  • 4장. 범위 아키텍처 확인
    • 시스템 구성
      • 새로운 시스템 구성
      • 변환
      • 가상 머신 복제
    • 네트워크 연결 선택
      • 브릿지 설정
      • 네트워크 주소 변환
      • 호스트 전용 스위치
      • 사용자 전용 설정
    • 다양한 구성 요소 선택
      • 공격 머신
      • 라우터
      • 방화벽
      • 웹 서버
    • 요약

  • 5장. 방법론 확인
    • The OSSTMM
      • 상태 검토
      • 실행 계획
      • 활성화된 탐지 확인
      • 가시성 감사
      • 접근 확인
      • 신뢰성 확인
    • 제어 확인
      • 프로세스 확인
      • 구성 확인
      • 속성 검증
      • 분리 검토
      • 노출 확인
      • 경쟁적 정보 정찰
      • 격리 확인
      • 권한 감사
      • 생존 가능성 검증
      • 알림과 로그 검토
    • CHECK
    • NIST SP-800-115
      • 정보 보안 평가 방법론
      • 기술적 평가 기술
    • 테스트와 평가 비교
      • 관점 테스트
      • 공개와 비공개
      • Offensive Security
      • 다른 방법론
      • 사용자 정의
    • 요약

  • 6장. 외부 공격 아키텍처 생성
    • 계층화된 아키텍처 구축
    • 방화벽 아키텍처 구성
    • iptables
      • IDS/IPS 그리고 부하 분산 시스템 배포
      • 침입 탐지 시스템(IDS)
      • 침입 예방 시스템(IPS)
      • 부하 분산
      • 웹 애플리케이션 방화벽 통합
    • 요약

  • 7장. 장치 평가
    • 라우터 평가
    • 스위치 평가
      • MAC 공격
      • VLAN 호핑 공격
      • GARP 공격
    • 방화벽 공격
    • 방화벽 규칙 식별
      • 필터 침투의 트릭
    • 요약

  • 8장. IDS/IPS 차단 범위 설계
    • 네트워크 기반 IDS 적용
    • 호스트 기반 IPS와 엔드포인트 보안 구현
    • 가상 스위치 작업
    • 회피
      • 임계값 결정
      • 스트레스 테스트
      • 쉘 코드 난독화
    • 요약

  • 9장. 웹 서버와 웹 애플리케이션 평가
    • OWASP Top 10 공격 분석
      • 인젝션 취약점
      • 깨진 인증과 세션 관리
      • 크로스 사이트 스크립팅
      • 안전하지 않은 직접 객체 참조
      • 잘못된 보안 설정
      • 누락된 함수 레벨 접근 제어
      • Cross-Site Request Forgery
      • 알려진 취약한 구성 요소 사용
      • 확인되지 않은 리디렉션과 전달
    • 웹 애플리케이션 방화벽 확인
    • 웹 애플리케이션 방화벽 침투
    • 요약

  • 10장. 플랏 네트워크와 내부 네트워크 테스트
    • 취약점 스캐너의 역할
    • Microsoft Baseline Security Analyzer
    • Open Vulnerability Assessment Language
    • 자격 증명 없는 스캔
    • Nessus
    • 자격 증명을 사용한 스캔
  • 호스트 보호 방법
    • 사용자 계정 제어
    • 호스트 방화벽
    • 엔드포인트 보호
    • Enhanced Mitigation Experience Toolkit
  • 요약

  • 11장 서버 공격
    • 공통 프로토콜 및 서버 애플리케이션
      • 파일 전송 프로토콜
      • 프로토콜 연구
      • 시큐어 쉘
      • 메일
    • 데이터베이스 평가
      • MSSQL
      • MySQL
      • Oracle
    • OS 플랫폼의 세부 사항
      • 윈도우 레거시
      • 윈도우 서버 2008과 2012
      • 유닉스
      • 리눅스
      • MAC
    • 요약

  • 12장. 클라이언트 측 공격 요인 분석
    • 클라이언트 측 공격 방법
      • Bait(미끼)
      • Lure(유혹)
    • 클라이언트의 데이터 빼돌리기
    • 피봇 지점으로서 클라이언트 사용
      • 피봇팅
      • 프록시 공격
      • 클라이언트 설정 활용
    • 클라이언트 측 공격
    • 바이너리 페이로드
    • 악성 PDF 파일
    • 안티 바이러스와 다른 보호 툴 우회
    • 난독화와 인코딩
    • 요약

  • 13장. 완전한 사이버 범위 구축
    • 계층화된 아키텍처 만들기
      • 스위칭 설계하기
    • Decoy와 허니팟 통합
    • 사이버 범위 공격
    • 더 나은 훈련과 분석을 위한 공격 데이터 기록
    • 요약
  • 도서 오류 신고

    도서 오류 신고

    에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

    오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

    (예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

    정오표

    정오표

    [p.141]

    [p.141]
    more/opt/config.net
    ->
    more (공백) /opt/config.net

    [p.142]
    gedit/opt/config.net
    ->
    gedit (공백) /opt/config.net

    [p.148 : 마지막 이미지, 내용 추가]

    Dynamips에서 사용했던 같은 주소로 설정할 수 있지만, 데비안과 우분투 시스템을 동시에 실행하려고 하면 IP 주소 충돌이 일어날 것이다. 이 가능성을 배제하여 고유 주소로 설계하는 것이 좋은 디자인이다. iptables 명령을 사용하여 필터링을 실행하고 데비안 시스템을 부팅한 다음 로그인한다. iptables가 설치되어 있는지 확인하려면 터미널 창에 iptables -h를 입력하여 명령의 도움말을 표시해보자. 이 명령의 출력 예시를 다음 스크린 샷에서 보여준다:

    [p.152]
    Green - 10.4.0.10
    Orange - 10.3.0.10
    ->
    Green - 10.3.0.10
    Orange - 10.4.0.10