SOC Prime Bias: 높음

03 12월 2025 19:02

Matanbuchus 3.0: 기술 분석

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Matanbuchus 3.0: 기술 분석
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

Matanbuchus는 2020년부터 Malware‑as‑a‑Service (MaaS)로 제공된 C++ 기반의 악성 다운로드 프로그램입니다. 2025년 7월에 관찰된 버전 3.0은 Protobuf 기반 직렬화, ChaCha20 암호화 및 여러 새로운 분석 회피 기법을 도입합니다. 이 악성코드는 C2 서버에서 주요 백도어 모듈을 가져오는 다운로드 모듈로 구성되며, 지속성, 명령 실행 및 후속 페이로드 전송을 처리합니다. 랜섬웨어 사건과 Rhadamanthys 정보 탈취 및 NetSupport RAT 배포 캠페인과 연관되어 있습니다.

Matanbuchus 3.0 분석

분석은 다운로더와 메인 모듈이라는 두 구성 요소를 설명하고, 악성 MSI를 사용하여 QuickAssist로 초기 감염 체인을 설명합니다. gpa-cro.com에서 호스팅된 악성 MSI와 HRUpdate.exe로 가장하는 사이드 로드된 DLL입니다. 다운로더는 mechiraz.com 에 연결하여 메인 모듈을 받게 되고, 그 후 C2에 등록, Update Tracker Task라는 주기적 작업을 생성하고 호스트당 뮤텍스를 설정합니다. C2 트래픽은 ChaCha20 키와 논스를 사용하여 HTTPS를 통해 암호화된 Protobuf 메시지로 진행됩니다. Update Tracker Task, and sets a per-host mutex. C2 traffic flows over HTTPS using encrypted Protobuf messages secured with ChaCha20 keys and nonces.

완화

방어 조치는 네트워크 가장자리에서 악성 gpa-cro.com 및 mechiraz.com 도메인 차단을 포함하고, Update Tracker Task와 관련된 HKCU 레지스트리 키의 생성을 모니터링하며, 승인되지 않은 MSI 패키지 및 사이드 로드된 DLL의 실행을 방지하기 위한 애플리케이션 화이트리스트 정책을 강화합니다. 보안 팀은 ChaCha20으로 암호화된 트래픽을 식별하고, 서명되지 않거나 검증되지 않은 파일에 대해 msiexec와 같은 Windows 유틸리티 사용을 제한해야 합니다.

대응

Matanbuchus 활동이 감지되면 영향을 받은 시스템을 격리하고 주기적 작업 정의, 레지스트리 항목, 뮤텍스 값 및 수집된 페이로드를 포착한 후 악성 바이너리 및 작업을 제거합니다. 종합적인 엔드포인트 포렌식을 수행하여 2차 페이로드 및 유출된 데이터를 찾아내고, 노출된 자격 증명을 재설정하며 영향을 받은 Active Directory 계정을 수정합니다.

