Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- CTF-d
- beebox
- frida
- InsecureBank
- foremost
- Suninatas
- igoat
- Openstack
- base64
- MFT
- SQL Injection
- elasticsearch
- vulnhub
- 인시큐어뱅크
- 2018
- logstash
- lord of sql injection
- 안드로이드
- 파이썬
- ESXi
- Reflected XSS
- Strings
- Volatility
- NTFS
- ctf
- otter
- Docker
- kibana
- diva
- XSS
Archives
- Today
- Total
Information Security
후킹 본문
후킹이란
정보를 가로채거나 실행 흐름을 변경하여 원래와는 다른 기능을 제공하는 기술
Method | Object | Location | Technique | API | |
static | file | 1) IAT 2) CODE 3) EAT |
X | X | |
dynamic | Process Memory (000000000 ~7FFFFFFFF) |
A) Debug (Interactive) |
DebugActiveProcess GetThreadContext SetThreadContext |
||
B) Injection (Statndalone) |
B-1) Independent Code | CreateRemoteThread |
|||
B-2) Dll File |
Registry(Appini_DLLs) BHo(IE only) |
||||
SetWindowsHookEx | |||||
CreateRemoteThread |
메시지 후킹
- SetWindowsHookEx 함수 사용
IAT 후킹
IAT(Import Address Table)를 수정하여 기존의 등록된 API가 아닌 다른 DLL의 함수를 참조
API 후킹
Process Attach를 사용하는 후킹
(Debugger엣 처리하지 않는 예외는 OS로 넘기거나, Debuggee에게 돌려줌)
인라인 후킹
후킹 하려는 해당 함수의 가장 앞이나 중간쯤을 후킹 하는 기법
SSDT 후킹
- 시스템 서비스 기술자 테이블(System Service Descriptor Table)은 커널 모드 함수에 대한 포인터를 제공
- ntdll.dll 또는 다른 사용자 모드 라이브러리 내 작은 스텁(stub)은 통제된 방법으로 커널 모드로 진입하는 스레드 호출을 도움
- 전환은 SYSTEM(XP 이상)나 INT 0x2E(2000 이하)를 발생함으로 수행
SSDT 한계
- Patchguard : 64비트 시스템에서 커널 패치 보호(Kenrel Patch Protection - KPP) 기능으로 변경 불가
- Undocumented API