Top

초보 해커를 위한 해킹 입문 세트

  • 지은이존 에릭슨, 저스틴 지이츠
  • ISBN : 9788960772052
  • 49,000원
  • 2011년 05월 31일 펴냄
  • 페이퍼백 | 956쪽 | 188*250mm
  • 시리즈 : 해킹과 보안

책 소개

[ 세트 구성: 전2권 ]

1) 『(개정판) 해킹: 공격의 예술』
2) 『파이썬 해킹 프로그래밍: 프로그래머라면 누구나 할 수 있는』


『(개정판) 해킹: 공격의 예술』 소개

프로그래밍에서부터 공격 가능한 기계어 코드까지 해킹에 필요한 모든 것을 다룸으로써 해킹의 세계를 좀 더 쉽게 이해할 수 있도록 해킹의 예술과 과학을 설파한 책. 해킹을 공부하고 싶지만 어디서부터 시작해야 할지 모르는 초보 해커들에게 해킹의 진수를 알려주는 한편, 실제 코드와 해킹 기법, 동작 원리에 대한 설명이 가득한 간결하고 현실적인 해킹 가이드다. 기본적인 C 프로그래밍에서부터 기본 공격 기법, 네트워크 공격, 셸코드 공격과 그에 대한 대응책까지 해킹의 거의 모든 부분을 다룬다.


『파이썬 해킹 프로그래밍』 소개

해커와 리버스 엔지니어가 꼭 알아야 할 손쉽고 빠른 파이썬 해킹 프로그래밍. 디버거, 트로이목마, 퍼저, 에뮬레이터 같은 해킹 툴과 해킹 기술의 기반 개념을 설명하며, 기존 파이썬 기반 보안 툴의 사용법과 기존 툴이 만족스럽지 않을 때 직접 제작하는 방법도 알려준다.

저자/역자 소개

[ 저자 소개 ]

존 에릭슨 (John Erickson)
컴퓨터 과학을 전공했으며 5살 때부터 해킹과 프로그래밍을 해왔다. 컴퓨터 보안 컨퍼런스에서 자주 발표하고, 세계 각국을 돌면서 보안 관련 교육을 한다. 현재는 북 캘리포니아에서 취약점 연구원 겸 보안 전문가로 일하고 있다.

저스틴 지이츠 (Justin Seitz)
Immunity, Inc.의 선임 보안 연구원으로, 주로 버그 헌팅, 리버스 엔지니어링, 공격 코드 작성, 파이썬 코드 작성에 대부분의 시간을 보낸다.


