
ToneShell은 백도어 악성코드로 2022년 말에 처음 발견됐으며 주로 동남아시아 지역을 대상으로 삼으며 올해 7월까지 공격에 사용됐다. 이 보고서에서 분석할 샘플은 가장 최근에 등장한 ToneShell 샘플 3종을 대상으로 한다. ToneShell은 DLL 파일 형태로 정상 파일과 함께 압축 파일 형태로 유포돼 DLL 사이드로딩으로 실행되며 공격자의 C&C 서버에서 수신되는 명령어와 C&C 서버와 통신할 때에 사용되는 데이터 암호화 키 생성 방식이 조금씩 변경돼왔다.
이 악성코드는 RAR 아카이브 파일로 유포되며 사용자에게 압축 파일 내부의 run.bat 파일 실행을 유도한다. run.bat 파일은 함께 압축돼있던 정상 파일에 인자 값을 지정해 실행하며 이때 같은 경로 내의 악성 DLL인 ToneShell이 DLL 사이드로딩으로 실행된다.
- 실행 명령어 : start "" "%~dp0USBSRService.exe" -Embedding

ToneShell의 FS_RegActiveX함수는 실행 인자 값을 확인하고 “-Embedding”으로 인자 값을 지정해 실행하면 악성 동작에 사용할 API 주소를 가져온다. 그리고 EvtSys를 인자 값으로 새 프로세스를 만들어 다시 실행하고 해당 프로세스에서 악성 동작을 수행한다.


레지스트리 조회로 로컬 프록시 서버를 검색하고 설정돼있다면 해당 레지스트리에 C&C 서버 주소를 등록한다. HTTP 소켓에 C&C 서버 주소를 설정하고 통신을 시도하며 주고받는 패킷에 TLS 헤더 값을 추가해 TLS 패킷처럼 보이게 한다.
- 경로 : HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings
- 경로 : HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings
- 값 : ProxyEnable, ProxyServer

Random한 값을 일정한 연산식으로 계산해 0x300 길이의 암호화키를 생성한다. 이후 사용자 PC에서 시스템 정보를 수집한 데이터를 암호화한 뒤 맨 앞에 TLS 헤더(0x17, 0x03, 0x03)와 페이로드 크기를 추가하고 뒤이어 암호화 키와 암호화된 데이터를 덧붙여 공격자가 운영하는 C&C 서버로 전송한다.
- 암호화 키 생성 방식 : ( Random 값 * 0x343FD + 0x269EC3 ) 하위 1바이트

C&C 서버와 통신에 성공해 서버로부터 패킷을 수신받으면 TLS 헤더를 확인하다. TLS 패킷으로 확인되면 암호화된 데이터를 복호화한 뒤 명령 코드에 따라 동작을 수행한다.


C&C 서버 명령어 차이
ToneShell은 공격자의 C&C 서버와 지속해서 통신을 시도하는데 수신되는 코드 및 동작 별로 유형을 나눌 수 있다. 분석 시점 당시 공격자의 C&C 서버가 응답하지 않아 일부 명령 코드에 대한 동작이 불명확할 수 있다.
1. 유형 1의 C&C 서버 명령어

2. 유형 2의 C&C 서버 명령어

3. 유형 3의 C&C 서버 명령어

암호화키 생성 방식
C&C 서버와 송수신하는 패킷의 데이터를 암/복호화 하는데 사용되는 암호화키 길이 및 Seed 생성 방식이 유형별로 차이가 있다.
1. 유형 1의 암호화키 생성 방식
암호화 키 생성에 필요한 Random 값은 Rand 함수로 생성하고 일정한 값을 연산해 하위 1바이트를 암호화 키로 저장한다. 이를 0x300만큼 반복해 총 0x300 길이만큼의 암호화 키를 생성한다.
- 암호화 키 생성 방식 : ( Random 값 * 0x343FD + 0x269EC3 ) 하위 1바이트
2. 유형 2의 암호화키 생성 방식
암호화 키 생성 방식은 유형 1과 유사하지만 생성하는 암호화 키 길이가 0x100으로 차이가 있다.
- 암호화키 생성 방식 : ( Random 값 * 0xBD828 + 0x4373A ) 하위 1 바이트
3. 유형 3의 암호화키 생성 방식
암호화 키 생성에 필요한 Random 값을 GetTickCount 함수 값으로 전달 받고 이에 일정한 값을 연산해 0xE9 길이의 암호화 키를 생성한다.
- Random 값 : GetTickCount() * 0x2c31
- 암호화키 생성 방식 = ( Random 값 * 0x343FD + 0x269EC3 )의 하위 1 바이트
ToneShell 악성코드는 DLL 사이드로딩으로 실행되는 백도어로 중국 해커 그룹 Mustang Panda가 오랫동안 사용해왔으며 분석 시점에서도 각기 다른 유형들이 발견돼 사용자의 주의가 필요하다. 따라서 운영체제와 보안 프로그램을 항상 최신 버전으로 유지하고 의심스러운 파일을 실행하기 전 보안 프로그램의 검사를 권장한다.
상기 악성코드는 잉카인터넷 안티바이러스 제품 TACHYON Internet Security 6.0에서 진단 및 치료가 가능하다.


'분석 정보 > 악성코드 분석 정보' 카테고리의 다른 글
| USB를 감지해 전파하는 HIUPAN 웜 (0) | 2025.12.24 |
|---|---|
| 태국을 대상으로 유포되는 Yokai 백도어 (0) | 2025.12.24 |
| 중국 해커그룹 Mustang Panda, Pubload 백도어 유포 (0) | 2025.12.24 |
| 오픈 소스 코드를 이용하는 Phantom Stealer (0) | 2025.12.24 |
| Github에 공개된 CyberEye RAT 빌더 (2) | 2025.08.29 |