책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9791161755830
· 쪽수 : 364쪽
· 출판일 : 2021-11-23
책 소개
목차
1부. Ghidra 소개
1장. Ghidra 시작
__기술적 요구 사항
__위키리크스 Vault 7
____NSA 릴리스
__IDA 및 기타 많은 경쟁업체 대비 Ghidra
__Ghidra 개요
____Ghidra 설치
____Ghidra의 특징 개요
__요약
__질문
2장. Ghidra 스크립트를 통한 리버스 엔지니어링 작업 자동화
__기술적 요구 사항
__기존 스크립트 사용과 적용
__스크립트 클래스
__스크립트 개발
__요약
__질문
3장. Ghidra 디버그 모드
__기술적 요구 사항
__Ghidra 개발 환경설정
__소프트웨어 요구 사항 개요
____자바 JDK 설치
____이클립스 IDE 설치
____PyDev 설치
____GhidraDev 설치
__Ghidra 코드와 Ghidra 스크립트 디버깅
____이클립스에서 Ghidra 스크립트 디버깅
____이클립스에서 Ghidra 구성 요소 디버깅
__Ghidra RCE 취약점
____Ghidra RCE 취약점 설명
____Ghidra RCE 취약점 공격
____Ghidra RCE 취약점 수정
____취약한 컴퓨터 찾기
__요약
__질문
__더 읽을거리
4장. Ghidra 확장 기능 사용
__기술적 요구 사항
__기존 Ghidra 확장 기능 설치
____Sample Table Provider 플러그인의 코드 분석
__Ghidra 확장 기능 스켈레톤의 이해
____분석기
____파일 시스템
____플러그인
____익스포터
____로더
__Ghidra 확장 기능 개발
__요약
__질문
__더 읽을거리
2부. 리버스 엔지니어링
5장. Ghidra를 사용한 악성코드 리버싱
__기술적 요구 사항
__환경설정
__악성코드 지표 찾기
____문자열 찾기
____인텔리전스 정보와 외부 소스
____import 함수 확인
__흥미로운 악성코드 샘플 부분 분석
____진입점 함수
____0x00453340 함수 분석
____0x00453C10 함수 분석
____0x0046EA60 함수 분석
____0x0046BEB0 함수 분석
____0x0046E3A0 함수 분석
____0x004559B0 함수 분석
____0x004554E0 함수 분석
____0x0046C860 함수 분석
____0x0046A100 함수 분석
__요약
__질문
__더 읽을거리
6장. 스크립팅 악성코드 분석
__기술적 요구 사항
__Ghidra 스크립팅 API 사용
__자바 프로그래밍 언어를 사용해 스크립트 작성
__파이썬 프로그래밍 언어를 사용해 스크립트 작성
__스크립트를 사용한 악성코드 샘플의 난독화 해제
____델타 오프셋
____API 해시를 주소로 변환
____Ghidra 스크립팅을 사용해 해시 테이블 난독화 해제
____스크립팅 결과 향상
__요약
__질문
__더 읽을거리
7장. Ghidra Headless Analyzer 사용
__기술적 요구 사항
__Headless 모드를 사용하는 이유
__프로젝트 생성과 채우기
__가져온 바이너리나 기존 바이너리에 대한 분석 수행
__프로젝트에서 비GUI 스크립트 실행
__요약
__질문
__더 읽을거리
8장. Ghidra를 이용한 바이너리 감사
__기술적 요구 사항
__메모리 손상 취약점 이해
____스택 이해
____스택 기반 버퍼 오버플로
____힙의 이해
____힙 기반 버퍼 오버플로
____포맷 스트링
__Ghidra를 사용한 취약점 찾기
__단순 스택 기반 버퍼 오버플로 공격
__요약
__질문
__더 읽을거리
9장. 스크립팅 바이너리 감사
__기술적 요구 사항
__취약한 함수 찾기
____심볼 테이블에서 안전하지 않은 C/C++ 함수 검색
____스크립팅을 사용한 프로그램 디컴파일
__sscanf 콜러 검색
____콜러 함수 열거
__PCode를 이용한 콜러 함수 분석
____PCode와 어셈블리어 비교
____PCode 검색과 분석
____여러 아키텍처에서 동일한 PCode 기반 스크립트 사용
__요약
__질문
__더 읽을거리
3부. Ghidra 확장
10장. Ghidra 플러그인 개발
__기술적 요구 사항
__기존 플러그인 개요
____Ghidra 배포에 포함된 플러그인
____서드파티 플러그인
__Ghidra 플러그인 스켈레톤
____플러그인 설명서
____플러그인 코드 작성
____플러그인에 대한 프로바이더
__Ghidra 플러그인 개발
____플러그인 문서화
____플러그인 클래스 구현
____프로바이더 구현
__요약
__질문
__더 읽을거리
11장. 새로운 바이너리 포맷 통합
__기술적 요구 사항
__원시 바이너리와 포맷 형식 바이너리의 차이점
____원시 바이너리 이해
____포맷된 바이너리 파일 이해
__Ghidra 로더 개발
____MZ(오래된 스타일 DOS 실행 파일) 파서
____오래된 MZ(DOS 실행 파일) 로더
__파일 시스템 로더 이해
____파일 시스템 자원 로케이터
__요약
__질문
__더 읽을거리
12장. 프로세서 모듈 분석
__기술적 요구 사항
__기존 Ghidra 프로세서 모듈 이해
__Ghidra 프로세서 모듈 스켈레톤 개요
____프로세서 모듈 개발 환경설정
____프로세서 모듈 스켈레톤 생성
__Ghidra 프로세서 개발
____문서화 프로세서
____패턴을 이용한 함수와 코드 식별
____언어와 언어 변형 지정
__요약
__질문
__더 읽을거리
13장. Ghidra 커뮤니티에 기여
__기술적 요구 사항
__Ghidra 프로젝트 개요
____Ghidra 커뮤니티
__기여도 탐색
____법적 측면의 이해
____버그 리포트 제출
____새 기능 제안
____질문 제출
____Ghidra 프로젝트에 풀 리퀘스트 제출
__요약
__질문
__더 읽을거리
14장. 고급 리버스 엔지니어링을 위한 Ghidra 확장
__기술적 요구 사항
__고급 리버스 엔지니어링의 기본 지식
____심볼릭 실행 학습
____SMT 솔버 학습
____콘콜릭 실행에 대한 학습
__고급 리버스 엔지니어링에 Ghidra 사용
____AngryGhidra로 Ghidra에 심볼릭 실행 기능 추가
____pcode-to-llvm을 사용해 PCode에서 LLVM으로 변환
__요약
__질문
__더 읽을거리