힙 스프레이 익스플로잇 분석
개요
힙 스프레이는 공격자 제어 데이터(일반적으로 NOP 슬레드 뒤에 셸코드)를 프로세스 힙의 대형 영역에 채워 코드 실행 익스플로잇의 신뢰성을 높이는 공격 기법입니다. 이 스킬은 Volatility3의 malfind, vadinfo, memmap 플러그인을 사용하여 메모리 덤프에서 힙 스프레이 아티팩트를 탐지하고, 수상한 연속 메모리 할당을 식별하며, NOP 슬레드 패턴(0x90, 0x0c0c0c0c)을 검색하고, 포함된 셸코드를 추출하여 분석하는 방법을 다룹니다.
사용 시기
- 힙 스프레이 익스플로잇 분석이 필요한 보안 인시던트를 조사할 때
- 이 도메인에 대한 탐지 규칙이나 위협 헌팅 쿼리를 구축할 때
- SOC 분석가가 이 분석 유형에 대한 구조화된 절차가 필요할 때
- 관련 공격 기법에 대한 보안 모니터링 범위를 검증할 때
사전 요구 사항
- Python 3.9+ 및
volatility3프레임워크 설치 - 메모리 덤프 파일(.raw, .vmem, .dmp 형식)
- 가상 메모리 레이아웃 및 VAD(가상 주소 설명자) 트리에 대한 이해
- 일반적인 셸코드 패턴 및 NOP 슬레드 인코딩에 대한 친숙함
단계
1단계: 수상한 프로세스 식별
Volatility3 windows.malfind를 사용하여 실행 가능한 주입 메모리 영역이 있는 프로세스를 스캔합니다.
2단계: VAD 항목 분석
windows.vadinfo를 사용하여 VAD 트리 항목에서 RWX 권한이 있는 대형 연속 할당을 검사합니다.
3단계: NOP 슬레드 패턴 스캔
수상한 메모리 영역에서 NOP 슬레드 시그니처(0x90 시퀀스, 0x0c0c0c0c 패턴)를 검색합니다.
4단계: 셸코드 추출 및 분석
수상한 메모리 영역을 덤프하고 바이트 패턴 분석을 사용하여 셸코드를 식별합니다.
예상 출력
수상한 프로세스, 힙 스프레이 지표, NOP 슬레드 위치, 메모리 영역 크기 및 추출된 셸코드 해시가 포함된 JSON 보고서입니다.