[1] 안티 디버깅(Anti-Debugging)이란?
-> 디버깅을 방해하여 분석을 하지 어렵게 하는 기술이다.
-> 디버깅 시 디버거 프로그램 종료 또는 에러 발생을 통해 분석을 방해한다.
[2] 분류
1. Static
-> 분석 전에 한 번만 해체를 해주면 된다.
-> 디버거를 탐지하여 프로그램이 정상적으로 실행되지 못하도록 한다.
2.Dynamic
-> 디버깅을 진행하면서 해당 안티 디버깅 함수를 만날 때마다 해체 해주어야 한다.
-> Static 기법보다 난이도가 더 높다.
[3] 다양한 안티 디버깅 기법
1. CheckRemoteDebuggerPresent() Windows API
2. Detecting Breakpoints by CRC
3. Detecting SoftlCE by Opening Its Drivers
4. UnhandledExceptionFilter
5. Hardware Breakpoint Detection
6. INT 2D Debugger Detecton
7. IsDebuggerPresent() Direct PEB Access
8. IsDebuggerPresent() Windows API
9. LordPE Anti Dumping
10. NtGlobalFlag Edbugger Detection
11. Obfuscated RDTSC
12. OllyDbg Filename Format String
13. FindWindow
14. OllyDbg Instruction Prefix Detection
15. OllyDbg INT3 Exception Detection
16. NtSetInformationThread
17. Memory Breakpoint Detection
18. NtQueryInformationProcess()
19. OllyDbg OllyInvisible Detection
20. OllyDbg OpenProcess() HideDebugger Detection
21. OllyDbg OpenProcess() String Detection
22. OllyDbg OutputDebugString() Format String Vulnerability
23. OllyDbg PE Header Parsing DoS Vulnerabilities
24. OllyDbg Registry Key Detection
25. OutputDebugString on Win2K and WinXP
26. PEB ProcessHeap Flag Debugger Detection
27. PeID GenOEP Spoofing
28. PeID OEP Signature Spoofing
29. ProcDump PE Header Corruption
30. RDG OEP Signature Spoofing
31. RDTSC Instruction Debugger Latency Detection
32. Ring3 Debugger Detection via LDR_MODULE
33. Single Step Detection
34. SoftIce Driver Detection
35. SoftIce Registry Detection
36. SoftIce WinICE.dat Detection
37. TLS-CallBack +IsDebuggerPresent() Debugger Detection
38. Using the CMPXCHG8B with the LOCK Prefix
'Security study > CTF' 카테고리의 다른 글
[Reversing] codeengn Basic RCE L09 (0) | 2021.02.24 |
---|---|
[Reversing] codeengn Basic RCE L04 (0) | 2021.02.24 |
[Reversing] codeengn Basic L02 (0) | 2021.02.23 |
[Reversing] codeengn Basic RCE L06 (0) | 2021.02.20 |
[Reversing]패킹(packing), 언패킹(unpacking) (0) | 2021.02.20 |