DAEMON Tools 공급망 공격으로 공식 설치 프로그램에 악성코드 포함
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
공급망 손상으로 인해 버전 12.5.0.2421 부터 12.5.0.2434까지의 DAEMON Tools Lite 설치 프로그램이 영향을 받았습니다. 변조된 설치 프로그램은 악성 로더를 실행했으며, 이는 원격 인프라에 접속하여 추가 페이로드를 가져와 백도어와 QUIC 기반 RAT를 배포했습니다. 이 캠페인은 100개 이상의 국가에서 수천 건의 감염 시도를 촉발했으며, 보다 좁은 2차 시기 작전은 일부 선택된 피해자 그룹을 목표로 했습니다.
조사
카스퍼스키 연구원들은 세 개의 수정된 바이너리 — DTHelper.exe, DiscSoftBusServiceLite.exe및 DTShellHlp.exe 를 식별했으며, 이들은 악성 도메인과 연결하여 cmd.exe을 통해 명령을 실행했습니다. 후속 페이로드에는 envchk.exe, cdg.exe및 cdg.tmp이 포함되어 있었으며, 이들을 통해 가벼운 백도어와 QUIC RAT를 로드했습니다. 텔레메트리는 소매, 과학 연구, 정부 및 제조 부문 조직과 이 활동을 연결시켰습니다.
완화 조치
AVB Disc Soft는 버전 12.6.0.2445의 클린 빌드를 출시하고, 영향을 받은 사용자는 손상된 Lite 버전을 제거하고 시스템 전체 스캔을 수행한 뒤 즉시 업그레이드할 것을 권장했습니다. 조직은 DAEMON Tools가 설치된 엔드포인트를 격리하고, 서명된 설치 프로그램의 무결성을 확인하며, 알려진 악성 바이너리 및 관련 네트워크 트래픽을 모니터링해야 합니다.
대응
방어자들은 세 개의 손상된 실행파일을 검색하고, env-check.daemontools.cc로의 아웃바운드 HTTP 요청을 감시하며 envchk.exe and cdg.exe와 같은 예상치 못한 페이로드의 실행을 차단해야 합니다. 엔드포인트 탐지 규칙도 백도어의 동작을 식별할 수 있도록 업데이트되어야 하며, 감염된 시스템은 지체 없이 격리되어야 합니다.
"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ffccff classDef tool fill:#cccccc %% Node definitions initial_access_supply_chain["<b>초기 접근</b> – <b>T1553.002 신뢰 제어 전복: 코드 서명</b><br/>적이 DAEMON Tools Lite 설치 프로그램을 손상시키고 합법적인 인증서로 서명했습니다."] class initial_access_supply_chain action technique_compromise_binary["<b>기법</b> – <b>T1554 호스트 소프트웨어 바이너리 손상</b><br/>트로이 목마 바이너리 DTHelper.exe, DiscSoftBusServiceLite.exe, DTShellHlp.exe가 배포되었습니다."] class technique_compromise_binary technique persistence_autostart["<b>지속성</b> – <b>T1547 부팅 또는 로그온 자동 시작 실행</b><br/>악성 바이너리가 자동 시작 메커니즘을 통해 시스템 시작 시 실행되도록 설정되었습니다."] class persistence_autostart action persistence_startup_items["<b>기법</b> – <b>T1037.005 부팅 또는 로그온 초기화 스크립트: 시작 항목</b><br/>시작 항목으로 설치되었습니다."] class persistence_startup_items technique persistence_software_ext["<b>기법</b> – <b>T1176 소프트웨어 확장</b><br/>지속성을 위해 소프트웨어 확장을 사용했습니다."] class persistence_software_ext technique execution_c2_resolution["<b>실행</b> – <b>T1568 동적 해상도</b><br/>HTTP GET을 통해 명령을 얻기 위해 envu2011check.daemontools.cc와 접촉합니다."] class execution_c2_resolution action execution_cmd["<b>기법</b> – <b>T1059.003 명령 및 스크립팅 인터프리터: Windows 명령 셸</b><br/>cmd.exe를 사용하여 명령이 실행됩니다."] class execution_cmd technique execution_indirect["<b>기법</b> – <b>T1202 간접 명령 실행</b><br/>다른 프로세스를 통해 간접적으로 명령을 실행합니다."] class execution_indirect technique execution_payload_download["<b>기법</b> – <b>T1204.003 사용자 실행: 악성 이미지</b><br/>추가 페이로드 envchk.exe, cdg.exe, cdg.tmp 다운로드."] class execution_payload_download technique defense_process_hollowing["<b>방어 회피</b> – <b>T1055.012 프로세스 주입: 프로세스 할로잉</b><br/>백도어가 notepad.exe, conhost.exe에 코드를 주입합니다."] class defense_process_hollowing technique defense_reflective_loading["<b>기법</b> – <b>T1620 리플렉티브 코드 로딩</b><br/>메모리 내의 코드를 실행하기 위해 리플렉티브 로딩을 사용합니다."] class defense_reflective_loading technique defense_junk_code["<b>기법</b> – <b>T1027.016 난독화된 파일 또는 정보: 정크 코드 삽입</b><br/>분석을 피하기 위해 정크 코드를 사용합니다."] class defense_junk_code technique c2_multi_stage["<b>명령 및 제어</b> – <b>T1104 다중 단계 채널</b><br/>다중 단계 채널을 사용하여 추가 페이로드를 검색합니다."] class c2_multi_stage action c2_quic_rat["<b>악성코드</b> – <b>T1219 원격 액세스 도구</b><br/>QUIC RAT를 드롭하여 대화형 원격 액세스를 제공합니다."] class c2_quic_rat malware lateral_taint_shared["<b>옆으로 움직임</b> – <b>T1080 공유 컨텐츠 오염</b><br/>백도어가 공유 콘텐츠를 오염시켜 측면으로 확산합니다."] class lateral_taint_shared action %% Connections initial_access_supply_chain –>|uses| technique_compromise_binary technique_compromise_binary –>|enables| persistence_autostart persistence_autostart –>|includes| persistence_startup_items persistence_autostart –>|includes| persistence_software_ext persistence_startup_items –>|leads to| execution_c2_resolution persistence_software_ext –>|leads to| execution_c2_resolution execution_c2_resolution –>|triggers| execution_cmd execution_cmd –>|uses| execution_indirect execution_cmd –>|downloads| execution_payload_download execution_payload_download –>|provides| defense_process_hollowing defense_process_hollowing –>|utilizes| defense_reflective_loading defense_process_hollowing –>|utilizes| defense_junk_code defense_reflective_loading –>|supports| c2_multi_stage defense_junk_code –>|supports| c2_multi_stage c2_multi_stage –>|delivers| c2_quic_rat c2_quic_rat –>|enables| lateral_taint_shared "
공격 흐름
탐지
Powershell을 통한 다운로드 또는 업로드 (명령줄 경유)
보기
Rundll32 DLL 의심스러운 경로 실행 (프로세스 생성 경유)
보기
Powershell에서 의심스러운 .NET 메소드 호출 (powershell 경유)
보기
의심스러운 명령 및 제어, 비정상적인 최상위 도메인 (TLD) DNS 요청 (dns 경유)
보기
DAEMON Tools 손상을 통한 QUIC RAT 및 악성 도메인 접촉 감지 [윈도우 네트워크 연결]
보기
트로이 목마화된 DAEMON Tools 시작 실행 감지 [윈도우 프로세스 생성]
보기
시뮬레이션 실행
전제 조건: 텔레메트리 및 기본 라인 사전 점검이 통과했어야 합니다.
이유 설명: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적군 기술(TTP)의 정확한 실행을 자세히 설명합니다. 명령과 설명은 식별된 TTP를 직접 반영하고 탐지 논리에 의해 예상되는 정확한 텔레메트리 생성을 목표로 해야 합니다.
-
공격 서사 및 명령:
공급망을 손상시킨 공격자는calc.exe이름을DTHelper.exe로 변경하고 시스템 시작 시 실행될 위치에 심습니다 (예:HKLMSoftwareMicrosoftWindowsCurrentVersionRun키). 테스트 목적을 위해 우리는 바이너리의 즉각적인 실행을 시뮬레이션하여 규칙이 관찰하는 정확한 프로세스 생성 이벤트를 생성합니다.단계:
- 정상적인 실행 파일 (
calc.exe)을C:TempDTHelper.exe. - 로 복사
- 바이너리를 Run 레지스트리 키에 등록하여 “시작 실행”을 모방합니다.
- 정상적인 실행 파일 (
-
시스템이 Run 항목을 실행하도록 강제하거나 직접 바이너리를 호출합니다.
# ------------------------------------------------------------- # Simulation script for Trojanized DAEMON Tools startup execution # ------------------------------------------------------------- $tempPath = "C:TempDTHelper.exe" $runKey = "HKLM:SoftwareMicrosoftWindowsCurrentVersionRun" $runName = "DAEMONHelper" # 1. Deploy the malicious‑looking executable (using calc.exe as placeholder) Copy-Item -Path "$env:SystemRootSystem32calc.exe" -Destination $tempPath -Force # 2. Register it for automatic execution at logon (emulates persistence) New-ItemProperty -Path $runKey -Name $runName -Value $tempPath -PropertyType String -Force # 3. Trigger execution immediately for testing purposes Start-Process -FilePath $tempPath # Output a marker for test verification Write-Host "`n[+] DTHelper.exe executed and Run entry created." -
Cleanup Commands:
# ------------------------------------------------------------- # Cleanup for the DAEMON Tools simulation # ------------------------------------------------------------- $tempPath = "C:TempDTHelper.exe" $runKey = "HKLM:SoftwareMicrosoftWindowsCurrentVersionRun" $runName = "DAEMONHelper" # Remove the Run registry entry Remove-ItemProperty -Path $runKey -Name $runName -ErrorAction SilentlyContinue # Stop the process if still running Get-Process -Name "DTHelper" -ErrorAction SilentlyContinue | Stop-Process -Force # Delete the copied executable Remove-Item -Path $tempPath -Force -ErrorAction SilentlyContinue Write-Host "`n[+] Cleanup complete."