SOC Prime Bias: 치명적

08 4월 2026 18:14

UAT-10608 드러나다: 웹 애플리케이션에 대한 대규모 자동 자격 증명 탈취

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
UAT-10608 드러나다: 웹 애플리케이션에 대한 대규모 자동 자격 증명 탈취
shield icon

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[“TechniqueT1189 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[“ToolName: React2Shell (CVE-2025-55182)
Description: Pre-authentication remote code execution vulnerability in Next.js applications.”] class tool_react2shell tool tech_exploit_client[“TechniqueT1203 Exploitation for Client Execution
Description: Exploits software vulnerabilities to execute code on a target system.”] class tech_exploit_client technique tech_script_proxy[“TechniqueT1216 System Script Proxy Execution
Description: Uses system scripts to proxy execution of malicious code.”] class tech_script_proxy technique malware_loader[“MalwareName: Loader Script
Description: Small shell script placed in /tmp with a randomized name and launched with nohup.”] class malware_loader malware tech_hide_artifacts[“TechniqueT1564.011 Hide Artifacts: Ignore Process Interrupts
Description: Runs malicious processes in background to avoid detection.”] class tech_hide_artifacts technique tech_network_logon[“TechniqueT1037.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[“TechniqueT1552.004 Private Keys
Description: Searches for and extracts private SSH keys from the file system.”] class tech_private_keys technique tech_credentials_files[“TechniqueT1552.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[“TechniqueT1552.005 Cloud Instance Metadata API
Description: Queries cloud provider metadata services to obtain temporary IAM credentials.”] class tech_cloud_metadata technique tech_container_api[“TechniqueT1552.007 Container API
Description: Accesses Kubernetes service-account tokens from the pod filesystem.”] class tech_container_api technique tech_remote_staging[“TechniqueT1074.002 Remote Data Staging
Description: Stages collected data locally before exfiltration.”] class tech_remote_staging technique tech_automated_exfil[“TechniqueT1020 Automated Exfiltration
Description: Automates data exfiltration through scripted processes.”] class tech_automated_exfil technique tech_web_service[“TechniqueT1102 Web Service
Description: Utilizes legitimate web services for command and control communication.”] class tech_web_service technique tech_dead_drop[“TechniqueT1102.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[“TechniqueT1021.004 SSH
Description: Uses SSH for remote service lateral movement.”] class tech_ssh technique tech_ssh_hijack[“TechniqueT1563.001 SSH Hijacking
Description: Reuses harvested private keys to hijack existing SSH sessions.”] class tech_ssh_hijack technique tool_nexus[“ToolName: 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 “

공격 흐름

시뮬레이션 실행

필수 조건: 텔레메트리 및 기준선 사전 점검을 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 작동시키기 위해 설계된 적대적 기술(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 "정리 완료."