Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
EvilFontTool — Uno strumento di inganno basato sui font per red teaming, ricerca sulla sicurezza e quant'altro. | Kitploit
Strumenti/GitHubGitHub/doctoreww/evilfonttool
Ingegneria SocialeApprendimento e FormazioneRed TeamingSicurezza dell'IAAttacco AvversarioLab e Pratica
GitHubdoctoreww/evilfonttool

EvilFontTool

Uno strumento di inganno basato sui font per red teaming, ricerca sulla sicurezza e quant'altro.

Vedi Repository
2572071 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

EvilFontTool

Uno strumento di inganno basato sui font per red teaming, ricerca sulla sicurezza e qualsiasi altra cosa.

EvilFontTool nasconde testo leggibile dalla macchina all'interno di un documento che mostra testo completamente diverso a un lettore umano. Lo fa usando Evil Fonts — font che ingannano deliberatamente l'osservatore visualizzando una lettera diversa da quella compresa da un computer. Rimappando i glifi dei font, i caratteri visibili del documento mostrano agli umani una cosa, mentre terminali, sistemi AI e copia/incolla degli appunti ne vedono un'altra.

Demo/Laboratori Evil Font !!NON PERDERTELO!!

  • Visualizza le Demo → Qui

  • Visualizza i Laboratori Evil Font → Qui

Le demo in formato docx NON funzionano su mobile a causa del modo in cui i telefoni renderizzano i font.


Indice

  • Installazione
  • Suggerimenti per l'uso
  • I problemi dei PDF spiegati
  • Uso
  • Uso etico e Disclaimer
  • Come proteggersi dagli Evil Fonts
  • Contribuire
  • Aiuto, qualcosa non funziona!

Installazione

root@kitploit:~
pip install evilfonttool

Dal sorgente

root@kitploit:~
git clone https://github.com/DoctorEww/EvilFontTool.git
cd EvilFontTool
pip install .

Per lo sviluppo (installazione modificabile):

root@kitploit:~
pip install -e .

Dipendenze

Installate automaticamente tramite pip:

  • fonttools — parsing e manipolazione dei font
  • brotli — compressione WOFF2 (usata da fonttools)
  • python-docx — generazione di DOCX
  • reportlab — generazione di PDF
  • pdf2image — conversione da PDF a immagine
  • pdfminer.six — estrazione di testo/layout da PDF
  • Pillow — gestione delle immagini per il pipeline PDF

Requisiti di sistema (non installati da pip — devono essere nel tuo PATH):

  • LibreOffice — richiesto per il comando pdf, che chiama soffice --headless per convertire DOCX in PDF. Il comando pdf è sperimentale su Windows e potrebbe non funzionare come previsto.
    • Ubuntu/Debian: sudo apt install libreoffice
    • macOS: brew install --cask libreoffice
    • Windows: scarica l'installer
  • poppler-utils — richiesto da pdf2image per renderizzare le pagine PDF per il comando pdf
    • Ubuntu/Debian: sudo apt install poppler-utils
    • macOS: brew install poppler
    • Windows: poppler per Windows (aggiungi la cartella Library\bin al path) Oppure vedi sotto.

Script di supporto per l'installazione di Poppler su Windows

Installa poppler in ~\Documents\poppler e aggiungilo al path.

