
Yokai 백도어는 2024년 12월 처음 등장했으며 태국을 대상으로 미국 법무부 및 협력 요청 등의 문서로 위장한 LNK 파일 형태로 유포됐다. 해당 LNK 파일의 ADS(Alternate Data Stream) 영역에 Yokai 백도어가 포함돼 있었으며 LNK 파일 실행 시 ADS 영역에서 악성 파일을 추출한 후 DLL 사이드로딩을 이용해 실행하는 방식이 사용됐다. 2025년 8월에는 Yokai 백도어 유포에 SnakeDisk라는 USB 웜 악성코드가 사용되기도 했다. ADS를 이용한 방식과 SnakeDisk로 유포되는 두 가지 방식 모두 정상적인 EXE 파일에 DLL 형태의 Yokai 백도어를 DLL 사이드로딩을 이용해 실행하는 공통점을 가지고 있으며 해당 EXE 파일과 DLL 파일을 전달하는 과정에서 차이가 존재한다.
실행 유형
1. ADS(Alternate Data Stream)
ADS는 윈도우의 파일 시스템인 NTFS에서 제공하는 기능으로 기본 스트림 외 다른 데이터 스트림을 추가로 저장할 수 있도록 한다. 2024년 12월 유포된 Yokai 백도어는 LNK 파일이 포함된 RAR 아카이브 형태로 전달됐으며 LNK 파일의 ADS 영역에 악성 파일이 저장돼 있었다. LNK 파일의 크기는 2KB와 4KB로 매우 작지만 “dir /r” 명령어를 사용하면 ADS 영역에 다른 데이터 스트림이 저장된 것을 확인할 수 있다. LNK 파일을 실행하면 “esentutl.exe”라는 윈도우 기본 유틸리티를 이용해 ADS 영역의 데이터 스트림에서 정상 문서와 EXE 파일을 추출하고 파일 형태로 저장한다. EXE 파일은 NSIS 인스톨러로 ‘ProgramData’ 폴더에 정상 EXE 파일과 DLL 형태의 Yokai 백도어를 드롭한 후 DLL 사이드로딩으로 백도어를 실행한다.
- ADS 데이터 스트림 추출 명령어
- esentutl.exe /y "%cd%\[파일명].docx.lnk:file.ext" /d C:\Users\Public\file.exe /o
- 파일 드롭 경로
- LNK 파일 : %SamplePath%\[파일명].docx
C:\Public\file.exe (NSIS 인스톨러)
- file.exe : C:\ProgramData\police\IdrInit.exe (iTop 데이터 복구 프로그램)
C:\ProgramData\police\ProductStatistics3.dll (Yokai 백도어)

2. SnakeDisk
SnakeDisk는 USB 웜 악성코드로 실행 시 파라미터로 “-Embedding”이 입력되면 USB 장치 및 Yokai 백도어 배포 동작을 수행하며 “-hope”가 입력되면 감염 동작 없이 바로 Yokai 백도어를 드롭 및 실행한다. ADS 방식과 마찬가지로 SnakeDisk는 ‘Public’ 폴더에 정상 EXE 파일과 DLL 형태의 Yokai 백도어를 드롭한 후 “-project-mod”라는 파라미터와 함께 DLL 사이드로딩 방식으로 실행한다.

Yokai 백도어가 실행되면 IsUserAdmin API를 사용해 현재 프로세스의 실행 권한을 확인하고 관리자 권한일 경우 자기 자신을 계속해서 다시 실행해 시스템에 부하를 건다. 관리자 권한이 아닐 경우에 작업 스케줄러를 등록해 자동 실행을 설정하고 다음 동작을 수행한다.



자동 실행 등록이 완료되면 백도어는 기본적인 시스템 정보를 수집한 후 0x9C 크기의 구조체를 생성하고 “Extensionswindow”라는 문자열을 Key로 사용해 XOR 암호화한다. 암호화된 데이터는 WinHttp 세션을 이용해 공격자의 C&C 서버로 전송된다.


이후 서버로부터 명령어를 수신해 명령 코드에 따른 동작을 수행한다. 단, 분석 시점에서 서버가 응답하지 않아 일부 명령 코드에 의한 동작은 해석되지 않는다.

명령 코드 0x03을 수신하면 CreatePipe를 이용해 자식 프로세스와 통신을 위한 Pipe를 생성하고 입출력 버퍼에 대한 핸들을 STARTUPINFOA 구조체의 hStdOutput으로 지정해 자식 프로세스의 입출력으로 연결한다. STARTUPINFOA 구조체의 wShowWindow 값을 SW_HIDE(0)으로 설정해 창을 숨기고 CreateProcessA를 이용해 STARTUPINFOA로 지정한 설정으로 cmd.exe를 실행한다. 이후 PeekNamePipe를 이용해 Pipe 읽기 핸들(hStdOutRead)에 cmd 명령어의 실행 결과를 수신한 후 ReadFile로 데이터를 읽는 스레드를 생성한다. 명령 코드 0x04를 수신하면 패킷에 포함된 cmd 명령어를 WriteFile로 파이프에 작성해 해당 명령어를 실행한다.



Yokai 백도어는 정상 문서 파일로 위장한 LNK 파일에서 내부 ADS 영역으로 실행되거나 USB 웜인 SnakeDisk에서 실행되는 백도어로 사용자가 감염 여부를 식별하기 어려워 주의가 필요하다. 따라서 출처가 의심스러운 메일의 열람에 주의해야 하며 운영체제와 보안 프로그램을 항상 최신 버전으로 유지할 것을 권고한다.
상기 악성코드는 잉카인터넷 안티바이러스 제품 TACHYON Internet Security 6.0에서 진단 및 치료가 가능하다.


'분석 정보 > 악성코드 분석 정보' 카테고리의 다른 글
| Yokai 백도어를 유포하는 SnakeDisk 웜 (0) | 2025.12.24 |
|---|---|
| USB를 감지해 전파하는 HIUPAN 웜 (0) | 2025.12.24 |
| DLL 사이드 로딩으로 실행하는 ToneShell 백도어 (0) | 2025.12.24 |
| 중국 해커그룹 Mustang Panda, Pubload 백도어 유포 (0) | 2025.12.24 |
| 오픈 소스 코드를 이용하는 Phantom Stealer (0) | 2025.12.24 |