https://www.ahnlab.com/ko/contents/content-center/35726
서명 툴로 실행되는 X로더 악성코드 주의
AhnLab의 콘텐츠 센터는 보안 트렌드, 위협 분석 정보, 위협 대응 방안 등 다양한 콘텐츠를 제공합니다.
www.ahnlab.com
안랩에서 DLL 사이드 로딩 기법을 사용하는 X로더 악성코드의 유포 정황을 확인
DLL 사이드 로딩
정상적인 응용 프로그램과 악성 DLL을 같은 폴더 경로에 저장해 응용 프로그램 실행 시 악성 DLL이 함께 동작하도록 함
DLL 로딩 방식 이해
1. 절대 경로 로딩
: 애플리케이션이 DLL의 전체 경로를 지정하여 로드하는 방식으로 보안적으로 안전하지만 사용량이 적음
2. 상대 경로 및 검색 순서 기반 로딩
: 프로그램이 특정 디렉토리에 있는 DLL을 우선 로드하고 못찾으면 시스템 경로 탐색
- 공격자는 정상 프로그램 실행 시에 특정 DLL을 로드한다는 사실을 이용
- 원본 DLL 존재 경로에 악성 DLL 미리 배치해 프로그램이 이를 먼저 로드하도록 유도
- 프로그램이 정상 실행처럼 보여도 내부에서는 악성 코드의 실행이 이루어짐
위 본 글에서 소개된 사례에서는 X로더 실행 시 정상 응용 프로그램 jarsigner가 사용되었음
Jarsigner
: JAVA 파일의 디지털 서명 및 검증을 수행하는 도구로 JDK에 포함되어있음. JAR 파일의 무결성 보장 및 신뢰할 수 있는 소스로부터 제공되었음을 증명하는 데 사용
주요 기능으로는 JAR 파일에 디지털 서명 및 서명 검증이 있음
XLoader 유포 방식
1. 압축 파일 형태로 유포
- 압축 파일 내부에는 ① 정상 EXE 파일, ② 악성 DLL 파일 포함
- 정상 파일명: Documents2012.exe (원래 jarsigner.exe)
- 악성 DLL 파일: jli.dll, concrt140e.dll
2. 악성 DLL의 역할
- jli.dll: 변조된 DLL로, concrt140e.dll 파일을 복호화하고 실행
- concrt140e.dll: 암호화된 XLoader 페이로드 포함
3. 악성 코드 실행 과정
- Documents2012.exe 실행 시 jli.dll을 로드
- jli.dll 내부의 모든 export 함수 주소가 동일 → 호출 시 악성 코드 실행
- concrt140e.dll이 복호화되며, aspnet_wp.exe 프로세스에 인젝션
- 최종적으로 XLoader가 실행되어 사용자 PC 감염
DLL Side-Loading 기법 실습
리버싱 핵심원리 스터디 때도 아마 비슷한 글은 작성했던거 같긴한데 챕터 몇이었는지 기억이..
아무튼 환경은 윈도우11, Visual Studio, Sysinternals, PEView 이렇게 사용
notepad.exe를 예제로 함
1. Notepad.exe에서 불러오는 DLL을 확인
2. 악성 DLL 제작
#include <windows.h>
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
MessageBox(NULL, L"악성 DLL이 실행되었습니다!", L"DLL Side-Loading", MB_OK);
}
return TRUE;
}
이렇게 해서 빌드하고 나면 악성 DLL이 로드됨
위에 빌드한 DLL을 notepad.exe랑 같은 폴더에 복사하면 메시지 박스가 뜨게 된다.
이런식으로 뜨면 끝~
'학회_공부해요 > 기술_스터디' 카테고리의 다른 글
[Plainbit] LogLayer: 개발자를 위한 혁신적인 통합 로깅 라이브러리 (1) | 2025.01.26 |
---|---|
[이스트시큐리티] 업무 협조 요청 메일을 위장하여 유포 중인 악성코드 주의! (0) | 2025.01.21 |
[IGLOO]Linux Kernel 내 Use-After-Free 취약점 (CVE-2024-1086) 분석 및 대응방안 (0) | 2025.01.14 |
[CVE 취약점 분석] CVE-2024-7029 (0) | 2024.11.26 |
[Virus Bulletin] Nexus Android banking botnet – compromising C&C panels and dissecting mobile AppInjects (2) | 2024.11.18 |