graph TB %% 클래스 정의 섹션 classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ccffcc classDef operator fill:#ff9900 %% 노드 – 기술, 도구, 프로세스 init_remote_access[“<b>기술</b> – <b>T1219 원격 액세스 도구</b><br />QuickAssist 원격 지원을 사용하여 초기 접근 확보”] tool_quickassist[“<b>도구</b> – <b>이름</b>: QuickAssist<br /><b>설명</b>: Windows 원격 지원 유틸리티”] execution_user_exec[“<b>기술</b> – <b>T1204.002 사용자 실행</b><br />명령줄을 통해 악성 MSI 다운로드”] process_msi[“<b>프로세스</b> – <b>이름</b>: Malicious.msi<br /><b>설명</b>: 전달된 페이로드”] tool_cmdshell[“<b>도구</b> – <b>이름</b>: Windows 명령 셸<br /><b>기술 ID</b>: T1059.003”] process_hrupdate[“<b>프로세스</b> – <b>이름</b>: HRUpdate.exe<br /><b>설명</b>: cmd를 통해 실행”] tool_msiexec[“<b>도구</b> – <b>이름</b>: Msiexec<br /><b>기술 ID</b>: T1218.007<br />DLL 사이드로딩에 사용”] process_maliciousdll[“<b>프로세스</b> – <b>이름</b>: 악성 DLL<br /><b>설명</b>: msiexec를 통해 로드”] persistence_schtask[“<b>기술</b> – <b>T1053 예약 작업/잡</b><br />재시작 시 msiexec 실행을 위한 작업 생성”] discovery_systeminfo[“<b>기술</b> – <b>T1082 시스템 정보 수집</b><br />호스트 이름, OS 등 수집”] discovery_identity[“<b>기술</b> – <b>T1589 피해자 신원 정보 수집</b><br />사용자 및 도메인 정보 수집”] discovery_network[“<b>기술</b> – <b>T1590.001 도메인 속성</b><br />도메인 및 보안 제품 정보 수집”] defense_obfuscation[“<b>기술</b> – <b>T1027 난독화된 파일 또는 정보</b><br />동적 API 해석 및 정크 코드”] defense_deobfuscate[“<b>기술</b> – <b>T1140 난독화 해제/파일 또는 정보 디코딩</b>”] defense_virustime[“<b>기술</b> – <b>T1497.003 시간 기반 회피</b>”] defense_useractivity[“<b>기술</b> – <b>T1497.002 사용자 활동 기반 검사</b>”] c2_webservice[“<b>기술</b> – <b>T1102.002 웹 서비스 양방향 통신</b><br />암호화된 Protobuf를 통한 HTTPS”] c2_appprotocol[“<b>기술</b> – <b>T1071 애플리케이션 계층 프로토콜</b><br />HTTP/HTTPS 사용”] payload_powershell[“<b>기술</b> – <b>T1059.001 PowerShell</b><br />다운로드된 페이로드 실행”] payload_cmdshell[“<b>기술</b> – <b>T1059.003 Windows 명령 셸</b><br />EXE, DLL, MSI 실행”] process_injection[“<b>기술</b> – <b>T1055.001 DLL 주입</b><br />명명된 파이프를 통해 주입”] tool_wmi[“<b>도구</b> – <b>이름</b>: Windows 원격 관리(WMI)<br /><b>기술 ID</b>: T1021.006”] %% 클래스 지정 class init_remote_access action class tool_quickassist tool class execution_user_exec action class process_msi process class tool_cmdshell tool class process_hrupdate process class tool_msiexec tool class process_maliciousdll process class persistence_schtask action class discovery_systeminfo action class discovery_identity action class discovery_network action class defense_obfuscation action class defense_deobfuscate action class defense_virustime action class defense_useractivity action class c2_webservice action class c2_appprotocol action class payload_powershell action class payload_cmdshell action class process_injection action class tool_wmi tool %% 연결 – 공격 흐름 init_remote_access u002du002d> |사용| tool_quickassist tool_quickassist u002du002d> |활성화| execution_user_exec execution_user_exec u002du002d> |다운로드| process_msi process_msi u002du002d> |cmd에 의해 실행| tool_cmdshell tool_cmdshell u002du002d> |실행| process_hrupdate process_hrupdate u002du002d> |시작| tool_msiexec tool_msiexec u002du002d> |로드| process_maliciousdll process_maliciousdll u002du002d> |생성| persistence_schtask persistence_schtask u002du002d> |재시작 시 실행| tool_msiexec persistence_schtask u002du002d> |실행| process_maliciousdll init_remote_access u002du002d> |연결| discovery_systeminfo init_remote_access u002du002d> |연결| discovery_identity init_remote_access u002du002d> |연결| discovery_network process_maliciousdll u002du002d> |적용| defense_obfuscation process_maliciousdll u002du002d> |사용| defense_deobfuscate process_maliciousdll u002du002d> |적용| defense_virustime process_maliciousdll u002du002d> |적용| defense_useractivity process_maliciousdll u002du002d> |통신| c2_webservice c2_webservice u002du002d> |사용| c2_appprotocol c2_webservice u002du002d> |전달| payload_powershell c2_webservice u002du002d> |전달| payload_cmdshell payload_powershell u002du002d> |실행| process_injection payload_cmdshell u002du002d> |실행| process_injection process_injection u002du002d> |사용| tool_wmi

