침투 본능, 해커의 기술

해킹 공격자의 관점에서 바라보는 웹 애플리케이션 보안 안내서

《침투 본능, 해커의 기술》은 독자를 웹 침투 테스트를 수행하는 공격자의 입장에 서게 한다. 웹 애플리케이션의 성능을 테스트하는 일은 흔하지만, 공격을 막는 수비자의 입장에서 끊임없이 변화하는 보안 지형에 대응하는 보안 테스팅은 더 어렵다.

웹 애플리케이션의 잠재적 위협을 완전히 찾아내 방어해 준다고 주장하는 도구는 많지만, 각자의 웹 애플리케이션과 서비스에 정말로 유용한지는 따져볼 필요가 있다. 그러기 위해서는 공격자가 웹 애플리케이션에 어떻게 접근해 방어를 뚫는지 이해해야 한다.

이 책의 전반부에서는 일반적인 취약점을 알아보고 공격에 취약점을 이용하는 법을 배운다. 후반부에서는 실제적인 최신 기법을 배우며, 널리 사용되는 콘텐츠 관리 시스템과 컨테이너 애플리케이션을 대상으로 삼는 공격 시나리오를 연구한다.

《침투 본능, 해커의 기술》은 공격자의 눈으로 웹 애플리케이션 보안을 바라보는 명쾌한 안내서로, 공격과 수비 양측 모두에 도움이 될 것이다.

★ 이 책에서 다루는 내용 ★

  • 공격자의 마음가짐
  • 방어 전략 도입
  • 웹 애플리케이션에 대한 위협을 분류하고 대응 계획 세우기
  • 시스템 보안 문제에 대비하기
  • 워드프레스(WordPress)와 모바일 애플리케이션 보호
  • 보안성을 높여 원격 실행을 방지하는 도구와 계획

아드리안 프루티아누(Adrian Pruteanu)

아드리안 프루티아누는 성공한 보안 컨설턴트 및 연구자로, 공격이 그의 전문 분야다. 수많은 침투 테스트, 레드 팀 훈련, 애플리케이션 보안 평가를 수행하며 10년이 넘는 경력을 쌓았다. 포춘 500대 기업과 일하면서 취약점 식별 및 맬웨어 샘플의 역공학을 통해 그들의 보안 시스템을 강화하는 것을 돕고 있다. 또한 CISSP, OSCE, OSCP, GXPN, GREM 및 다수의 마이크로소프트(Microsoft) 자격증을 보유하고 있다. 그는 마이크로소프트의 공인 강사로 여러 고객에 맞춤 트레이닝을 제공했다.

여가 시간에는 침투 테스팅에 도움을 주거나 온라인 사용자를 안전하게 만드는 새로운 도구와 소프트웨어를 개발하는 것을 좋아한다. 때로는 버그 바운티에 참여하고 취약점 연구와 (책임감 있는) 공개에 시간을 쏟는다.

최용

