實戰 해킹 & 보안 필독 세트
- 원서명Penetration Tester's Open Source Toolkit, Hacking: The Art of Exploitation
- 지은이Johnny Long, Jon Erickson
- 옮긴이강유, 윤근용
- ISBN : 9788960770539
- 45,000원
- 2009년 11월 27일 펴냄 (절판)
- 페이퍼백 | 998쪽 | 190*255mm
- 시리즈 : 해킹과 보안
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
[ 세트 구성: 전2권 ]
1) 『실전해킹 절대내공: 오픈소스 툴킷을 이용한』
2) 『해킹: 공격의 예술』
『실전해킹 절대내공』 소개
모의 해킹에서는 특정한 서버나 소프트웨어의 취약점을 알고 있는 것도 중요하지만 정보 수집, 열거, 취약점 분석, 실제 공격에 이르는 전 과정을 빠짐없이 수행할 수 있는 자신만의 체계를 확립하는 것이 더욱 중요하다. 이 책은 이러한 체계적인 모의 해킹 과정을 습득하는 데 많은 도움을 준다. 또한 모의 해킹 전 과정을 오픈소스 툴킷을 이용해 수행한다는 것이 최대의 강점이며, 분석 대상 환경에 맞게 기존 툴을 변경하거나 새로운 취약점 분석 기능을 추가할 수 있는 방법을 설명함으로써 실전 해킹 및 보안 분석에 매우 유용하다.
『해킹』 소개
진정한 해킹을 위한 핵심 기술!
이 책은 해킹의 이론뿐만 아니라 그 뒤에 존재하는 세부적인 기술을 설명한다. 해킹의 핵심기술과 창조적인 트릭을 배우면서 여러분은 해커 정신을 이해하게 될 것이다. 일단 여러분이 해커처럼 생각할 수 있다면, 직접 해킹 코드를 개발하거나 새로운 기법을 고안할 수 있다. 그리고 여러분의 시스템을 공격하려는 해커를 막을 수도 있다.
이 책은 다양한 해킹 기법을 설명하는데 그 중 대부분은 매우 기술적인 내용을 담고 있다. 이들 해킹 기법에서 쓰이는 핵심 프로그래밍 개념을 소개한다. 일반적인 프로그래밍 지식이 있다면 이 책을 읽는데 확실히 도움이 될 것이다. 여기서 소개한 예제 코드는 Linux를 운영하는 x86 컴퓨터용이다. 그렇지만 이와 유사한 다른 컴퓨터를 가지고 예제를 테스트 하는 것도 좋은 방법이다. 그렇게 하면 당신은 시스템별로 결과의 차이를 알 수 있고 새로운 것을 시험할 수 있기 때문이다. 사실 바로 그것이 해킹이다.
1) 『실전해킹 절대내공: 오픈소스 툴킷을 이용한』
2) 『해킹: 공격의 예술』
『실전해킹 절대내공』 소개
모의 해킹에서는 특정한 서버나 소프트웨어의 취약점을 알고 있는 것도 중요하지만 정보 수집, 열거, 취약점 분석, 실제 공격에 이르는 전 과정을 빠짐없이 수행할 수 있는 자신만의 체계를 확립하는 것이 더욱 중요하다. 이 책은 이러한 체계적인 모의 해킹 과정을 습득하는 데 많은 도움을 준다. 또한 모의 해킹 전 과정을 오픈소스 툴킷을 이용해 수행한다는 것이 최대의 강점이며, 분석 대상 환경에 맞게 기존 툴을 변경하거나 새로운 취약점 분석 기능을 추가할 수 있는 방법을 설명함으로써 실전 해킹 및 보안 분석에 매우 유용하다.
『해킹』 소개
진정한 해킹을 위한 핵심 기술!
이 책은 해킹의 이론뿐만 아니라 그 뒤에 존재하는 세부적인 기술을 설명한다. 해킹의 핵심기술과 창조적인 트릭을 배우면서 여러분은 해커 정신을 이해하게 될 것이다. 일단 여러분이 해커처럼 생각할 수 있다면, 직접 해킹 코드를 개발하거나 새로운 기법을 고안할 수 있다. 그리고 여러분의 시스템을 공격하려는 해커를 막을 수도 있다.
이 책은 다양한 해킹 기법을 설명하는데 그 중 대부분은 매우 기술적인 내용을 담고 있다. 이들 해킹 기법에서 쓰이는 핵심 프로그래밍 개념을 소개한다. 일반적인 프로그래밍 지식이 있다면 이 책을 읽는데 확실히 도움이 될 것이다. 여기서 소개한 예제 코드는 Linux를 운영하는 x86 컴퓨터용이다. 그렇지만 이와 유사한 다른 컴퓨터를 가지고 예제를 테스트 하는 것도 좋은 방법이다. 그렇게 하면 당신은 시스템별로 결과의 차이를 알 수 있고 새로운 것을 시험할 수 있기 때문이다. 사실 바로 그것이 해킹이다.
목차
목차
- 『실전해킹 절대내공』
- 1장 정탐
- 목표
- 접근법
- 정탐 방법론
- 정보 수집
- 풋프린팅
- 검증
- 핵심 기술
- 정보 수집
- 검색 엔진
- WHOIS
- RWHOIS
- 도메인 네임 레지스트리와 레지스트라
- 웹사이트 복사 툴
- 풋프린팅
- DNS
- SMTP
- 검증
- 가상 호스팅
- IP 서브넷팅
- 대륙별 인터넷 레지스트리
- 정보 수집
- 오픈소스 툴
- 정보 수집 툴
- 웹 자원
- *nix 명령행 툴
- 오픈소스 윈도우 툴
- WinBiLE
- 풋프린팅 툴
- 웹 자료
- *nix 콘솔 툴
- 오픈소스 윈도우 툴
- 검증 툴
- 웹 자료
- *nix 콘솔 툴
- 사례 연구: 실제 툴 사용
- 인터넷에 연결된 네트워크에 대한 정보 수집, 풋프린팅, 검증
- 풋프린팅
- 검증
- 정보 수집 툴
- 2장 열거와 스캐닝
- 목표
- 접근 방법
- 스캐닝
- 열거
- 핵심 기술
- 스캐닝은 어떻게 동작하는가
- 포트 스캐닝
- 열거 과정의 배후에서 일어나는 일
- 서비스 식별
- RPC 열거
- 핑거프린팅
- 눈에 띄는 스캔, 스텔스 스캔, 그 중간
- 타이밍
- 대역폭 문제
- 비정상적 패킷 생성
- 스캐닝은 어떻게 동작하는가
- 오픈소스 툴
- 스캐닝
- Fyodor의 nmap
- netenum: ping 스윕
- unicornscan: 포트 스캔
- scanrand: 포트 스캔
- 열거
- nmap: 배너 수집
- 윈도우 열거: smbgetserverinfo/smbdumpusers
- 스캐닝
- 사례 연구: 실제 툴 사용
- 외부 공격
- 내부 공격
- 스텔스 방법
- 눈에 띄는 방법 - IDS 테스트
- 추가 정보
- 3장 데이터베이스 테스트
- 목표
- 예상 독자
- 개요
- 접근 방법
- 데이터베이스 테스트 환경
- 데이터베이스 침투 테스트 절차
- 핵심 기술
- 기본 용어
- 데이터베이스 설치
- 기본 사용자와 새 사용자
- 역할과 권한
- 기술적 세부 사항
- 오픈소스 툴
- 정보 수집
- 풋프린팅, 스캐닝, 열거 툴
- 포트를 이용해 데이터베이스 서버 찾기
- 열거 툴
- 인증이 필요없는 열거
- 취약점 평가와 공격 툴
- 네서스 검사
- 네서스 데이터베이스 취약점 해석
- OScanner와 OAT
- SQLAT
- WHAX 툴
- 사례 연구: 실제 툴 사용
- MS SQL 평가
- 오라클 평가
- 추가 정보
- 데이터베이스 찾기
- 열거 툴
- 목표
- 4장 웹 서버 & 웹 애플리케이션 테스트
- 목표
- 개요
- 웹 서버 취약점 - 짧은 역사
- 웹 애플리케이션 - 새로운 도전
- 다루는 내용
- 개요
- 접근 방법
- 접근 방법: 웹 서버 테스트
- 접근 방법: CGI와 기본 페이지 테스트
- 접근 방법: 웹 애플리케이션 테스트
- 핵심 기술
- 웹 서버 공격 기본
- 공격 개요
- CGI와 기본 페이지 공격
- 웹 애플리케이션 평가
- 정보 수집 공격
- 파일 시스템과 디렉토리 순회 공격
- 명령 실행 공격
- 데이터베이스 요청 삽입 공격
- 크로스 사이트 스크립팅
- 인증과 인가
- 인자 전달 공격
- 웹 서버 공격 기본
- 오픈소스 툴
- 정보 수집 툴
- 스캐닝 툴
- 평가 툴
- 인증
- Proxy
- 공격 툴
- 사례 연구: 실제 툴 사용
- 웹 서버 평가
- CGI와 기본 페이지 공격
- 웹 애플리케이션 평가
- 목표
- 5장 Auditor를 이용한 무선 침투 테스트
- 목표
- 개요
- 접근 방법
- WLAN 취약점 이해
- WLAN 취약점의 진화
- 핵심 기술
- WLAN 발견
- 적합한 안테나 선택
- WLAN 암호화
- WEP
- WPA/WPA 2
- EAP
- VPN
- 공격
- WEP 공격
- WPA 공격
- LEAP 공격
- VPN 공격
- WLAN 발견
- 오픈소스 툴
- 풋프린팅 툴
- 정보 수집 툴
- 유즈넷 뉴스그룹
- 구글
- 스캐닝 툴
- Wellenreiter
- Kismet
- 열거 툴
- 취약점 평가 툴
- 공격 툴
- MAC 주소 스푸핑
- Void11을 통한 인증 해제
- Aircrack 슈트를 이용한 WEP 크랙
- CoWPAtty를 이용한 WPA 크랙
- 사례 연구
- 사례 연구: WEP 크랙
- 사례 연구: WPA-PSK 크랙
- 추가 정보
- 추가 GPSMap 맵 서버
- 추가 GPSMap 맵 서버
- 6장 네트워크 장비
- 목표
- 접근 방법
- 핵심 기술
- 오픈소스 툴
- 풋프린팅 툴
- traceroute
- DNS
- nmap
- ICMP
- IKE-scan
- 스캐닝 툴
- nmap
- ASS
- Cisco Torch
- Snmpfuzz.pl
- 열거 툴
- SNMP
- Finger
- 취약점 평가 툴
- 네서스
- 공격 툴
- ADMsnmp
- Hydra
- TFTP-Bruteforce
- Cisco Global Exploiter
- IRPAS
- Ettercap
- 풋프린팅 툴
- 사례 연구: 실제 툴 적용
- 무차별 공격으로 라우터 설정 파일 획득
- 추가 정보
- 범용/기본 벤더 비밀번호
- cge.pl 수정
- 참고 자료
- 소프트웨어
- 7장 오픈소스 보안 툴 작성
- 개요
- 보안 툴을 직접 작성할 필요가 있을까?
- 프로그래밍 절차
- 1단계: 질문을 제대로 이해하기
- 2단계: 문제를 작고 관리 가능한 작은 문제로 분리
- 3단계: 의사코드 작성
- 4단계: 실제 코드 구현
- 언어
- 프로그래밍 언어
- 로고
- 베이직
- 델파이
- C/C++
- 펄
- C#
- 파이썬
- 자바
- 웹 애플리케이션 언어
- PHP
- ASP/ASP.NET
- 프로그래밍 언어
- IDE
- 이클립스
- KDevelop
- 마이크로소프트 비주얼 스튜디오 .NET
- Monodevelop
- 빠른 언어 습득을 위한 미니 가이드
- 개요
- 펄 미니 가이드
- 기본 프로그램 구조, 데이터 구조, 조건문, 루프
- 기본적인 파일 입출력과 서브루틴
- 소켓 통신과 MySQL 사용
- 웹 서비스 사용과 CGI 작성
- C# 미니 가이드
- 기본 프로그램 구조, 데이터 구조, 조건문, 루프
- 기본 파일 입출력과 데이터베이스
- 소켓에 쓰기
- 결론
- 유용한 기능과 코드 모음
- C# 코드
- 펄 코드
- 7장에서 소개한 자료에 대한 링크 / 추가 자료
- 8장 네서스
- 소개
- 네서스가 무엇인가?
- 기본 구성 요소
- 클라이언트, 서버
- 네서스 클라이언트
- 플러그인
- 지식 베이스
- 네서스 실행
- Auditor에서 네서스 실행하기
- 포인트 & 클릭: Auditor에서의 네서스 실행
- 네서스 시작 스크립트의 분석
- 시작 스크립트 없이 네서스 실행
- 윈도우에서의 네서스 실행
- Auditor에서 네서스 실행하기
- 네서스 유지 관리
- 플러그인 업데이트
- Auditor의 플러그인 업데이트: 방법 1
- Auditor의 플러그인 업데이트: 방법 2
- 네서스 프로그램의 업데이트
- 플러그인 업데이트
- 네서스 이용
- 플러그인
- 환경 설정 탭
- 스캔 옵션
- 스캔 대상 선택
- 요약
- 신속한 설명
- 관련 사이트 주소
- FAQ
- 9장 네서스 코딩
- 소개
- NASL의 역사
- NASL의 목적
- 간단함 & 편리함
- 모듈성 & 효율성
- 안전성
- NASL의 한계
- NASL 스크립트 구문
- 주석문
- 변수
- 연산자
- 제어 구조
- NASL 스크립트 작성
- 개인적인 용도의 NASL 스크립트 작성
- 네트워크 함수
- HTTP 함수
- 패킷 처리 함수
- 문자열 처리 함수
- 암호화 함수
- NASL 커맨드 라인 인터프리터
- 네서스 프레임워크 프로그래밍
- 설명 함수
- 개인적인 용도의 NASL 스크립트 작성
- 사례 연구: 일반적인 NASL 스크립트
- NASL 포팅
- 로직 분석
- 로직 식별
- 의사 코드
- NASL로 포팅하기
- C/C++에서 NASL로 포팅하기
- NASL로부터 포팅하기
- 로직 분석
- 스크립트의 여러 사례
- 마이크로소프트 IIS HTR ISAPI 확장 버퍼 오버플로우 보안 취약점
- 사례 연구: IIS .HTR ISAPI 필터 CVE-2002-0071
- 마이크로소프트 IIS/Site Server codebrws.asp 임의 파일 접근
- 사례 연구: Codebrws.asp 보안 취약점 CVE-1999-0739
- 마이크로소프트 SQL 서버 무작위 대입
- 사례 연구: 마이크로소프트 SQL 서버 무작위 대입(Bruteforce)
- ActivePerl perIIIS.dll 버퍼 오버플로우 보안 취약점
- 사례 연구: ActivePerl perIIS.dll 버퍼 오버플로우
- 마이크로소프트 FrontPage/IIS 크로스 사이트 스크립트 shtml.dll
- 소개
- 보안 취약점
- 사례 연구: Microsoft FrontPage XSS
- 요약
- 신속한 설명
- 관련 사이트 주소
- FAQ
- 10장 NASL 확장과 테스트
- 소개
- 인클루드 파일을 이용한 NASL 확장
- 인클루드 파일
- 네서스 지식 베이스를 이용한 테스트 성능 확장
- 프로세스 실행과 결과 분석을 통한 테스트 성능 확장
- TRUSTED 함수로 무엇을 할 수 있는가?
- TRUSTED 테스트 만들기
- 요약
- 11장 네서스 환경의 확장 기능
- 소개
- smb_nt.inc 인클루드 파일이 제공하는 윈도우용 테스트 함수
- smb_hotfixes.inc 인클루드 파일이 제공하는 윈도우용 테스트 함수
- 로컬 테스팅 인클루드 파일이 제공하는 유닉스용 테스트 함수
- 요약
- 12장 메타스플로이트 확장 Ⅰ
- 소개
- MSF 사용하기
- msfweb 인터페이스
- msfconsole 인터페이스
- msfconsole의 실행
- 일반적인 msfconsole 명령
- MSF 환경
- msfconsole을 이용한 공격
- msfcli 인터페이스
- MSF 업데이트
- 요약
- 신속한 설명
- 관련 사이트 주소
- FAQ
- 13장 메타스플로이트 확장 Ⅱ
- 소개
- 메타플로이트를 이용한 공격 모듈 개발
- 공격 벡터의 결정
- 오프셋 계산
- 제어 벡터 선택
- 리턴 주소 찾기
- 리턴 주소의 이용
- 제외 문자 판단하기
- 페이로드의 허용 길이 계산
- Nop Sled
- 페이로드와 인코더의 선택
- 공격 모듈을 프레임워크에 통합시키기
- 프레임워크의 이해
- 공격 모듈 분석
- 함수 오버라이딩
- 요약
- 신속한 설명
- 관련 사이트 주소
- FAQ
- 『해킹』
- 0x100 시 작
- 0x200 프로그래밍
- 0x210 프로그래밍이란 무엇인가?
- 0x220 프로그램 공격
- 0x230 일반 공격 기법
- 0x240 다중-사용자 파일 권한
- 0x250 메모리
- 0x251 메모리 선언
- 0x252 널(Null) 바이트 종료
- 0x253 프로그램 메모리 세그먼트
- 0x260 버퍼 오버플로우
- 0x270 스택 오버플로우
- 0x271 공격 코드 없이 공격
- 0x272 환경 변수 이용
- 0x280 힙 / bss 오버플로우
- 0x281 기본 힙 오버플로우
- 0x282 함수 포인터 덮어쓰기
- 0x290 포맷 스트링
- 0x291 포맷 스트링과 printf()
- 0x292 포맷 스트링 취약점
- 0x293 임의의 메모리 주소에서 읽기
- 0x294 임의의 메모리 주소에 쓰기
- 0x295 직접 인자에 접근
- 0x296 소멸자(dtor)를 이용한 우회법
- 0x297 전역 오프셋 테이블(Global Offset Table) 덮어쓰기
- 0x2a0 셸코드 작성법
- 0x2a1 자주 쓰이는 어셈블리 명령
- 0x2a2 리눅스 시스템 콜
- 0x2a3 Hello, World!
- 0x2a4 셸 실행 코드
- 0x2a5 단일 세그먼트에서 처리
- 0x2a6 널(Null) 바이트 제거
- 0x2a7 스택을 이용하여 더 작은 셸코드 만들기
- 0x2a8 출력가능한 ASCII 명령
- 0x2a9 다형성 셸코드
- 0x2aa ASCII 출력 가능한 다형성 셸코드
- 0x2ab Dissembler
- 0x2b0 나 libc로 돌아갈래
- 0x2b1 system()으로 리턴
- 0x2b2 libc 함수 연결
- 0x2b3 래퍼(wrapper) 프로그램 이용
- 0x2b4 libc를 통해 널 바이트 쓰기
- 0x2b5 하나의 호출로 여러 워드에 쓰기
- 0x300네트워킹
- 0x310 네트워킹이란 무엇인가?
- 0x311 OSI 모델
- 0x320 흥미로운 계층들
- 0x321 네트워크 계층
- 0x322 전송(Transport) 계층
- 0x323 데이터-링크 계층
- 0x330 네트워크 스니핑
- 0x331 능동 스니핑
- 0x340 TCP/IP 하이재킹
- 0x341 RST 하이재킹
- 0x350 서비스 거부 / Denial of Service
- 0x351 죽음의 핑 / Ping of Death
- 0x352 티어드랍 / Teardrop
- 0x353 핑 홍수 / Ping Flooding
- 0x354 증폭 공격 / Amplification Attacks
- 0x355 분산 DoS 홍수
- 0x356 SYN 홍수 / SYN Flooding
- 0x360 포트 스캐닝
- 0x361 스텔스 SYN 스캔
- 0x362 FIN, X-mas, Null 스캔
- 0x363 가짜 스캔 패킷 이용
- 0x364 유휴(Idle) 스캐닝
- 0x365 사전(事前) 방어 (Shroud)
- 0x310 네트워킹이란 무엇인가?
- 0x400 암호학
- 0x410 정보 이론 / Information Theory
- 0x411 절대적 보안
- 0x412 원 타임 패드 / One-Time Pads
- 0x413 양자 키(Quantum Key) 분배
- 0x414 계산 불능 보안
- 0x420 알고리즘 실행 시간
- 0x421 점근 표기법 / Asymptotic Notation
- 0x430 대칭 암호 방식
- 0x431 Lov Grover의 양자 검색 알고리즘
- 0x440 비대칭 암호화
- 0x441 RSA
- 0x442 Peter Shor의 양자 인수분해 알고리즘
- 0x450 혼성 암호 / Hybrid Ciphers
- 0x451 Man-in-the-Middle 공격
- 0x452 SSH 프로토콜 호스트 핑거프린트 버전 이용
- 0x453 퍼지 핑거프린트
- 0x460 비밀번호 크래킹
- 0x461 사전 공격 / Dictionary Attacks
- 0x462 전수 조사 공격 / Brute-Force Attacks
- 0x463 해시 룩업(lookup) 테이블
- 0x464 비밀번호 확률 행렬
- 0x470 무선 802.11b 암호화
- 0x471 Wired Equivalent Privacy / WEP
- 0x472 RC4 스트림 암호 방식
- 0x480 WEP 공격
- 0x481 오프라인 전수 조사 공격
- 0x482 키스트림 재사용
- 0x483 IV-기반 복호화 사전 테이블
- 0x484 IP 리다이렉션
- 0x485 Fluhrer, Mantin, Shamir (FMS) 공격
- 0x410 정보 이론 / Information Theory