APT41 그룹 전술과 AttackIQ Ransom Tales의 랜섬웨어 에뮬레이션
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
이 기사는 REvil, DarkSide, BlackMatter라는 세 가지 악명 높은 랜섬웨어 계열의 전술, 기술 및 절차를 제어된 실험실 환경에서 재현하는 AttackIQ의 Ransom Tales 시리즈의 다섯 번째 볼륨을 개요로 설명합니다. 각 에뮬레이션은 실행, 지속성, 발견, 방어 회피 및 영향 단계에 걸쳐 있으며 수비수가 탐지 및 대응 워크플로우를 실습하고 검증할 수 있습니다. Ransom Tales 시나리오는 APT41 사이버 스파이 캠페인에서 얻은 교훈을 반영하면서, 현대 블루 팀과 분석가를 위한 공급망 손상과 랜섬웨어-애즈-어-서비스 생태계의 부상을 연대기적으로 기록합니다.
APT41 공격 분석
AttackIQ의 적대적 연구 팀은 APT41 그룹 활동을 재구성한 분석가와 마찬가지로, 각 랜섬웨어 계열에 대한 현실적인 공격 그래프를 구축하기 위해 공개 위협 인텔리전스 보고서, 악성코드 샘플 및 텔레메트리를 분석했습니다. 그들은 관찰된 단계를 MITRE ATT&CK 기술에 맞춰 매핑하고 페이로드를 검색하고, 지속성을 설정하며, 호스트를 열거하고, 데이터를 암호화하는 실행 흐름을 설계했습니다. 또한 APT41 그룹이 미국 회사를 상대로 사이버 스파이 작전을 개시한 방법을 모델링하여 공유된 트레이드크래프트를 보여주었습니다.
완화
완화 권장 사항은 엄격한 최소 권한 액세스, 불필요한 서비스 비활성화, Atlassian Confluence, Apache Struts 및 GoAhead RCE 취약성을 포함한 인프라의 신속한 패치, Log4j 결함(CVE-2021-44228, CVE-2022-26134, CVE-2017-9805 및 CVE-2017-17562)과 같은 결함의 패치를 강조합니다. 팀은 원격 데스크톱 액세스를 제한하고, 레지스트리 및 작업 변경을 모니터링하고, 백업을 검증해야 합니다.
대응
활동이 감지되면 대응자는 영향을 받은 시스템을 격리하고 휘발성 메모리를 캡처하며 레지스트리 하이브를 수집하고 로그 소스를 검토용으로 보존해야 합니다. APT41 그룹이 사용하는 기술의 증거를 찾기 위해 그림자 복사본, 예약된 작업 및 레지스트리 키를 조사한 후 백업에서 데이터를 복구해야 합니다. 팀은 측면 이동을 사냥하고 이해 관계자에게 브리핑하며 위협 인텔리전스로 사건을 강화해야 합니다.
mermaid graph TB %% Class Definitions classDef action fill:#99ccff classDef builtin fill:#cccccc %% Nodes – Attack Stages node_initial_access[“<b>초기 접근</b> – <b>T1190 공공 노출 애플리케이션 악용</b><br/>기술: CVE-2021-4428 (Log4j), CVE-2022-26134 (Confluence), CVE-2017-9805 (Struts), CVE-2017-17562 (GoAhead)”] class node_initial_access action node_execution[“<b>실행</b> – <b>T1127.001 신뢰할 수 있는 개발자 유틸리티 프록시 실행</b><br/>도구: msbuild.exe 악성 XML 페이로드 실행”] class node_execution action node_persistence[“<b>지속성 및 권한 상승</b> – <b>T1053 예약된 작업/작업</b><br/>SYSTEM 예약 작업을 생성하여 msbuild를 반복적으로 실행합니다”] class node_persistence action node_defev1[“<b>방어 회피</b> – <b>T1574.002 DLL 사이드-로딩</b><br/>서명된 VipreAV 실행 파일(vetysafe.exe)을 악용하여 악성 sbamres.dll 로드”] class node_defev1 action node_credential[“<b>자격 증명 접근</b> – <b>T1003.006 운영 체제 자격 증명 덤핑 DCSync</b><br/>DCSync를 통해 도메인 관리자 암호 해시 수집”] class node_credential action node_discovery[“<b>발견</b> – <b>T1046 네트워크 서비스 발견</b> 및 <b>T1082 시스템 정보 발견</b><br/>내부 서비스를 스캔하고 호스트 정보를 수집합니다”] class node_discovery action node_c2[“<b>명령 및 제어</b> – <b>T1102 웹 서비스</b><br/>정책 문서를 유출하기 위해 양방향 웹 트래픽 사용”] class node_c2 action node_defev2[“<b>방어 회피</b> – <b>T1027 난독화된 파일 또는 정보</b><br/>Imjpuexc 유틸리티가 코드를 숨기고 동적 API 해결을 수행합니다”] class node_defev2 action node_exfil[“<b>유출</b> – <b>T1048 대안 프로토콜을 통한 유출</b><br/>동일한 웹 채널을 통해 대안 프로토콜을 사용하여 데이터 전송”] class node_exfil action %% Nodes – Tools tool_msbuild[“<b>도구</b> – <b>이름</b>: msbuild.exe<br/><b>설명</b>: Microsoft Build Engine을 사용하여 XML을 컴파일 및 실행”] class tool_msbuild builtin tool_vetysafe[“<b>도구</b> – <b>이름</b>: vetysafe.exe (VipreAV)<br/><b>설명</b>: DLL 사이드 로딩을 위해 서명된 AV 실행 파일 활용”] class tool_vetysafe builtin tool_scheduledtask[“<b>도구</b> – <b>이름</b>: schtasks.exe<br/><b>설명</b>: Windows 유틸리티를 사용하여 예약된 작업 생성”] class tool_scheduledtask builtin tool_imjpuexc[“<b>도구</b> – <b>이름</b>: Imjpuexc<br/><b>설명</b>: 페이로드를 난독화하고 런타임에 API를 해결하는 유틸리티”] class tool_imjpuexc builtin %% Connections – Attack Flow node_initial_access u002du002d>|이용합니다| node_execution node_execution u002du002d>|사용합니다| tool_msbuild node_execution u002du002d>|생성합니다| node_persistence node_persistence u002du002d>|사용합니다| tool_scheduledtask node_persistence u002du002d>|이어집니다| node_defev1 node_defev1 u002du002d>|사용합니다| tool_vetysafe node_defev1 u002du002d>|활성화합니다| node_credential node_credential u002du002d>|데이터를 제공합니다| node_discovery node_discovery u002du002d>|지원합니다| node_c2 node_c2 u002du002d>|통신합니다| tool_imjpuexc node_defev2 u002du002d>|지원합니다| node_c2 node_c2 u002du002d>|유출합니다| node_exfil
공격 흐름
탐지
APT41 DCSync 공격을 통한 자격 증명 수집 [윈도우 네트워크 연결]
보기
APT41 MSBuild 및 예약된 작업을 통한 지속성 [윈도우 프로세스 생성]
보기
탐지할 IOCs (DestinationIP): APT41 사이버 간첩 캠페인의 미국 정책 기관 대상
보기
탐지할 IOCs (HashSha1): APT41 사이버 간첩 캠페인의 미국 정책 기관 대상
보기
탐지할 IOCs (HashSha256): APT41 사이버 간첩 캠페인의 미국 정책 기관 대상
보기
탐지할 IOCs (HashMd5): APT41 사이버 간첩 캠페인의 미국 정책 기관 대상
보기
시뮬레이션
시뮬레이션 실행
사전 조건: 텔레메트리 및 기준 사전 비행 검사가 통과되어야 합니다.
근거: 이 섹션에서는 탐지 규칙을 트리거하도록 설계된 적의 기술(TTP)의 정확한 실행을 상세히 설명합니다. 명령과 내러티브는 식별된 TTP를 직접 반영해야 하며 탐지 논리에서 예상되는 정확한 텔레메트리를 생성하는 것을 목표로 해야 합니다.
-
공격 내러티브 및 명령:
APT41을 에뮬레이션하는 적은 먼저 악성 C# 백도어를msbuild.exe을 사용하여 애플리케이션 화이트리스트를 우회합니다. 컴파일된 페이로드는schtasks.exe를 사용하여 예약된 작업으로 준비되어 지속성을 달성합니다. 두 이진 파일은 비표준 위치에서 실행되어, 규칙의 이미지-이름 조건과 일치하면서도 현실적인 공격자 동작을 에뮬레이션합니다. -
회귀 테스트 스크립트:
-
# APT41 스타일의 지속성 테스트 - PowerShell # ------------------------------------------------- # 1. 악성 C# 페이로드 준비 $source = @" using System; using System.Diagnostics; public class Backdoor { public static void Main() { Process.Start(new ProcessStartInfo { FileName = "cmd.exe", Arguments = "/c echo Compromised > C:Temppwned.txt", CreateNoWindow = true, UseShellExecute = false }); } } "@ $srcPath = "$env:TEMPbackdoor.cs" $projPath = "$env:TEMPbackdoor.csproj" $dllPath = "$env:TEMPbackdoor.dll" $srcPath | Out-File -Encoding ASCII -Force $projContent = @" <Project Sdk=`"Microsoft.NET.Sdk`"> <PropertyGroup> <TargetFramework>net48</TargetFramework> <OutputType>Library</OutputType> </PropertyGroup> </Project> "@ $projPath | Out-File -Encoding ASCII -Force # 2. 비표준 경로에서 msbuild를 사용하여 악성 DLL을 컴파일합니다 $msbuildPath = "$env:ProgramFilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe" & $msbuildPath $projPath /p:OutDir=$env:TEMP /t:Build /p:Configuration=Release # 3. PowerShell을 사용하여 DLL을 실행하기 위한 예약 작업 생성 $taskName = "SystemUpdater" $taskCmd = "powershell -ExecutionPolicy Bypass -File `"$dllPath`"" $schPath = "$env:SystemRootSystem32schtasks.exe" & $schPath /Create /SC ONLOGON /TN $taskName /TR $taskCmd /RL HIGHEST /F # 4. 작업을 즉시 트리거합니다 & $schPath /Run /TN $taskName -
정리 명령:
# 예약 작업 제거 $schPath = "$env:SystemRootSystem32schtasks.exe" & $schPath /Delete /TN "SystemUpdater" /F # 페이로드 파일 삭제 Remove-Item -Path "$env:TEMPbackdoor.cs","$env:TEMPbackdoor.csproj","$env:TEMPbackdoor.dll" -Force