[ 옮긴이 소개

장재현
KAIST 전산학과와 서울대학교 컴퓨터공학과 대학원을 졸업했다. 해킹, 모바일, 웹, 소셜 네트워킹 등의 키워드에 관심이 많다. 현재는 삼성전자 DMC 연구소에서 다양한 모바일 플랫폼과 고군분투하고 있다. 최근에는 트위터 @ELiXirrr에서 근황을 확인할 수 있다.

강유
서울대학교 보안 동아리 ‘가디언’의 창립 멤버로 참여했고 초대 회장을 지냈다. 현재 미국 카네기 멜론 대학 컴퓨터 사이언스 박사 과정에 재학 중이다. 저서로 『강유의 해킹 & 보안 노하우』가 있으며, 대표적인 역서로 『네트워크를 훔쳐라』, 『조엘이 엄선한 소프트웨어 블로그 베스트 29선』, 『TCP/IP 완벽 가이드』 등이 있다.

윤근용
시스템 프로그래머로서 시스템에 대한 다양한 분야에 관심이 많으며 특히 보안 분야에 대한 관심이 높아 다년간 보안 업무에 종사하고 있다. 바이러스 보안 업체를 거쳐 현재는 NHN에서 보안 관련 프로젝트를 수행 중이다. 에이콘출판사 해킹•보안 시리즈 에디터로서 『웹 애플리케이션 해킹 대작전』, 『실전 해킹 절대 내공』, 『루트킷』, 『리버싱』을 번역했다.

목차

목차
  • 『(개정판) 해킹: 공격의 예술』
  • 0x100장 들어가며
  • 0x200장 프로그래밍
    • 0x210 프로그래밍이란?
    • 0x220 가상 코드
    • 0x230 제어 구조
      • 0x231 If-Then-Else
      • 0x232 While/Until 루프
      • 0x233 For 루프
    • 0x240 기본적인 프로그래밍 개념
      • 0x241 변수
      • 0x242 산술 연산자
      • 0x243 비교 연산자
      • 0x244 함수
    • 0x250 직접 해보기
      • 0x251 큰 그림 이해하기
      • 0x252 x86 프로세서
      • 0x253 어셈블리 언어
    • 0x260 기본으로 돌아가기
      • 0x261 문자열
      • 0x262 Signed, Unsigned, Long, Short
      • 0x263 포인터
      • 0x264 형식 문자열
      • 0x265 형 변환
      • 0x266 커맨드라인 인자
      • 0x267 변수 범위
    • 0x270 메모리 세그먼트
      • 0x271 C에서의 메모리 세그먼트
      • 0x272 힙 사용하기
      • 0x273 오류 확인된 malloc()
    • 0x280 기초 쌓기
      • 0x281 파일 접근
      • 0x282 파일 권한
      • 0x283 사용자 ID
      • 0x284 구조체
      • 0x285 함수 포인터
      • 0x286 가상 난수
      • 0x287 확률 게임
  • 0x300장 공격
    • 0x310 일반 공격 기법
    • 0x320 버퍼 오버플로우
      • 0x321 스택 기반 버퍼 오버플로우의 취약점
    • 0x330 BASH 셸로 해킹하기
      • 0x331 환경 변수 이용하기
    • 0x340 기타 세그먼트 오버플로우
      • 0x341 힙 기반 오버플로우
      • 0x342 함수 포인터 오버플로우
    • 0x350 포맷 스트링
      • 0x351 포맷 인자
      • 0x352 포맷 스트링 취약점
      • 0x353 임의의 메모리 주소에서 읽기
      • 0x354 임의의 메모리 주소에 쓰기
      • 0x355 인자에 직접 접근
      • 0x356 쇼트 쓰기 기법
      • 0x357 소멸자를 이용한 우회법
      • 0x358 노트 검색 프로그램의 취약점
      • 0x359 전역 오프셋 테이블 덮어쓰기
  • 0x400장 네트워킹
    • 0x410 OSI 모델
    • 0x420 소켓
      • 0x421 소켓 함수
      • 0x422 소켓 주소
      • 0x423 네트워크 바이트 순서
      • 0x424 인터넷 주소 변환
      • 0x425 간단한 서버 예제
      • 0x426 웹 클라이언트 예제
      • 0x427 작은 웹서버
    • 0x430 하위 계층 해부
      • 0x431 데이터링크 계층
      • 0x432 네트워크 계층
      • 0x433 전송 계층
    • 0x440 네트워크 스니핑
      • 0x441 로 소켓 스니퍼
      • 0x442 libpcap 스니퍼
      • 0x443 계층 해독
      • 0x444 능동 스니핑
    • 0x450 서비스 거부
      • 0x451 SYN 홍수
      • 0x452 죽음의 핑
      • 0x453 티어드랍
      • 0x454 핑 홍수
      • 0x455 증폭 공격
      • 0x456 분산 DoS 홍수
    • 0x460 TCP/IP 하이재킹
      • 0x461 RST 하이재킹
      • 0x462 지속되는 하이재킹
    • 0x470 포트 스캐닝
      • 0x471 스텔스 SYN 스캔
      • 0x472 FIN, X-mas, Null 스캔
      • 0x473 가짜 스캔 패킷 이용
      • 0x474 유휴 스캐닝
      • 0x475 사전 방어(가리개)
    • 0x480 네트워크 건너 해킹하기
      • 0x481 GDB로 분석하기
      • 0x482 tinyweb 공격해보기
      • 0x483 포트 바인딩 셸코드
  • 0x500장 셸코드
    • 0x510 어셈블리와 C
      • 0x511 어셈블리 리눅스 시스템 콜
    • 0x520 셸코드로 가는 길
      • 0x521 스택을 사용한 어셈블리 명령
      • 0x522 GDB로 조사
      • 0x523 널 바이트 제거
    • 0x530 셸을 생성하는 셸코드
      • 0x531 권한 문제
      • 0x532 셸코드 좀 더 작게 만들기
    • 0x540 포트 바인딩 셸코드
      • 0x541 표준 파일 서술자 복제
      • 0x542 분기 제어 구조
    • 0x550 커넥트 백 셸코드
  • 0x600장 대응책
    • 0x610 탐지 대응책
    • 0x620 시스템 데몬
      • 0x621 시그널
      • 0x622 tinyweb 데몬
    • 0x630 주요 툴
      • 0x631 tinywebd 공격 툴
    • 0x640 로그 파일
      • 0x641 군중 속에 숨기
    • 0x650 보지 못하고 지나치기
      • 0x651 한 번에 하나씩
      • 0x652 원래대로 만들기
      • 0x653 자식 프로세스 호출
    • 0x660 고급 위장법
      • 0x661 로그의 IP 주소 스푸핑
      • 0x662 로그없는 공격
    • 0x670 전체 기반 시스템
      • 0x671 소켓 재사용
    • 0x680 페이로드 은닉
      • 0x681 문자열 인코딩
      • 0x682 썰매 숨기는 방법
    • 0x690 버퍼 제한
      • 0x691 다형의 출력 가능한 ASCII 셸코드
    • 0x6a0 대응책 보강
    • 0x6b0 실행 불가능 스택
      • 0x6b1 ret2libc
      • 0x6b2 system()으로 리턴
    • 0x6c0 임의 스택 공간
      • 0x6c1 BASH와 GDB로 조사
      • 0x6c2 linux-gate 이용기
      • 0x6c3 응용 지식
      • 0x6c4 첫 번째 시도
      • 0x6c5 도박하기
  • 0x700장 암호학
    • 0x710 정보 이론
      • 0x711 절대적 보안
      • 0x712 원타임 패드
      • 0x713 양자 키 분배
      • 0x714 계산 불능 보안
    • 0x720 알고리즘 실행 시간
      • 0x721 점근 표기법
    • 0x730 대칭 암호 방식
      • 0x731 러브 그로버의 양자 검색 알고리즘
    • 0x740 비대칭 암호화
      • 0x741 RSA
      • 0x742 피터 쇼어의 양자 인수분해 알고리즘
    • 0x750 혼성 암호
      • 0x751 맨 인 더 미들 공격
      • 0x752 SSH 프로토콜 호스트 핑거프린트 버전 이용
      • 0x753 퍼지 핑거프린트
    • 0x760 비밀번호 크래킹
      • 0x761 사전 공격
      • 0x762 전수 조사 공격
      • 0x763 해시 룩업 테이블
      • 0x764 비밀번호 확률 행렬
    • 0x770 무선 802.11b 암호화
      • 0x771 WEP
      • 0x772 RC4 스트림 암호 방식
    • 0x780 WEP 공격
      • 0x781 오프라인 전수 조사 공격
      • 0x782 키스트림 재사용
      • 0x783 IV 기반 복호화 사전 테이블
      • 0x784 IP 리다이렉션
      • 0x785 Fluhrer, Mantin, Shamir 공격
  • 0x800장 결론
    • 0x810 참고 문헌
    • 0x820 소스코드

  • 『파이썬 해킹 프로그래밍』
  • 1장 개발 환경 구축
    • 1.1 운영체제 요구 사항
    • 1.2 파이썬 2.5 설치
      • 1.2.1 윈도우에서의 파이썬 설치
      • 1.2.2 리눅스에서의 파이썬 설치
    • 1.3 이클립스와 PyDev 설치
      • 1.3.1 ctypes
      • 1.3.2 동적 라이브러리 이용
      • 1.3.3 C 데이터 타입
      • 1.3.4 레퍼런스를 통한 파라미터 전달
      • 1.3.5 구조체와 유니언 정의
  • 2장 디버거
    • 2.1 범용 CPU 레지스터
    • 2.2 스택
    • 2.3 디버그 이벤트
    • 2.4 브레이크포인트
      • 2.4.1 소프트 브레이크포인트
      • 2.4.2 하드웨어 브레이크포인트
      • 2.4.3 메모리 브레이크포인트
  • 3장 윈도우 디버거 개발
    • 3.1 디버기
    • 3.2 CPU 레지스터 상태 얻기
      • 3.2.1 스레드 리스트
      • 3.2.2 종합
    • 3.3디버그 이벤트 핸들러 구현
    • 3.4브레이크포인트
      • 3.4.1 소프트 브레이크포인트
      • 3.4.2 하드웨어 브레이크포인트
      • 3.4.3 메모리 브레이크포인트
    • 3.5 정리
  • 4장 PyDbg - 순수 파이썬 윈도우 디버거
    • 4.1 브레이크포인트 확장
    • 4.2 접근 위반 핸들러
    • 4.3 프로세스 스냅샷
      • 4.3.1 프로세스 스냅샷 얻기
      • 4.3.2 종합
  • 5장 Immunity 디버거
    • 5.1 Immunity 디버거 설치
    • 5.2 Immunity 디버거 101
      • 5.2.1 PyCommand
      • 5.2.2 PyHooks
    • 5.3 공격 코드 개발
      • 5.3.1 공격 코드에서 사용할 명령 찾기
      • 5.3.2 문자 필터링
      • 5.3.3 윈도우의 DEP 우회
    • 5.4 악성 코드의 안티 디버깅 루틴 무력화
      • 5.4.1 IsDebuggerPresent
      • 5.4.2 반복적인 프로세스 탐지 기법 우회
  • 6장 후킹
    • 6.1 PyDbg를 이용한 소프트 후킹
    • 6.2 Immunity 디버거를 이용한 하드 후킹
  • 7장 DLL과 코드 인젝션
    • 7.1 원격 스레드 생성
      • 7.1.1 DLL 인젝션
      • 7.1.2 코드 인젝션
    • 7.2 백도어 제작
      • 7.2.1 파일 숨기기
      • 7.2.2 백도어 코딩
      • 7.2.3 py2exe로 컴파일하기
  • 8장 퍼징
    • 8.1 버그의 유형
      • 8.1.1 버퍼 오버플로우
      • 8.1.2 정수 오버플로우
      • 8.1.3 포맷 스트링 공격
    • 8.2 파일 퍼저
    • 8.3 추가 고려 사항
      • 8.3.1 코드 커버리지
      • 8.3.2 자동화된 정적 분석
  • 9장 Sulley
    • 9.1 Sulley 설치
    • 9.2 Sulley 프리미티브
      • 9.2.1 문자열
      • 9.2.2 구분자
      • 9.2.3 정적, 랜덤 프리미티브
      • 9.2.4 바이너리 데이터
      • 9.2.5 정수
      • 9.2.6 블록과 그룹
    • 9.3 Sulley를 이용한 WarFTPD 퍼징
      • 9.3.1 FTP 기초
      • 9.3.2 FTP 프로토콜의 골격 생성
      • 9.3.3 Sulley 세션
      • 9.3.4 네트워크와 프로세스 모니터링
      • 9.3.5 퍼징과 Sulley 웹 인터페이스
  • 10장 윈도우 드라이버 퍼징
    • 10.1 드라이버 통신
    • 10.2 Immunity 디버거를 이용한 드라이버 퍼징
    • 10.3 Driverlib - 드라이버 정적 분석 툴
      • 10.3.1 디바이스 이름 알아내기
      • 10.3.2 IOCTL 디스패치 루틴 찾기
      • 10.3.3 IOCTL 코드 찾기
    • 10.4 드라이버 퍼저 작성
  • 11장 IDAPython - IDA Pro 스크립팅
    • 11.1 IDAPython 설치
    • 11.2 IDAPython 함수
      • 11.2.1 유틸리티 함수
      • 11.2.2 세그먼트
      • 11.2.3 함수
      • 11.2.4 교차 참조
      • 11.2.5 디버거 후킹
    • 11.3 스크립트 예제
      • 11.3.1 위험한 함수에 대한 교차 참조 찾기
      • 11.3.2 함수 코드 커버리지
      • 11.3.3 스택의 크기 계산
  • 12장 PyEmu - 스크립트 가능한 에뮬레이터
    • 12.1 PyEmu 설치
    • 12.2 PyEmu 개요
      • 12.2.1 PyCPU
      • 12.2.2 PyMemory
      • 12.2.3 PyEmu
      • 12.2.4 실행
      • 12.2.5 메모리와 레지스터 변경자
      • 12.2.6 핸들러
    • 12.3 IDAPyEmu
      • 12.3.1 함수 에뮬레이트
      • 12.3.2 PEPyEmu
      • 12.3.3 실행 파일 팩커
      • 12.3.4 UPX 팩커

도서 오류 신고

도서 오류 신고

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

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

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