공격 흐름

시뮬레이션 실행

전제 조건: 텔레메트리 & 베이스라인 사전 비행 검사가 통과해야 합니다.

공격 내러티브 및 명령

  1. 사용자 실행 (T1204) – 공격자가 사용자를 설득하여QuickAssist.
  2. DLL 사이드 로딩 (T1574.001) – QuickAssist가 실행되는 동안 공격자가 악성 DLL (malicious.dll)을 같은 디렉토리에 복사하고HRUpdate.exe 를 실행하여 악성 DLL을 로드하게 합니다.HRUpdate.exe, causing the malicious DLL to load.
  3. 예약된 작업 생성 (T1546.010) – 공격자가msiexec.exe -z를 쉘 명령과 결합하여 (powershell -EncodedCommand …) 숨겨진 예약된 작업을 생성하여 악성 페이로드를 실행합니다.
  4. 서명된 바이너리 프록시 실행 (T1218.002 / T1218.007) – 페이로드는msiexec를 통해 실행되며 필요에 따라WMI (wmic 프로세스 콜 생성 …)을 사용하여 정상적인 관리자 작업으로 위장합니다.

회귀 테스트 스크립트

# -------------------------------------------------
# 시뮬레이션 스크립트 - Matanbuchus 활동 (TTPs)
# -------------------------------------------------
# 1. HRUpdate.exe 옆에 악성 DLL 배포
$malDllPath = "$env:ProgramFilesHRUpdatemalicious.dll"
Copy-Item -Path ".malicious.dll" -Destination $malDllPath -Force

# 2. QuickAssist 실행 (정상적인)
Start-Process -FilePath "C:Program FilesQuickAssistQuickAssist.exe" -WindowStyle Hidden

# 3. DLL 사이드 로딩을 트리거하기 위해 HRUpdate.exe 실행
Start-Process -FilePath "C:Program FilesHRUpdateHRUpdate.exe" -ArgumentList "/silent" -Wait

# 4. msiexec.exe -z를 사용하여 예약된 작업 생성
$taskName = "SysUpdate"
$taskCmd  = "powershell -NoProfile -WindowStyle Hidden -EncodedCommand " +
            ([Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Start-Process notepad.exe')))
$msiCmd = "msiexec.exe -z $taskName /quiet /qn /l*v `"$env:TEMPmsi.log`" /i $taskCmd"
Start-Process -FilePath "C:WindowsSystem32msiexec.exe" -ArgumentList $msiCmd -WindowStyle Hidden

# 5. (옵션) T1218.007을 커버하기 위해 동일한 페이로드를 WMI를 통해 실행
$wmiCmd = "cmd /c $taskCmd"
wmic process call create "$wmiCmd"
# -------------------------------------------------
# 시뮬레이션 종료
# -------------------------------------------------

정리 명령

# 남아있는 QuickAssist 또는 HRUpdate 프로세스 종료
Get-Process -Name "QuickAssist","HRUpdate" -ErrorAction SilentlyContinue | Stop-Process -Force

# 악성 DLL 제거
Remove-Item -Path "$env:ProgramFilesHRUpdatemalicious.dll" -Force -ErrorAction SilentlyContinue

# 예약된 작업 삭제
schtasks /Delete /TN "SysUpdate" /F

# 임시 msiexec 로그 제거
Remove-Item -Path "$env:TEMPmsi.log" -Force -ErrorAction SilentlyContinue