Top

배시 셸로 완성하는 모의 해킹 기술 [업무 생산성을 극대화하는 커맨드라인 팁]

  • 원서명Penetration Testing with Bash Shell
  • 지은이키이스 마칸
  • 옮긴이민병호
  • ISBN : 9788960775930
  • 16,000원
  • 2014년 08월 22일 펴냄
  • 페이퍼백 | 172쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 해킹과 보안

책 소개

요약

배시 셸(Bash Shell)은 리눅스 사용자라면 누구나 알고 있는 커맨드라인 환경이지만 알차게 활용하는 사람은 적다. 이 책에는 보안 전문가나 시스템 관리자로서 업무 생산성을 크게 높일 수 있는 배시 셸 팁이 가득하다. 책을 읽으며 나만의 사이버 업무 환경을 구축하고 다양한 작업을 자동화하다 보면 어느새 커맨드라인 환경을 정복한 진정한 보안 전문가로 거듭날 수 있다.

이 책에서 다루는 내용
  • 디그(Dig), 후이즈(whois), dnsenum, dnsmap 등을 이용한 네트워크 탐색 방법
  • 칼리 리눅스 커맨드라인 도구를 이용한 퍼징(fuzzing)과 리버스 엔지니어링 방법
  • 스킵피시(SkipFish), 아라츠니(Arachni)를 활용한 웹 애플리케이션 취약점 공격법
  • 커맨드라인에서 바로 수행하는 중간자 공격
  • SSlyze를 활용한 SSL 보안 평가 방법
  • TCPDump를 사용한 네트워크 트래픽 분석 방법
이 책의 대상 독자

칼리 리눅스 커맨드라인을 효율적으로 활용해서 모의 해킹을 효과적으로 수행하고 싶은 이나 범용 도구를 매우 능숙하게 사용해서 기술적인 보안 관련 문제를 해결하거나 다양한 작업을 자동화하고 싶은 사람이라면 누구나 이 책을 읽을 수 있다. 모의 해킹, 보안 점검, 시스템 관리, 보안 엔지니어링에 막 입문한 초심자에게도 매우 유용한 책이다.

이 책의 구성

1장, ‘배시 익히기’: 배시 터미널을 사용하는 데 필요한 기본 개념을 소개한다. 모의 해킹 수행자, 시스템 관리자, 보안을 신경 쓰는 개발자로서 매일 활용하게 될 도구들을 다룬다.

2장, ‘셸 개인화하기’: 독자 개개인의 필요에 따라 셸의 동작을 개인화할 수 있는 팁과 트릭을 중점적으로 다룬다. 커서와 텍스트 포맷팅, 명령 기록의 안전한 관리, 별칭(alias) 사용법, 커맨드라인 도구를 좀 더 쉽고 사용자 친화적으로 활용할 수 있게 해주는 탭 자동완성 등을 설명한다.

3장, ‘네트워크 정보 수집’: 타겟 탐색과 일반적인 네트워크 서비스를 대상으로 하는 정보 수집에 활용할 수 있는 커맨드라인 도구를 다룬다. Dnsmap, 엔맵(Nmap), 후이즈(Whois) 등 다양한 도구를 소개하며 이런 도구를 다른 커맨드라인 도구와 통합하는 방법도 설명한다.

