AI 테마의 위협 캠페인을 통해 배포되는 AsyncRAT
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
위협 행위자들이 AI를 테마로 한 유인물을 이용하여 다중 단계의 악성코드 감염 체인을 배포하고 있습니다. 이 공격은 단계적 스크립트, AutoHotkey 기반 로더, 프로세스 할로잉을 결합하여 .NET 원격 액세스 트로이 목마와 AsyncRAT을 배포합니다. 이 캠페인의 주목할만한 점은 악성코드 전체에 삽입된 간체 중국어 변수명과 코드 주석으로 반영된 AI 보조 개발의 명백한 사용입니다.
조사
FortiGuard Labs는 악성 ZIP 아카이브에 포함된 LNK 파일로 시작된 복잡한 침입 시퀀스를 조사했습니다. 이들의 분석 결과 PDF 기반 컨테이너에서 페이로드 추출 단계를 발견했고, AutoHotkey 주도 반사 인젝션을 통해 모듈식 .NET RAT와 AsyncRAT을 최종적으로 배치하는 과정을 확인했습니다. 또한 연구원들은 악성코드의 행동을 숨기기 위해 중국어 언어적 의미 추상화 및 사용자 정의 복호화 논리를 포함한 독특한 난독화 방법도 문서화했습니다.
완화
사용자는 신뢰할 수 없거나 예상치 못한 출처에서 받은 LNK 파일, 압축된 아카이브 및 문서에 대해 특히 주의해야 합니다. 조직은 시작 항목, 예약된 작업 및 레지스트리 위치를 허가되지 않은 변경 사항이 있는지 검토해야 합니다. 또한, 의심스러운 PowerShell 활동과 이례적인 아웃바운드 네트워크 연결을 모니터링하는 것은 초기 단계에서 보안을 강화하는 데 필수적입니다.
대응
이 활동이 감지되면, 대응자는 %LOCALAPPDATA% and %APPDATA% 디렉토리를 포렌식 검토하여 드랍된 스크립트와 관련 아티팩트를 식별해야 합니다. 작업 스케줄러를 검사하여 CheckRealtekAudioVersion or ResetRealtekAudioSettings64와 같은 의심스러운 작업을 확인해야 합니다. 영향을 받은 시스템은 발견된 악성 도메인 및 IP 주소와의 추가 통신을 차단하기 위해 즉시 격리되어야 합니다.
"graph TB %% 클래스 정의 섹션 classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef technique fill:#ffff99 %% 노드 정의 %% 초기 단계 action_user_exec["<b>행동</b> – <b>T1204.002 사용자 실행: 악성 파일</b><br/>사용자가 AI 가이드로 위장된 악성 .lnk 바로가기를 포함하는 압축 아카이브를 엽니다."] class action_user_exec action action_obfuscation["<b>행동</b> – <b>T1027 난독화된 파일 또는 정보</b><br/>.lnk 파일은 cmd.exe를 사용하여 <br/>숨겨진 PDF 파일 3th.pdf에서 데이터를 추출하는 난독화된 명령 시퀀스를 실행합니다."] class action_obfuscation technique %% 단계별 실행 action_ps_decryption["<b>행동</b> – <b>T1027.013 난독화된 파일 또는 정보: 암호화/인코딩된 파일</b><br/>PowerShell 스크립트가 AES-CBC 복호화와 Base64 디코딩을 수행하여 <br/>Cache_{GUID}.ps1로 저장된 페이로드를 드러냅니다."] class action_ps_decryption technique %% 지속성과 회피 action_persistence["<b>행동</b> – <b>T1547 지속성</b><br/>스크립트는 생존을 보장하기 위해 <br/>CheckRealtekAudioVersion이라는 예약된 작업을 만듭니다."] class action_persistence technique action_exclusion["<b>행동</b> – <b>T1679 선택적 제외</b><br/>악성코드는 Add-MpPreference를 사용하여<br/>C 드라이브와 powershell.exe를 Microsoft Defender 제외 목록에 추가합니다."] class action_exclusion technique %% 프록시 및 스크립팅 action_cmd_shell["<b>행동</b> – <b>T1059.003 명령 및 스크립팅 인터프리터: Windows Command Shell</b><br/>실행을 위해 Windows Command Shell을 활용합니다."] class action_cmd_shell technique action_syncappv["<b>행동</b> – <b>T1216.002 시스템 스크립트 프록시 실행: SyncAppvPublishingServer</b><br/>VBS 파일 ResetRealtekAudioSettings64.vbs를 사용하여 배치 파일을 실행하기 위한 매개체로 작동합니다."] class action_syncappv technique %% AutoHotkey 단계 tool_autohotkey["<b/>도구: AutoHotkey.exe<br/>복잡한 논리를 실행하기 위해 악성<br/>.ahk 스크립트를 실행하는 무해한 바이너리입니다."] class tool_autohotkey tool action_ahk_interpreter["<b/>행동 – <b>T1059.010 명령 및 스크립팅 인터프리터: AutoHotKey & AutoIT</b><br/>.ahk 스크립트는 프로세스 인젝션 및 오케스트레이션을 관리합니다."] class action_ahk_interpreter technique %% 인젝션 및 페이로드 action_hollowing["<b/>행동 – <b>T1055.012 프로세스 인젝션: 프로세스 할로잉</b><br/>텍스트 데이터에서 PE 페이로드를 재구성하고 정당한 .NET 프로세스에 주입합니다."] class action_hollowing technique process_dotnet["<b/>프로세스: .NET 프로세스<br/>AddInProcess32.exe와 같은 대상의 정당한 프로세스로 인젝션합니다."] class process_dotnet process malware_asyncrat["<b/>악성코드: AsyncRAT<br/>모듈식 .NET 원격 액세스 트로이 목마로 최종 배포되는 페이로드입니다."] class malware_asyncrat malware action_exfiltration["<b/>행동 – <b>T1048 대체 프로토콜을 통한 정보 유출</b><br/>C2 도메인인 shampobiskworld.nl을 통해 시스템 정보를 유출하고 감시를 수행합니다."] class action_exfiltration technique %% 연결 %% 초기 체인 action_user_exec –>|leads_to| action_obfuscation action_obfuscation –>|triggers| action_ps_decryption %% 지속성과 회피 체인 action_ps_decryption –>|establishes| action_persistence action_ps_decryption –>|performs| action_exclusion %% 스크립팅 및 프록시 체인 action_ps_decryption –>|leverages| action_cmd_shell action_cmd_shell –>|uses| action_syncappv %% AutoHotkey 체인 action_syncappv –>|executes| tool_autohotkey tool_autohotkey –>|uses| action_ahk_interpreter %% 인젝션 체인 action_ahk_interpreter –>|performs| action_hollowing action_hollowing –>|injects_into| process_dotnet %% 최종 페이로드 체인 process_dotnet –>|hosts| malware_asyncrat malware_asyncrat –>|performs| action_exfiltration "
공격 흐름
탐지
숨겨진 PowerShell 명령줄을 통한 실행 가능성 (cmdline을 통해)
보기
AutoHotkey 스크립트 실행 시도의 가능성 (cmdline을 통해)
보기
LOLBAS WScript / CScript (process_creation을 통해)
보기
의심스러운 PowerShell 문자열 (powershell을 통해)
보기
PowerShell에서 의심스러운 .NET 메서드 호출 (powershell을 통해)
보기
PowerShell 난독화 지표의 가능성 (powershell을 통해)
보기
IOC (HashSha256)를 탐지: AI 과대 광고를 활용하여 AsyncRAT을 전달하는 위협 행위자
보기
IOC (SourceIP)를 탐지: AI 과대 광고를 활용하여 AsyncRAT을 전달하는 위협 행위자
보기
IOC (DestinationIP)를 탐지: AI 과대 광고를 활용하여 AsyncRAT을 전달하는 위협 행위자
보기
AsyncRAT 명령 및 제어를 RijndaelManaged 암호화를 사용하여 [Windows Sysmon]
보기
AsyncRAT C2 도메인 통신 탐지 [Windows 네트워크 연결]
보기
숨겨진 윈도우 및 보안 우회를 통해 의심스러운 PowerShell 실행 [Windows Powershell]
보기
수상한 프로세스 생성 경로를 통해 프로세스 할로잉 탐지 [Windows 프로세스 생성]
보기
시뮬레이션 실행
전제 조건: Telemetry & Baseline Pre-flight Check가 성공적으로 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 유발하기 위해 설계된 적 대자의 기술적 절차(TTP)의 정확한 실행을 설명합니다. 명령 및 설명은 식별된 TTP를 직접 반영하고 탐지 로직에 예상되는 정확한 텔레메트리를 생성하는 것을 목표로 해야 합니다. 추상적이거나 관련이 없는 예시는 잘못된 진단으로 이어질 것입니다.
-
공격 내러티브 및 명령: 적 대자는 초기 접근을 얻었으며 AsyncRAT을 사용하여 지속적인 명령 및 제어 (C2) 채널을 설정할 준비를 하고 있습니다. 네트워크 기반 서명 탐지를 회피하기 위해 공격자는
RijndaelManaged.NET 클래스를 사용하여 트래픽을 암호화합니다. 공격자는 암호화기를 인스턴스화하여 C2 하트비트를 암호화된 페이로드로 래핑하기 위한 PowerShell 일회성 스크립트를 실행합니다. 이 명령은 특정 문자열 기반 탐지 규칙을 유발하도록 설계되었습니다. -
회귀 테스트 스크립트:
# PowerShell에서 AsyncRAT 스타일의 암호화 인스턴스화를 시뮬레이션 # 이 명령은 명령줄에서 'RijndaelManaged.CreateEncryptor' 문자열과 일치하도록 설계되었습니다. $code = "[System.Security.Cryptography.RijndaelManaged]::CreateEncryptor()" powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "$encryptor = [System.Security.Cryptography.RijndaelManaged]::CreateEncryptor(); Write-Output 'Encryption engine initialized.'" -
정리 명령:
# 시뮬레이션 스크립트에 의해 영구적인 변경 사항은 없으나, # PowerShell 기록을 지워 명령의 흔적을 제거합니다. Clear-History Remove-Item (Get-PSReadlineOption).HistorySavePath -ErrorAction SilentlyContinue