UAT-10608 드러나다: 웹 애플리케이션에 대한 대규모 자동 자격 증명 탈취
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Cisco Talos는 Next.js 앱의 React2Shell 취약점을 악용하여 대규모 운영을 통해 자격 증명을 대량 탈취하는 작업을 보고했습니다. 공격자는 NEXUS Listener라는 목적에 맞춘 프레임워크를 사용하여 환경 변수, SSH 키, 클라우드 및 Kubernetes 토큰, API 자격 증명 등을 포함한 고가치 비밀 정보를 손상된 호스트에서 추출합니다. Talos는 여러 지역과 클라우드 제공업체에 걸쳐 766개가 넘는 시스템이 영향을 받았음을 관찰했습니다. 탈취된 데이터는 중앙 C2 엔드포인트에 HTTP 콜백을 통해 전송됩니다.
조사
Talos는 CVE-2025-55182를 통해 전달된 페이로드를 분석했으며, 이는 /tmp에 무작위로 이름이 지정된 셸 스크립트를 떨어뜨리고 지속적 유지를 위한 nohup을 사용하여 실행합니다. 스크립트는 환경 비밀, SSH 자료, 클라우드 메타데이터, Kubernetes 토큰, Docker 세부사항, 명령 기록 등을 수집하는 단계적 모듈을 실행합니다. 결과는 8080 포트를 통해 NEXUS Listener 서비스로 반환됩니다. 조사자들은 자격 증명 유형과 수집 규모를 검증하기 위해 NEXUS Listener 웹 UI, 백엔드 데이터 저장소 및 관련 네트워크 텔레메트리를 검토했습니다.
완화
영향 받는 Next.js 배포 환경을 패치하여 React2Shell 노출을 완화하세요. 클라우드 메타데이터 엔드포인트에 IMDSv2를 적용하고, 노출 가능성이 있는 모든 비밀을 즉시 교체하며, 환경과 역할별로 SSH 키 사용을 분리하세요. SSR 스타일의 주입 시도를 잡도록 RASP 제어 또는 WAF 규칙을 추가하세요. 클라우드 팀은 비밀 스캐닝을 활성화하고, 인스턴스 역할 권한을 최소화하며, 민감한 환경 변수가 실수로 노출되지 않도록 서버사이드 구성을 검토해야 합니다.
응답
/tmp에서 실행되는 예상치 못한 nohup-생성 스크립트, 특히 점으로 시작되거나 무작위로 이름이 지정된 파일에 대한 알림을 설정하고, 포트 8080에서 알 수 없는 목적지로의 아웃바운드 HTTP 트래픽을 모니터링하세요. 알려진 NEXUS Listener 콜백 패턴과 일치하는 유출 URL을 차단하세요. 영향을 받은 호스트를 격리하고, 손상된 키/토큰을 폐기하며, 수집된 데이터와 사용 위치를 이해하기 위해 포렌식 검토를 수행하세요. React2Shell 악용에 대한 IDS 탐지를 배포하고 메타데이터 및 비밀 저장소에 대한 최소 권한 접근을 강화하세요.
“graph TB
%% Class definitions
classDef technique fill:#ffcc99
classDef tool fill:#99ccff
classDef malware fill:#ccffcc
%% Node definitions
tech_initial_access[“Technique – T1189 Drive-By Compromise
Description: Attacker gains initial access by exploiting a vulnerability in a public-facing website and executing code on the victim system.”]
class tech_initial_access technique
tool_react2shell[“Tool – Name: React2Shell (CVE-2025-55182)
Description: Pre-authentication remote code execution vulnerability in Next.js applications.”]
class tool_react2shell tool
tech_exploit_client[“Technique – T1203 Exploitation for Client Execution
Description: Exploits software vulnerabilities to execute code on a target system.”]
class tech_exploit_client technique
tech_script_proxy[“Technique – T1216 System Script Proxy Execution
Description: Uses system scripts to proxy execution of malicious code.”]
class tech_script_proxy technique
malware_loader[“Malware – Name: Loader Script
Description: Small shell script placed in /tmp with a randomized name and launched with nohup.”]
class malware_loader malware
tech_hide_artifacts[“Technique – T1564.011 Hide Artifacts: Ignore Process Interrupts
Description: Runs malicious processes in background to avoid detection.”]
class tech_hide_artifacts technique
tech_network_logon[“Technique – T1037.003 Network Logon Script
Description: Configures a logon script that runs each time a user logs on to the network.”]
class tech_network_logon technique
tech_private_keys[“Technique – T1552.004 Private Keys
Description: Searches for and extracts private SSH keys from the file system.”]
class tech_private_keys technique
tech_credentials_files[“Technique – T1552.001 Credentials In Files
Description: Collects credentials stored in files such as .env, authorized_keys, Docker configs, etc.”]
class tech_credentials_files technique
tech_cloud_metadata[“Technique – T1552.005 Cloud Instance Metadata API
Description: Queries cloud provider metadata services to obtain temporary IAM credentials.”]
class tech_cloud_metadata technique
tech_container_api[“Technique – T1552.007 Container API
Description: Accesses Kubernetes service-account tokens from the pod filesystem.”]
class tech_container_api technique
tech_remote_staging[“Technique – T1074.002 Remote Data Staging
Description: Stages collected data locally before exfiltration.”]
class tech_remote_staging technique
tech_automated_exfil[“Technique – T1020 Automated Exfiltration
Description: Automates data exfiltration through scripted processes.”]
class tech_automated_exfil technique
tech_web_service[“Technique – T1102 Web Service
Description: Utilizes legitimate web services for command and control communication.”]
class tech_web_service technique
tech_dead_drop[“Technique – T1102.001 Dead Drop Resolver
Description: Stores exfiltrated data in a web service acting as a dead-drop location.”]
class tech_dead_drop technique
tech_ssh[“Technique – T1021.004 SSH
Description: Uses SSH for remote service lateral movement.”]
class tech_ssh technique
tech_ssh_hijack[“Technique – T1563.001 SSH Hijacking
Description: Reuses harvested private keys to hijack existing SSH sessions.”]
class tech_ssh_hijack technique
tool_nexus[“Tool – Name: NEXUS Listener
Description: Web-based GUI that receives harvested data and displays it to operators.”]
class tool_nexus tool
%% Connections
tech_initial_access –>|uses| tool_react2shell
tool_react2shell –>|triggers| tech_exploit_client
tech_exploit_client –>|enables| tech_script_proxy
tech_script_proxy –>|launches| malware_loader
malware_loader –>|applies| tech_hide_artifacts
malware_loader –>|sets up| tech_network_logon
malware_loader –>|collects| tech_private_keys
malware_loader –>|collects| tech_credentials_files
malware_loader –>|queries| tech_cloud_metadata
malware_loader –>|accesses| tech_container_api
malware_loader –>|stages| tech_remote_staging
tech_remote_staging –>|exfiltrates via| tech_automated_exfil
tech_automated_exfil –>|uses| tech_web_service
tech_automated_exfil –>|uses| tech_dead_drop
tech_web_service –>|provides C2 to| tool_nexus
tool_nexus –>|enables| tech_ssh
tech_ssh –>|augmented by| tech_ssh_hijack
tech_ssh_hijack –>|reuses| tech_private_keys
“
공격 흐름
탐지
리눅스 호스트에서 숨겨진 파일이 생성됨 (file_event를 통해)
보기
nohup 사용 (cmdline을 통해)
보기
임시 폴더에 리눅스 스크립트가 생성됨 (file_event를 통해)
보기
IOC(목적지 IP)로 탐지: UAT-10608: 웹 애플리케이션을 표적으로 대규모 자동화된 자격 증명 수집 작업 내부
보기
IOC(출처 IP)로 탐지: UAT-10608: 웹 애플리케이션을 표적으로 대규모 자동화된 자격 증명 수집 작업 내부
보기
자동화된 자격 증명 수집 스크립트 실행 [리눅스 프로세스 생성]
보기
시뮬레이션 실행
필수 조건: 텔레메트리 및 기준선 사전 점검을 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 작동시키기 위해 설계된 적대적 기술(TTP)의 정확한 실행을 상세하게 설명합니다. 명령과 내러티브는 반드시 식별된 TTP를 직접 반영하여 탐지 논리에 의해 기대되는 정확한 텔레메트리를 생성해야 합니다.
-
공격 내러티브 및 명령:
공격자는 자격 증명 수집 스크립트(.eba9ee1e4.sh) 사본을 입수하였으며/etc/passwd를 읽고, SSH 키를 검색하며, 대상 웹 애플리케이션에 대한 무차별 대입 시도를 수행하려 합니다. SSH 세션이 종료된 후에도 스크립트를 계속 실행하고 대화형 모니터링을 피하기 위해 공격자는 스크립트를/tmp/.eba9ee1e4.sh에 업로드하고nohup sh로 실행합니다. 탐지 규칙은 명령 줄의 문자 그대로를 탐지하기 때문에nohup sh /tmp/.eba9ee1e4.sh이라는 이 정확한 실행이 예상되는 텔레메트리를 생성할 것입니다. -
회귀 테스트 스크립트:
#!/bin/bash # ------------------------------------------------------------- # Sigma 규칙을 트리거하기 위한 회귀 스크립트: # `nohup sh /tmp/.eba9ee1e4.sh` 탐지 # ------------------------------------------------------------- # 1. 악의적으로 보이는 스크립트 드롭(테스트를 위한 무해한 내용) cat < /tmp/.eba9ee1e4.sh #!/bin/bash echo "자격 증명 수집 시뮬레이션 - 실제 활동 없음" EOF chmod +x /tmp/.eba9ee1e4.sh # 2. 정확한 명령 줄로 백그라운드에서 nohup으로 스크립트 실행 nohup sh /tmp/.eba9ee1e4.sh >/dev/null 2>&1 & echo "시뮬레이션 시작 – 탐지를 위해 SIEM을 확인하세요." -
정리 명령:
# 테스트 스크립트의 배경 인스턴스 종료 pkill -f "/tmp/.eba9ee1e4.sh" || true # 테스트 스크립트 제거 rm -f /tmp/.eba9ee1e4.sh echo "정리 완료."