SlideShare a Scribd company logo
1 of 17
Download to read offline
fromitive@gmail.com
Dll Search Order
Hijacking
MITRE ATT&CK소개
MITRE ATT&CK 가 무엇인가요?
실제 해커가 사용하는 공격들을 유형 별로 정리한
사이트
https://attack.mitre.org
실제 공격 기법과 방어, 탐지 등을 간략히 공부할 수 있어요!
공격 유형
해커의 공격 유형은 어떤게 있나요?
12개의 유형이 있고, 개인적으로 묶어서 정리해 봤어요
접근 공격 탈취 뒷 처리
Initial Access
Lateral Movement
Discovery
Credencial Access
Execution
Privilege escalation
Defense Evasion
Collection Impact
Exfiltration
Command & Control
Persistence
Dll Search-order Hijacking
어떤 공격 인가요?
Windows가 사용하는, Dll 검색 순서를 이용해
정상적인 Dll 보다 먼저 악의적인 DLL을 Load 하는 것
DLL Search Order
1. 어플리케이션이 있는 디렉토리
2. 현재 디렉토리
3. system 디렉토리 C:Windowssystem32
(GetSystemDirectory 호출시 가져 올 수 있음)
4. 16bit system 디렉토리
5. Windows 디렉토리 (GetWindowsDirectory 호출시 가져올 수 있음)
6. PATH 환경변수에 등록 된 디렉토리
Dll Search-order Hijacking
ATT&CK 유형중 어느 것에 해당 되나요?
Detection Evasion 정상적인 dll로 속여서 탐색을 힘들게 만들어서
Privilege Escalation System 프로세스 대상으로 공격하면 높은 권한 획득 가능
Persistence Dll로 악성행위를 함으로써 여러 프로세스를 감염 시킬 수
있고, 탐지를 힘들게 하니까
Dll Search-order Hijacking
공격은 어떻게 하나요?
1. 현재 실행중이 아닌 프로그램을 선택합니다.
Dll Search-order Hijacking
공격은 어떻게 하나요?
2. 대상 프로그램이 로드하지 않는 DLL을 찾습니다.
Dll Search-order Hijacking
공격은 어떻게 하나요?
2. 대상 프로그램이 로드하지 않는 DLL을 찾습니다.
Dll Search-order Hijacking
공격은 어떻게 하나요?
3. 악의적인 행위를 하는 DLL을 작성합니다
Dll Search-order Hijacking
공격은 어떻게 하나요?
4. 타겟 dll과 똑같은 이름의 dll을 검색 경로에 위치 시킵니다
Dll Search-order Hijacking
공격은 어떻게 하나요?
5. 프로그램이 실행되는 것을 확인합니다.
생각해 볼 것들
공격자 입장에서 어떻게 생각해야할까요?
1. Hijacking은 쉽지만, 성공 확률이 떨어짐
-> 오류가 발생 할 때와 안날 때의 차이점 연구 또는,
기본 시스템 프로세스를 대상으로 실험
2. 주로 load하는 dll(kernel32.dll, ntdll.dll)을 대상으로
변조시켜 성공 시키는 방법을 연구
3. dll을 load할 권한을 얻으려면 어떤 작업을 거쳐야 할지
생각
4. 그 외 어떤 것들이 있을까요? 토론해 봅시다
생각해 볼 것들
방어자 입장에서 어떻게 생각해야할까요?
1. Windows에서 DLL을 안전하게 검색하는 방법을
제공하는게 있으면 사용하기
2. Dll hijacking을 점검하는 툴 개발 & 오픈소스 조사
(PowerSploit 또는 github 조사)
https://github.com/fortiguard-lion/anti-dll-hijacking
https://github.com/PowerShellMafia/PowerSploit
생각해 볼 것들
탐지를 하려면 어떻게 해야 할까요?
1. DLL이 로드되는 경로를 의심(삽질이냐 프로그래밍이냐)
2. DLL이 변조 되었는지 확인
(tripwire? 공개된 Hash값이 있을까?)
3. 평소에 정상적으로 dll 로드하는 것을 학습시켜 이상탐지
시키기
(5252 너무 갔는데?)
질문 있나요?
함께 고민해 봅시다~
참고자료
https://attack.mitre.org/techniques/T1038/
https://resources.infosecinstitute.com/dll-hijacking-attacks-revisited/#gref
https://pentestlab.blog/2017/03/27/dll-hijacking/
https://www.gracefulsecurity.com/privesc-dll-hijacking/
https://teamcrak.tistory.com/314

Dll search order hijacking