재사용된 자료로 멀웨어 캠페인 추적하기
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
이 캠페인은 악성 페이로드를 BaseStart- 및 -BaseEnd 태그 사이에 숨기는 JPEG ‘캐리어’ 이미지를 재사용합니다. 초기 액세스는 조작한 첨부 파일의 Microsoft Equation Editor 취약점(CVE-2017-11882) 악용을 통해 이루어지며, 이는 HTA를 다운로드합니다. HTA는 PowerShell을 실행하여 .NET 바이너리 단계를 가져옵니다. 많은 샘플에서 동일한 이미지를 재사용하는 것은 운영자가 반복 가능한 구성요소에 의존하고 있음을 시사합니다.
조사
연구자들은 TELERADIO_IB_OBYEKTLRIN_BURAXILIS_FORMASI.xIs 파일에서 Equation Editor 취약점이 포함된 것을 발견했습니다. 이 체인은 악성 IP에서 HTA를 가져와 실행하고, 다른 IP에 호스팅 된 두 번째 페이로드를 다운로드하는 PowerShell을 실행합니다. 마지막 단계는 JPEG 캐리어에 내장된 .NET 바이너리이며 BaseStart/-BaseEnd 구분자를 통해 복구됩니다. 유사한 캐리어 이미지가 수십 개의 VirusTotal 제출에서 발견되었습니다.
대응책
CVE-2017-11882 패치를 적용하고 Office를 최신 상태로 유지하세요. HTA 실행을 차단하거나 제한하고, PowerShell 스크립트 서명을 강제하며, URL/IP 필터링을 사용하여 호스팅 인프라에 대한 접근을 차단하세요.
대응
첨부 파일 및 HTA 단계를 탐지하고 격리하며, 식별된 IP에 대한 PowerShell 다운로드 활동을 경고하세요. 영향을 받은 호스트를 격리하고 메모리 포렌식을 수행하여 메모리에 있는 .NET 페이로드를 찾아 제거하세요.
공격 흐름
탐지
프로세스 생성에 의한 의심스러운 LOLBAS MSHTA 방어 회피 동작 탐지
보기
의심스러운 PowerShell 문자열 (via powershell)
보기
의심스러운 직 IP 파일 다운로드(프록시를 통해)
보기
의심스러운 Equation Editor 하위 프로세스(cmdline를 통해)
보기
의심스러운 PowerShell 문자열(cmdline를 통해)
보기
재사용된 자료로 악성 코드 캠페인 추적: IOCs(목적지 IP)
보기
재사용된 자료로 악성 코드 캠페인 추적: IOCs(소스 IP)
보기
악성 HTA 및 Base64 이미지 페이로드 전달 탐지 [프록시]
보기
Base64 인코딩 기술을 사용한 악성 PowerShell 페이로드 검색 [Windows PowerShell]
보기
시뮬레이션 실행
사전 조건: Telemetry 및 Baseline Pre-Flight 체크를 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적수 기술(TTP)의 정확한 실행을 상세히 기술합니다. 명령과 서술은 TTPs가 식별한 내용을 직접 반영하고 탐지 로직에 의해 예상되는 정확한 텔레메트리를 생성해야 합니다.
-
공격 서술 및 명령:
적수는 클라이언트 측 취약점을 악용하여 악성 HTA 파일을 제공합니다. HTA는 악성 페이로드를 포함한 명령줄과 함께 PowerShell을 실행합니다(예:Invoke‑Expression을(를) 실행하여calc.exe를 실행)BaseStart-and-BaseEnd문자열 사이에 인코딩됩니다. 이로 인해 공격자는 이를 실시간으로 신뢰성 있게 추출할 수 있습니다. 손상된 호스트에서 실행된 명령은:powershell.exe -NoProfile -Command "$b='BaseStart-$( [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Start-Process calc.exe')) )-BaseEnd'; $payload=$b -replace '.*BaseStart-','' -replace '-BaseEnd.*',''; IEX ([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String($payload)))"이 명령줄은
selection_base_startandselection_base_end조건을 만족시키며, 규칙을 트리거합니다. -
회귀 테스트 스크립트: 다음의 자체 포함 PowerShell 스크립트는 악성 행동을 재현하며, 위의 텔레메트리가 활성화된 Windows 호스트에서 실행될 수 있습니다.
# 회귀 테스트 스크립트 – 탐지 규칙을 트리거 # 1. Base64로 인코딩된 페이로드를 빌드(calc.exe 실행) $payload = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Start-Process calc.exe')) # 2. 구분자로 전체 명령줄을 조립 $cmd = "BaseStart-$payload-BaseEnd" # 3. 제작한 명령줄로 PowerShell 실행 $fullCommand = "powershell.exe -NoProfile -Command `"& {`$b='$cmd'; `$payload=`$b -replace '.*BaseStart-','' -replace '-BaseEnd.*',''; IEX ([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String(`$payload)))`"" # 4. 명령 실행 (이것은 calc.exe를 실행할 것입니다) Invoke-Expression $fullCommand -
정리 명령: 필요 시 모든 아티팩트를 제거하고 생성된 프로세스를 종료합니다.
# 정리 – 여전히 실행 중인 계산기를 닫고 명령 기록 지우기 Get-Process calc -ErrorAction SilentlyContinue | Stop-Process -Force # 선택적으로 PowerShell 기록 지우기 (현재 세션만) Remove-Item (Get-PSReadlineOption).HistorySavePath -ErrorAction SilentlyContinue