Kant's IT/Issue on IT&Security
DLL 사이드로딩을 통한 악성 Python 코드 실행 공격 분석
Kant Jo
2025. 5. 1. 22:24
Hackers Use DLL Side-Loading to Deploy Malicious Python Code
- 공격 개요
- 공격자는 DLL 사이드로딩(DLL side-loading) 기법을 활용해 악성 Python 코드를 시스템에 로드
- 정식 PDF 리더기를 위장한 실행 파일을 통해 악성 DLL(msimg32.dll)을 로드하여 악성 Python 봇을 실행
- 공격자는 보안 탐지 회피 및 지속성 확보를 위해 다양한 은폐 기법을 활용
- 공격 흐름
- ZIP 압축 파일(Hootsuite (1).zip) 내부에 악성 실행파일(Hootsuite.exe)이 존재
- 해당 실행파일은 취약한 Haihaisoft PDF 리더기 기반
- 실행 시 정식 msimg32.dll 대신 공격자가 제작한 악성 DLL을 로드
- 악성 DLL은 Python 환경을 언팩 후 설치하고, 외부에서 Python 봇을 다운로드 받아 실행
- Python 실행파일은 synaptics.exe로 위장되어 탐지를 회피
- ZIP 압축 파일(Hootsuite (1).zip) 내부에 악성 실행파일(Hootsuite.exe)이 존재
- 악성코드 실행 및 지속성 확보 방식
- synaptics.exe로 위장한 Python 인터프리터를 사용해 백그라운드에서 봇 실행
- 악성코드의 지속성을 위해 레지스트리에 배치 스크립트 자동 실행 등록
- 배치 스크립트는 Base64로 인코딩되어 있으며, Windows의 certutil로 디코딩 후 실행
- 실행 시 decoy PDF 파일을 정상적으로 열어 사용자 의심을 방지
- 탐지 회피 기법
- DLL 사이드로딩을 통해 합법적 프로세스에서 악성 행위 수행
- synaptics.exe와 같은 정상 프로세스명 사용으로 시그니처 기반 탐지 우회
- certutil을 사용한 악성 스크립트 디코딩으로 정적 분석 회피
- 악성 DLL의 파일 크기를 비정상적으로 키워 퍼포먼스 기반 탐지 우회
- 결론
- DLL 사이드로딩은 Windows 환경에서 여전히 유효한 공격 벡터로, 악성 Python 코드 실행에 악용됨
- 우회된 보안 규칙과 사용자 혼란을 유도하는 decoy 파일을 통한 공격 정교화가 지속되고 있음
- Python, PowerShell 등 스크립트 기반 환경에 대한 행위 기반 탐지 및 애플리케이션 화이트리스트 강화가 필요함