4장, ‘익스플로잇과 리버스 엔지니어링’: 기초적인 리버스 엔지니어링 기술을 소개하고 호스트 기반의 공격용 커맨드라인 도구를 다룬다. msfcli, msfpayload, 그누(GNU_ gdb 등의 도구와 다양한 기술, 그리고 배시 스크립팅을 이용해서 이런 도구를 유용하게 묶는 방법을 설명한다.

5장, ‘네트워크 익스플로잇과 모니터링’: 모의 해킹 시 거의 항상 사용하게 될 네트워크 공격 도구를 다룬다. ARP스푸프(ARPSpoof), 이터캡(Ettercap), SSLyze 등의 도구와 함께 다양한 명령의 사용을 최적화하고 여러 가지 작업을 자동화하는 데 유용한 배시 스크립트와 명령을 소개한다.

저자/역자 소개

저자 서문

모의 해킹 기술은 최근 들어 지나치게 단순화된 그래픽 사용자 인터페이스 때문에 다소 왜곡되고 있다. 이런 그래픽 도구는 사용하기엔 쉽지만 수행 작업을 제어하는 게 거의 불가능하며 사용자에게 자세한 결과를 제공하지도 않는다. 더욱이 이런 보안 평가 솔루션은 대부분 가장 명백하고 확실한 취약점 사례를 자동으로 식별해서 공격하도록 개발됐다. 그 밖의 실질적인 취약점 사례는 모의 해킹 수행자가 스스로 작성한 스크트립트와 평가 도구를 사용해서 식별 및 공격해야 한다.

좋은 모의 해킹 수행자가 갖춰야 할 기본 기술 중 하나는 배시 스크립팅, 파이썬, 고(Go), 루비(Ruby) 등의 스크립팅이나 소프트웨어 개발 언어와 관련된 기초 기술이다. 개인화한 도구를 사용하면 쉽게 발견할 수 없는 취약점 사례를 처리할 수도 있고 보안 점검을 자신의 입맛에 맞게 자동화할 수도 있다. 방화벽, 침입 탐지/방지 시스템, 그 밖의 보안 모니터링 솔루션은 날로 발전하고 있으며 모의 해킹 수행자로서 이런 솔루션을 이길 수 있는 방법은 커맨드라인을 ’무기화‘ 할 수 있는 자신만의 도구를 작성하는 것이다.

이 책은 전세계 최고의 모의 해킹 수행자들이 침투 작업의 제어도를 극대화하는 데 사용하는 기본적인 기술, 팁, 트릭, 커맨드라인 기반 도구들을 다룬다. 모의 해킹에 특화된 커맨드라인이나 모의 해킹 자체에 관심이 있는 독자라면 이 책에서 다양한 내용을 배울 수 있다.

저자 소개

키이스 마칸(Keith Makan)

『Android Security Cookbook』의 주요 저자로 컴퓨터 보안에 푹 빠진 열정적인 보안 연구가다. 안드로이드 애플리케이션, 워드프레스 플러그인, 널리 쓰이는 브라우저 보안 소프트웨어(파이어폭스의 노스크립트(NoScript)와 구글 크롬의 XSS 감사도구(Auditor) 등)에 존재하는 취약점을 다수 공개했다. 이런 연구 성과로 인해 구글 애플리케이션 보안 명예의 전당에도 여러 번 등재됐다. 보안평가 전문가, 모의 해킹 전문가, 보안 자문단 등으로 2년 넘게 활동 중이다.

옮긴이의 말

칼리 리눅스는 가장 널리 사용되는 모의 해킹 플랫폼이다. 최근 배포판에서는 GUI가 많이 개선됐지만 리눅스의 대표 사용자 인터페이스는 여전히 커맨드라인 환경이다. 당연히 리눅스 사용자라면 커맨드라인 환경을 자유자재로 다룰 수 있어야 한다. 사무실 업무 환경을 잘 개인화하면 생산성을 극대화할 수 있듯이 리눅스의 기본 인터페이스 환경을 이해하고 제대로 활용하면 업무 생산성을 크게 향상시킬 수 있다. 워드 프로세서의 키보드 단축키에 능통한 사용자의 업무 처리 속도가 GUI를 주로 이용하는 사용자의 속도보다 훨씬 빠른 것과도 유사하다.

칼리 리눅스의 도구와 사용법을 다룬 책은 다양하지만 정작 도구가 실행되는 ‘리눅스’와 ‘커맨드라인 환경’을 친절하고 간결하게 설명한 책은 찾기 어렵다. 또 배시 셸만을 전문적으로 다룬 책은 있지만 보안 전문가가 수백 페이지에 달하는 책을 정독하기는 어렵다. 결과적으로 셸 환경에 대한 이해가 부족한 상황에서 도구 사용법만을 익힌 모의 해킹 수행자가 많을 수밖에 없고, 이는 제한된 업무 생산성을 초래할 수 있다.

이 책이 바로 이런 간극을 메워준다. 배시 셸의 다양한 측면을 다루지만 지나치게 깊이 파고들지는 않으며, 보안 전문가, 특히 모의 해킹 수행자에게 유용한 배시 셸 팁만을 뽑아 이해하기 쉽게 설명한다. 책은 배시 환경을 개인의 요구 사항에 맞게 개인화하는 것부터 배시 스크립팅으로 칼리 리눅스의 강력한도구들을 결합하는 것까지 한 번 익히면 두고두고 활용할 수 있는 팁으로 가득하다. 책의 내용은 간단명료하지만 참고 자료 목록이 풍부하기 때문에 한 주제를 깊게 공부하고자 하는 독자의 욕구도 채워준다.

모의 해킹이나 시스템 관리의 기본도 이해했고 관련 도구의 사용법도 어느 정도 익혔지만 정작 리눅스의 기본 사용자 인터페이스인 셸의 진정한 가치를 아직 경험하지 못했다면 이 책을 읽어보자. 그리고 물리적 업무 환경보다 더 중요할 수도 있는 사이버 업무 환경을 나만의 공간으로 탈바꿈시키고, 다양한 단순 업무를 자동화해보자.

옮긴이 소개

민병호

서울대학교 컴퓨터공학부에서 학사와 석사 학위를 마치고 정보 보안 연구원으로 활동했으며, 현재는 유학길에 올라 박사 과정을 밟고 있다. 『Hacking and Securing iOS Applications 한국어판』 등 10여 권의 IT와 보안 전문서를 번역했다.

목차

목차
  • 1장 배시 익히기
    • 맨 페이지 이용하기
    • 파일시스템 탐색과 검색
      • 디렉토리 탐색
      • 디렉토리 내용 나열
      • 파일시스템 검색
        • 디렉토리 탐색 옵션
          • 파일 검사 옵션
          • 파일 동작 옵션
    • I/O 리다이렉션 사용
      • 출력 리다이렉션
      • 입력 리다이렉션
    • 파이프 사용
    • 그렙 익히기
      • 정규 표현식 언어: 벼락치기
      • 정규 표현식 매칭 방식 옵션
      • 정규 표현식 매칭 제어 옵션
      • 출력 제어 옵션
      • 파일 선택 옵션
    • 정리
    • 더 읽어보기

  • 2장 셸 개인화하기
    • 터미널 출력 포맷팅
    • 프롬프트 문자열
    • 프롬프트 문자열 개인화
    • 별칭
    • 명령 내역 개인화
      • 민감한 정보의 보호
    • 탭 자동완성 개인화
    • 정리
    • 더 읽어보기

  • 3장 네트워크 정보 수집
    • 후이즈 서버 질의
      • DNS 서버 질의
        • 디그 사용하기
        • dnsmap 사용하기
    • 로컬 네트워크상의 타겟 탐색하기
      • Arping을 이용한 호스트 발견
      • 엔맵을 이용한 타겟 탐색
    • 정리
    • 더 읽어보기

  • 4장 익스플로잇과 리버스 엔지니어링
    • 메타스플로잇 커맨드라인 인터페이스 사용하기
      • msfcli 시작하기
      • msfcli의 실행 모드 사용하기
      • 배시와 msfcli
    • 메타스플로잇 페이로드 준비하기
    • 페이로드 생성과 사용
    • 바이너리 디스어셈블링
      • Objdump를 이용한 디스어셈블링
      • 어셈블리 코드 리버스 엔지니어링에 관한 참고사항
    • 바이너리 디버깅을 이용한 동적 분석
      • GDB 시작하기
      • 실행 브레이크 포인트와 감시 포인트 설정
      • 레지스터, 메모리 값, 런타임 정보 확인
    • 정리
    • 더 읽어보기

  • 5장 네트워크 익스플로잇과 모니터링
    • 맥과 ARP 악용
      • 맥 주소 스푸핑
      • 주소 결정 악용
    • 중간자 공격
      • 이터캡을 이용한 DNS 스푸핑
    • 서버 정보 수집
      • SNMP 정보 수집
      • SMTP 서버 정보 수집
    • 인증 브루트포스
      • 메두사 사용하기
    • TCPDump를 이용한 트래픽 필터링
      • TCPDump 기본 사용법
      • TCPDump의 패킷 필터 사용하기
    • SSL 구현의 보안성 평가
      • SSLyze 사용하기
      • SSLyze와 배시 팁
    • 자동화된 웹 애플리케이션 보안 평가
      • 스킵피시를 이용한 스캐닝
      • 아라츠니를 이용한 스캐닝
    • 정리
    • 더 읽어보기

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[ p55 ]

grep 'printf' -m 1 -color ~ ---> grep 'print' -m 1 -color ~