한국방송통신대학교에서 컴퓨터과학을 전공하고, 은행 전산실 운영과 배치 작업 자동화(Workload Automation)를 지원하는 기술자로 일했다. 번역한 책으로는 《블록체인으로 구현하는 사이버 보안》(위키북스 2018), 《솔리디티 프로그래밍 에센셜》(위키북스 2018), 《익스플로링 라즈베리 파이》(위키북스 2018), 《파이썬으로 배우는 데이터 과학 입문과 실습》(위키북스 2018)이 있다.

  • ▣ 01장: 웹 애플리케이션 공격 소개
    • 교전 수칙
      • 의사소통
      • 프라이버시 고려 사항
      • 뒷정리
    • 테스트 도구
      • 칼리 리눅스(Kali Linux)
      • 칼리 리눅스를 대체할 수 있는 도구
    • 공격 프락시
      • 버프 스위트(Burp Suite)
      • ZAP(Zed Attack Proxy)
    • 클라우드 인프라
    • 참고 자료
    • 실습
    • 요약
    •  
  • ▣ 02장: 효율적 탐색
    • 평가 유형
    • 보안 스캐너
      • masscan
      • WhatWeb
      • Nikto
      • CMS 스캐너
    • 효율적 무차별 공격
      • 콘텐츠 탐색(content discovery)
      • 지속적 콘텐츠 탐색
      • 페이로드 처리
    • 폴리글랏 페이로드
      • 단일 페이로드를 여러 문맥에서 실행
      • 코드 난독화
    • 참고 자료
    • 실습
    • 요약
    •  
  • ▣ 03장: 손쉬운 먹잇감
    • 네트워크 평가
      • 침투 경로 물색하기
      • 자격증명 추측하기
    • 위블리 셸로 업그레이드하기
    • 뒷정리
    • 참고 자료
    • 요약
    •  
  • ▣ 04장: 고급 무차별 공격
    • 패스워드 스프레이
      • 링크드인(LinkedIn) 스크레이핑
      • FOCA를 사용한 메타데이터 분석
      • cluster bomb 공격
    • 공격 원점 숨기기
      • 토르(Tor)
      • 프락시 캐논(Proxy cannon)
    • 요약
    •  
  • ▣ 05장: 파일 인클루전 공격
    • RFI(원격 파일 인클루전)
    • LFI(로컬 파일 인클루전)
    • 파일 인클루전으로 원격 코드 실행
    • 그 외의 파일 업로드 관련 문제들
    • 요약
    •  
  • ▣ 06장: 대역 외 익스플로잇
    • 일반적인 시나리오
    • C2 VM 인스턴스 배포
    • 렛츠 인크립트(Let’s Encrypt) 인증서 설치
    • INetSim
    • 취약점 존재 여부 확인
    • 비동기 데이터 탈취
    • 데이터 추론하기
    • 요약
    •  
  • ▣ 07장: 테스팅 자동화
    • 버프 확장
      • 인증 악용
      • CO2 플러그인
    • 코드 난독화
    • 버프 컬래보레이터
      • 퍼블릭 컬래보레이터 서버
      • 프라이빗 컬래보레이터 서버
    • 요약
    •  
  • ▣ 08장: 나쁜 직렬화
    • PHP 역직렬화 악용
    • 자바로 구현한 커스텀 프로토콜 공격하기
      • 프로토콜 분석
      • 역직렬화 익스플로잇
    • 요약
    •  
  • ▣ 09장: 클라이언트 측 공격의 실제
    • 동일 출처 정책(SOP)
    • 교차 원점 리소스 공유
    • XSS
      • 반사 XSS
      • 지속 XSS
      • DOM 기반 XSS
    • CSRF
    • 비프(BeEF)
      • 후킹
      • 사회공학 공격
      • 키 로거
      • 지속성
      • 자동 익스플로잇
      • 트래픽 터널링
    • 요약
    •  
  • ▣ 10장: 서버 측 공격의 실제
    • 내부 및 외부 참조
    • XXE(XML 외부 엔티티) 공격
      • XML 폭탄
      • 요청 위조
      • 정보 빼내기
      • 블라인드 XXE
      • 원격 코드 실행
      • 인터랙티브 셸
    • 요약
    •  
  • ▣ 11장: API를 공격하기
    • API 통신 프로토콜
      • SOAP
      • REST
    • API 인증
      • 기본 인증
      • API 키
      • Bearer 인증
      • JWT(JSON 웹 토큰)
    • 버프 JWT 지원
    • 포스트맨(Postman)
      • 설치
      • 업스트림 프락시
      • 환경
      • 컬렉션(Collection)
      • 컬렉션 러너(Collection Runner)
    • 공격 고려 사항
    • 요약
    •  
  • ▣ 12장: CMS 공격하기
    • 애플리케이션 평가
      • WPScan
      • sqlmap
      • Droopescan
      • 아라크니(Arachni) 웹 스캐너
    • 코드에 백도어 심기
      • 지속성 얻기
      • 자격증명 탈취
    • 요약
    •  
  • ▣ 13장: 도커 컨테이너 공격하기
    • 취약한 도커 시나리오
    • 컨테이너에 셸 액세스하기
    • 다른 컨테이너로 피벗
    • 컨테이너 탈출
    • 요약