root@kitploit:~
irm (irm https://api.github.com/repos/oschwartz10612/poppler-windows/releases/latest).assets[0].browser_download_url -OutFile ~\Documents\poppler.zip
Expand-Archive ~\Documents\poppler.zip ~\Documents\poppler -Force
$bin = (gci ~\Documents\poppler -Recurse -Filter pdftotext.exe)[0].DirectoryName
[Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path','User') + ";$bin", 'User'); $env:Path += ";$bin"

Dove posso trovare font da usare?

  • Ubuntu: /usr/share/fonts
  • Windows: C:\Windows\Fonts
  • https://fonts.google.com/
  • Internet??

Suggerimenti per l'uso

  • Genera font e pdf su Linux. Il comando pdf è sperimentale su Windows e potrebbe non funzionare come previsto.
  • Il comando pdf non funziona su documenti Word complessi, es. colonne. Sentiti libero di aprire un issue se c'è una funzionalità che vuoi davvero che supporti.
  • Per incorporare i font, usa doc --ttf-dir <ttffonts_dir> (EvilFontTool li incorpora da solo) oppure Word su Windows. L'opzione "embed fonts" di LibreOffice non funziona con gli Evil Fonts.

I problemi dei PDF spiegati

Il comando pdf non si basa affatto sugli Evil Fonts. Renderizza il DOCX come immagine (quindi la pagina visibile è un'immagine, non testo), poi disegna sopra il vero testo leggibile dalla macchina come testo completamente invisibile e selezionabile. Copia e incolla e l'estrazione del testo leggono quel livello invisibile. Ci sono alcuni altri strumenti che possono farlo, ma niente è semplice come il comando pdf quando hai già un DOCX che ti piace.

Se vuoi un vero PDF con Evil Font, devi creare il documento Word senza lettere invisibili (le lettere invisibili non sopravvivono alla conversione in PDF). Da lì, esporta direttamente da Word oppure usa "Stampa su PDF". Questo mantiene tutto su un singolo livello, dando al documento IOC diversi rispetto al noto trucco a due livelli usato dal comando pdf. Il comando pdf esiste unicamente perché quel processo manuale è noioso, e a volte vuoi solo una rapida copia PDF di un documento Word.

TLDR;

  • Opzione 1: (quella facile) Usa il comando pdf → PDF a due livelli, stesso meccanismo di altri strumenti (più conosciuto/rilevabile).
  • Opzione 2: (quella con il vero Evil Font) Crea un documento Word senza font invisibili, poi convertilo tramite Stampa su PDF → più fastidioso, ma produce IOC diversi rispetto all'Opzione 1.

Se qualcuno scopre come realizzare l'Opzione 2 con lettere invisibili, ti devo un drink. Apri un issue e ti accrediterò nel README.

Uso

Tutte le funzionalità sono esposte tramite una singola CLI con quattro sottocomandi.

create — Genera la famiglia di font per l'uso in file HTML o DOC

root@kitploit:~
evilfonttool create <reference_font> <output_dir> <font_name>
ArgomentoDescrizione
reference_fontPercorso di un font sorgente .ttf o .woff
output_dirDirectory in cui scrivere font e CSS

Esempio:

root@kitploit:~
evilfonttool create fonts/Arial.ttf output/ 'Arial'

Output:

  • output/fonts/*.woff — web font, uno per carattere
  • output/ttffonts/*.ttf — font TTF per l'incorporamento nei documenti
  • output/fonts.css — dichiarazioni @font-face per l'uso sul web

Formato dei file di input

  • File .txt semplici.
  • Ogni riga in computer_file deve essere uguale o più lunga della riga corrispondente in human_file
  • Le righe vengono abbinate posizionalmente (riga 1 con riga 1, ecc.)

web — Genera un file HTML con Evil Font

root@kitploit:~
evilfonttool web <human_file> <computer_file> <output_file>

Richiede che fonts.css e i font generati siano nella directory di output così il file HTML può usarli (o modifica il percorso nel file HTML).

ArgomentoDescrizione
input_human_fileTesto visibile ai lettori umani. Può avere più righe
input_computer_fileTesto visibile alle macchine / AI. Può avere più righe
output_filePercorso per il file HTML generato

Esempio:

root@kitploit:~
evilfonttool web human.txt computer.txt output/index.html

doc — Genera un file DOCX con Evil Font

root@kitploit:~
evilfonttool doc <human_file> <computer_file> <output_file> <font_name> [--author AUTHOR] [--ttf-dir DIR]

Il font_name deve corrispondere al nome usato nel passaggio create. I font TTF devono essere installati sul sistema, incorporati tramite --ttf-dir, oppure incorporati manualmente in Word (file -> opzioni -> salvataggio -> incorpora i font) affinché l'inganno venga renderizzato correttamente.

L'opzione di salvataggio "incorpora font" di Word funziona bene, ma quella di LibreOffice no — non sono mai riuscito a fargli incorporare correttamente gli Evil Fonts. Usa invece --ttf-dir: EvilFontTool incorpora i font da solo, direttamente nel .docx, senza dipendere affatto dall'incorporamento di Word o LibreOffice.

Esempio:

root@kitploit:~
evilfonttool doc human.txt computer.txt output/secret.docx MyFont --author "Finance Team" --ttf-dir output/ttffonts

pdf — Converte un DOCX con Evil Font in un PDF sicuro per copia e incolla

root@kitploit:~
evilfonttool pdf <input_docx> <output_file> [--ttf-dir DIR] [--dpi DPI] [--soffice PATH] [--ink-font FONT] [--title TITLE] [--author AUTHOR] [--subject SUBJECT] [--producer PRODUCER]

Renderizza il DOCX con LibreOffice così il PDF appare identico al documento, poi sovrappone il payload nascosto come livello di copia invisibile, così sopravvive al copia e incolla in ogni visualizzatore.

Windows: Questo comando è sperimentale su Windows e potrebbe non funzionare come previsto.

Richiede LibreOffice (soffice) e poppler-utils — vedi Dipendenze.

Esempio:

root@kitploit:~
evilfonttool pdf output/secret.docx output/secret.pdf --ttf-dir output/fonts/ttffonts --title secret

Uso etico e Disclaimer

Sei responsabile dell'uso che fai di questo strumento. Implementare questa tecnica contro sistemi o individui senza un'autorizzazione esplicita è antietico e potrebbe essere illegale. Gli autori forniscono questo strumento per aiutare i difensori a capire e testare questa classe di vulnerabilità — non per abilitare attacchi.


Come proteggersi dagli Evil Fonts

Questo strumento è stato creato per aiutare i red teamer a validare i rischi degli attacchi basati sui font contro le loro organizzazioni. È stato creato anche per aiutare i blue teamer, i ricercatori e i proprietari di sistemi a comprendere le lacune di sicurezza lasciate dalla fiducia intrinseca nei font forniti dall'utente. Di seguito alcune raccomandazioni pratiche per individui e industria per affrontare o mitigare il problema che i font pongono nei sistemi operativi e nelle applicazioni moderne.

Cosa posso fare contro gli Evil Fonts?

  • Non fidarti di alcun contenuto fornito da fonti non attendibili. Controlla i mittenti delle email e controlla i nomi di dominio.
  • Verifica i comandi dopo averli incollati, prima di eseguirli.
  • Non eseguire mai comandi che non capisci.
  • Non eseguire comandi che convogliano direttamente l'output di curl in bash / Invoke-Expression. È facile per un attaccante cambiare il sito da cui stai scaricando.
  • Non aprire mai allegati email da fonti non attendibili.
  • Ricorda che gli Evil Fonts per essere efficaci si basano sull'ingannare un osservatore. Un utente deve compiere un'azione perché gli Evil Fonts diventino un rischio. Senza compiere un'azione rischiosa, gli Evil Fonts non possono colpirti.
  • Non caricare documenti creati da altri su strumenti AI.

Cosa può fare l'industria per proteggersi dagli Evil Fonts?

  • Non consentire la renderizzazione di font personalizzati nella Visualizzazione protetta (Microsoft Office Suite).
  • Non consentire agli utenti di introdurre font personalizzati, o limita il numero di font personalizzati.
  • Tratta un gran numero di font personalizzati in una pagina web o in un documento Word come un segnale di malware.
  • Avvisa gli utenti che usano Win + R con un popup spaventoso che dice quanto sia rischioso la prima volta che lo fanno (non so perché non esista già...).
  • Quando processi documenti con l'AI, renderizza il documento come immagine ed estrai il testo con l'OCR. Questo ha il vantaggio aggiuntivo di proteggere dalle immagini contenenti testo.
  • Non ignorare i font forniti dall'utente nei modelli di minaccia.
  • Tratta i font forniti dall'utente per quello che sono: input utente non attendibili.

Contribuire

I contributi sono benvenuti. Se hai trovato una nuova superficie d'attacco, un miglioramento al pipeline di generazione dei font, o una tecnica di difesa che vale la pena documentare, apri pure un issue o una PR.

  1. Fai il fork del repo
  2. Crea un ramo feature (git checkout -b feature/my-feature)
  3. Committa le tue modifiche
  4. Apri una pull request con una descrizione chiara di cosa è cambiato e perché

Aiuto, qualcosa non funziona!

Questo strumento è davvero difficile da testare a causa della complessità dei documenti Word, dei pdf e dei font. Se trovi un problema riproducibile, apri un GitHub issue e ci darò un'occhiata appena possibile.

Includi nel issue quanto segue:

  • Versione di OS + LibreOffice, e dove stai visualizzando il file (Word / LibreOffice / altro).
  • Se i font sono installati, incorporati, o nessuno dei due.
  • Il comando esatto che hai eseguito e qualsiasi output del terminale (soprattutto gli avvisi mismatch).
  • Un .docx / input minimale che lo riproduce, se puoi condividerlo.
  • Qualsiasi altra cosa che potrebbe causare i problemi.
Scarica lo strumento
font_namePrefisso del nome interno per la famiglia di font generata
ArgomentoDescrizione
input_human_fileTesto visibile ai lettori umani. Può avere più righe
input_computer_fileTesto visibile alle macchine / AI. Può avere più righe
output_filePercorso per il file DOCX generato
font_nameNome della famiglia di font (deve corrispondere al passaggio create)
--authorMetadati autore del documento DOCX (default: nessuno)
--ttf-dirDirectory dei TTF degli Evil Fonts (es. <output_dir>/ttffonts). Se specificata, i font effettivamente usati vengono incorporati direttamente nel .docx, così l'inganno viene renderizzato correttamente senza installarli a livello di sistema. Incorpora solo le lettere presenti nel file human.
ArgomentoDescrizione
input_docxPercorso del DOCX con Evil Font (dal passaggio doc)
output_filePercorso per il file PDF generato
--ttf-dirDirectory dei TTF degli Evil Fonts (es. <output_dir>/ttffonts), esposta a LibreOffice affinché il travestimento venga renderizzato. Ometti solo se i font sono installati a livello di sistema o incorporati nel file
--dpiQualità di rasterizzazione del livello visibile (default: 200)
--sofficePercorso del binario di LibreOffice (default: soffice)
--ink-fontTTF per il livello di copia invisibile (default: un sans di sistema)
--titleMetadati del titolo del documento PDF (default: Untitled)
--authorMetadati dell'autore del documento PDF (default: nessuno)
--subjectMetadati dell'oggetto del documento PDF (default: nessuno)
--producerMetadati del produttore del documento PDF (default: nessuno)