해커즈뉴스 / 해커대학

Donation bitcoin(기부용 비트코인 주소)

 
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
 
기부하신 비트코인은 "보안 취약 계층"을 위해 사용되고 있습니다.
 
 

Donation bitcoin(기부용 비트코인 주소)

 
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
 
기부하신 비트코인은 "보안 취약 계층"을 위해 사용되고 있습니다.
 




  해커몰  
No, 3899
구분: 정보
종류: 기타
파일형태: 정보
라이센스: 정보
지원OS: 정보
크랙여부: 정보
2019/9/29(일)
조회: 338
DLL Side-Loading 기법이란?  

DLL Side-Loading 기법이란, 안티바이러스 S/W에 의해 탐지되는 것을 회피하기 위하여, 악성코드(malware)를 전파하는 공격자들이 사용하는 기법 중의 하나인 데, Windows OS의 DLL loading 메카니즘을 악용한 기법입니다. DLL Hijacking, DLL Preloading, DLL Planting 기법으로도 불린다고 합니다.

Windows Application은 실행하는 도중에, 필요한 library을 load하여 call하는 기법을 사용합니다. 필요한 시점에 동적으로 load한다고 해서 Dynamic Linking Library 라고 부르며 DLL로 표시합니다. Application이 사용하는 DLL 이름은 Application 내부에 기록이 되어 있지만, DLL의 위치는 Application 내부에 지정 되어 있을 수도 있고 없을 수도 있습니다. 만약 DLL 위치가 지정되어 있지 않다면, Windows는 OS 내부에서 미리 정의한 순서대로 DLL을 찾게 됩니다.

참고로, Windows OS 에서 DLL을 Search하는 순서는 아래와 같습니다.

1) Application이 load 된 Directory

2) 현재 Directory

3) 시스템 Directory

4) 16비트 시스템 Directory

5) Windows Directory

6) PATH 환경 변수에 나열된 Directory

이러한 DLL Search 메커니즘을 악용하여, 특정 Application이 사용하는 DLL 대신, 악성코드가 들어 있는 DLL을, OS가 먼저 Search 하여 loading 되도록 하여, 악성코드가 실행되어지도록 하는 것입니다. 물론 이 때 악성코드가 들어 있는 DLL의 이름은 정상적인 DLL 이름과 동일하게 rename 해 두어야 합니다.

DLL Side-Loading 기법을 사용하는 절차를, 공격자의 입장에서 기술해 보았습니다.

1) 먼저 DLL에 대한 full path가 hard-coding 되어 있지 않은 Application을 선택합니다. DLL Side-Loading를 사용하는 주 목적이, 안티바이러스 S/W에 의한 탐지를 피하기 위한 것이므로, 안티바이러스 S/W에 의해 White-list되어 있는 Application 중에서 선택해야 합니다. 유명 Vendor에서 사용하고 있는 Application은 대개 White-list로 등록되어 있습니다.

2) Application을 선택하였으면, 해당 Application에서 사용하고 있는 DLL을 하나 선택하여, DLL에 정의되어 있는 function들을 가진 가짜 DLL을 하나 만듭니다. 물론 가짜 DLL에는 악성코드도 포함시켜 두고 DLL이 load될 때, 악성코드가 실행되도록 합니다.

3) Application을 다른 이름으로 변경한 다음에, 가짜 DLL과 함께 사용자의 특정 Directory에 다운로드 시킵니다.

4) 사용자로 하여금, 특정 Directory에 있는, 다른 이름으로 변경 되어 있는 Application을 실행하도록 유도합니다.

5) 해당 Application이 실행되면서, 같은 Directory에 있는 DLL이 먼저 선택되어 Load 됩니다. 이 DLL은 악성코드를 가지고 있는 DLL 이며, Load 되면서 악성코드가 실행되어지도록 되어있습니다.  하지만 안티바이러스 S/W는 White-list에 속해 있는 Application이 실행되는 것으로 알고 있기 때문에(안티바이러스 S/W는 Application 이름을 가지고 비교하지 않고, 해쉬값 즉 Signature값을 가지고 비교합니다), 악성코드가 실행되는 것을 탐지하지 못합니다.

DLL Side-Loading 기법은 주로 APT 그룹에서 사용한다고 합니다. 참고로, 국가가 지원하는 해킹 단체들은 대부분 APT 그룹으로 분류하고 있습니다.

최근에(2019.7.25) 기사로 보도된, SectorF01 라 불리는 해킹 Group이 Cyber Espionage Campaign(사이버 첩보 활동)을 수행하면서, DLL Side-Loading 기법을 사용하였다고 합니다.

참고로, SectorF01 Group이 사용한 Application 이름과, Target으로 한 나라는 아래와 같다고 합니다.

Microsoft Office Word (WINWORD.EXE)

Windows Search (SearchIndexer.exe)

Windows Search (SearchProtocolHost.exe)

Google Update (GoogleUpdate.exe)

Adobe AcroTranscoder (AcroTranscoder.exe)

Adobe Flash Player Control Panel Applet (FlashPlayerApp.exe)

Adobe Acrobat 3D Utility (A3DUtility.exe)

WeChat (WeChat.exe)

Coc Coc Browser Update (CocCocUpdate.exe)

360安全浏览器 (360 Secure Browser) (360se.exe)

60软件管家 (360 Software Manager) (SoftManager.exe)

Neuber Software Typograf font manager (FontSets.exe)

McAfee VirusScan On-Demand Scan (mcods.exe)

McAfee Oem Module (mcoemcpy.exe)

Symantec Network Access Control (rastlsc.exe)

Kaspersky Anti-Virus Installation assistant host (avpia.exe)

Kaspersky Light Plugin Extension Registrar (plugins-setup.exe)

Avast Antivirus remediation (wsc_proxy.exe)

Vietnam, China, Cambodia, Laos,Thailand, Myanmar, Phillipines, Malaysia, Indonesia, Singapore, Japan, South Korea



                   
번호구분제 목장르
3902 소스    말레이시아 해커의 DIOS 1 SQLi 
3901 정보    오픈소스 SQLi 도구 10선 - 2018 인젝터 
3900 정보    sql 인젝션 방어 도구 3가지 Injection 
3899 정보    DLL Side-Loading 기법이란? 기타  
3898 유틸    비트코인 Stealr Stealer 
3897 유틸    SAS 크랙 버전 RAT 
3896 유틸    0day Exploit collection - 14개 Exploits 
3895 정보    강력한 윈도 공격도구 블루킵 성행 공격툴 
3894 원서    Mastering C++ Programming 
3893 정보    Top 10 '버그 바운티' 도구 Bug bounty 
3892 정보    해킹 관련 정보 제공 사이트 모음 웹해킹 

 
처음 이전 다음       목록