개요
DLL Injection과 Reflected Injection의 개념이 서로 비슷한 부분도 존재하고 명확하게 구분이 잘 안가는 부분이 존재하여 개인적으로 정리하고자 포스팅을 진행함
DLL Injection?
디스크에 존재하는 DLL을 사용하여 타겟 프로세스에 Injection 후 Execution 시키는 공격으로 타겟 프로세스에 Handle 획득이 선행되며, 타겟 프로세스의 메모리 영역 생성 및 RWX 권한 할당을 할당하여 디스크에 저장된 DLL 경로를 기입 및 실행시키는 기법임
타겟 프로세스의 Handle 획득 및 메모리 생성과 권한 할당에 있어서는 Reflected DLL Injection과 동일하지만 DLL 경로를 기입한다는 점에서 Reflected DLL Injection과 다르다고 볼수 있음
Reflected DLL Injection?
DLL 혹은 Shell Code를 사용하여 타겟 프로세스의 메모리 영역에 바이트 코드를 Injection한 후 타겟 프로세스의 메모리 상에 존재하는 바이트 코드를 로드하여 Execution 시키는 공격으로 인메모리 공격 형식을 띔
타겟 프로세스의 핸들 획득, Injection은 DLL Injection과 동일하다고 볼수 있지만, 바이트 코드로 변환한 DLL 혹은 Shell Code를 타겟 프로세스에 삽입한 후 메모리 내부에서 로드 및 매핑하여 실행하는 방법에서 DLL Injection과 다르다고 볼수 있음
결론
| DLL Injection | Reflected DLL Injection | |
| DLL 파일 저장 | 디스크에 저장 필요 | 인메모리로 디스크 저장 불필요 |
| 메모리 로드 | OS DLL 로더가 처리 | 인메모리에서 공격자가 삽입한 코드를 직접 매핑 |
| 분석 난이도 | 디스크에 DLL 내용이 남으므로 분석이 용이 | 인메모리 형식으로 처리되므로 분석이 어려움 |
'Security > system hacking' 카테고리의 다른 글
| Winforms 프로젝트를 활용한 악성코드 제작 (0) | 2025.11.12 |
|---|---|
| [Hook] MinHook 빌드 및 사용 방법 (0) | 2025.05.14 |
| [tool] Powershell Reverse Shell (0) | 2025.02.24 |
| [tool] All Process RWX Shellcode Execution (0) | 2025.02.24 |
| [tool] RWX Shellcode Execution (0) | 2025.02.20 |