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
Strumenti/GitHubGitHub/g4lb1t/pstf2
Strumenti di PhishingEvasione IDS/IPSSicurezza WebApprendimento e FormazioneRed TeamingSpoofing dell'Impronta Digitale
GitHubg4lb1t/pstf2

pstf2

Framework per il Fingerprinting di Strumenti di Sicurezza Passivi

Vedi Repository
7495 anni 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

pstf^2

Framework di Fingerprinting Passivo per Strumenti di Sicurezza

Hai mai desiderato un modo semplice, facile e furtivo per bypassare molteplici classi di prodotti di sicurezza? pstf^2 (pronunciato pstf-quadrato) è un'implementazione di un server HTTP in grado di eseguire fingerprinting passivo del browser - e potrebbe essere proprio ciò che stai cercando. Quando gli aggressori tentano di consegnare un payload su internet, devono superare molteplici strumenti in grado di scansionare i collegamenti in arrivo. Filtri email, motori di scansione e persino l'invio a sandbox tramite URL possono essere tutti bypassati una volta che pstf2 li rileva in modo passivo. Una volta rilevati, lo strumento consente di distinguere tra servizi di sicurezza e potenziali vittime e consegnare una risposta malevola o benigna.

Questo strumento è stato rilasciato durante il BlackHat EU 2020: https://www.blackhat.com/eu-20/arsenal/schedule/#pstf2-link-scanners-evasion-made-easy-21763

I dettagli della ricerca sono disponibili in questo post del blog: https://blogs.akamai.com/sitr/2020/12/evading-link-scanning-security-services-with-passive-fingerprinting.html

Come Funziona?

La vera domanda è: come funzionano gli scanner di collegamenti? Ispezionare un link malevolo è un'azione che coinvolge un client web che invia una richiesta HTTP GET. Ogni fornitore utilizza un'implementazione interna diversa - la maggior parte cerca di imitare in qualche modo un'interazione utente reale. pstf^2 è un semplice server HTTP basato su Python che applica tecniche ben note di rilevamento bot per determinare se una richiesta in arrivo proviene da uno strumento di sicurezza automatizzato. L'operatore del server può personalizzare le risposte, ad esempio - se viene rilevato uno scanner, reindirizza a Google, altrimenti invia contenuto malevolo.

Di seguito sono riportate le principali tattiche implementate in pstf^2:

Livello Applicativo

User Agent Obsoleti

Gli strumenti di sicurezza cercano di nascondersi come client legittimi, impersonando browser reali, ma di solito non è così. È comune vedere strumenti non aggiornati correttamente che utilizzano header user-agent falsi per versioni di browser vecchie di dieci anni. pstf^2 consente di impostare una soglia minima per ciò che consideri una versione reale e non obsoleta.

Anomalie HTTP Generali

Esistono molti tipi di implementazioni strane che lo strumento è in grado di rilevare. Un paio di esempi presentati nel talk BlackHat sono stati:

  • Lasciare un header via: che rivelava la natura dell'host virtuale utilizzato per la sandbox.
  • Header referer: che suggeriva che il link fosse stato raggiunto da Google, ad es. referer: google.com/search?q=specific.site.com. negli scenari testati non aveva senso poiché questo prodotto scansiona le email e quando qualcuno clicca su un'email (non da un'interfaccia web) questo header è assente.

Livello Link, Rete e Trasporto

Correlazione

Diversi parametri TCP possono implicare una versione specifica del sistema operativo o una specifica variante. Alcuni client falsificano l'header user-agent ma sono in esecuzione su un sistema operativo diverso da quello dichiarato.

Valori MTU

I client ospitati su reti di specifici provider cloud hanno MTU diverso dal valore standard di 1500 byte.

ASN

In alcuni casi la richiesta proviene da un ASN associato esplicitamente a uno specifico fornitore di sicurezza. In altri casi l'origine della richiesta è un provider di hosting cloud, e sebbene non incrimini un fornitore specifico, è improbabile che sia un utente tipico.

Record DNS PTR

In rari casi l'indirizzo IP del client ha un record PTR, che lo associa a un URL relativo a un fornitore di sicurezza.

Configurare pstf^2

Usando Docker

Supponendo che Docker sia già installato, è semplice come:

root@kitploit:~
docker-compose up 

Distribuzione Manuale

Se preferisci evitare Docker, segui questi passaggi.

Soddisfare i Requisiti Python

Esegui:

root@kitploit:~
pip install requirements.txt

Questo installerà tutti i moduli Python esterni necessari.

Ottenere p0f

Prima di distribuire pstf^2, scarica e installa p0f. Attualmente disponibile a:

https://lcamtuf.coredump.cx/p0f3/

Ora configura correttamente lib/servers/server_config.yml per puntare al percorso corretto, ad esempio:

root@kitploit:~
p0f_config:
  # cambia almeno il tuo nome utente, ricordati di cambiare in entrambi i percorsi
  p0f_bin_path: '/Users/$tuo_nome_utente/$altre_cartelle/web_fp/p0f-3.09b/p0f'
  p0f_fp_path: '/Users/$tuo_nome_utente/$altre_cartelle/web_fp/p0f-3.09b/p0f.fp'
  iface: 'lo0'
  p0f_named_socket: '/tmp/p0f_socket'

Verifica anche che iface sia la stessa interfaccia su cui gira il tuo server HTTP Python. Nell'esempio sopra è l'interfaccia di loopback.

Eseguire pstf^2

Una volta soddisfatti i requisiti, esegui:

root@kitploit:~
python driver.py

Puoi utilizzare uno qualsiasi dei seguenti flag:

root@kitploit:~
  --p0f_bin_path P0F_BIN_PATH
  --p0f_fp_path P0F_FP_PATH
  --p0f_iface P0F_IFACE

Tutti vengono utilizzati per regolare i parametri relativi a p0f: il binario stesso, il file di fingerprinting e l'interfaccia che usiamo, che per impostazione predefinita è eth0.

Dovresti vedere un output simile al seguente:

root@kitploit:~
2020-04-15 17:37:06,896 - pstf2_logger - INFO - Avvio di p0f...
2020-04-15 17:37:06,896 - pstf2_logger - INFO - Esecuzione comando:
	/Users/gbitensk/work/web_fp/p0f-3.09b/p0f -i lo0 -s /tmp/p0f_socket -f /Users/gbitensk/work/web_fp/p0f-3.09b/p0f.fp
2020-04-15 17:37:06,898 - pstf2_logger - INFO - p0f avviato!
2020-04-15 17:37:06,898 - pstf2_logger - INFO - Avvio del server HTTP...
2020-04-15 17:37:06,898 - pstf2_logger - INFO - Server HTTP avviato!
2020-04-15 17:37:06,899 - pstf2_logger - INFO - Se desideri terminare il server premi CTRL+C

Termina il server premendo Ctrl+C, che interromperà sia l'istanza HTTP che quella di p0f. Dovresti vedere qualcosa di simile a:

root@kitploit:~
2020-04-15 17:37:48,263 - pstf2_logger - INFO - Server HTTP fermato!
2020-04-15 17:37:48,263 - pstf2_logger - INFO - Uccisione di p0f...
2020-04-15 17:37:48,263 - pstf2_logger - INFO - p0f ucciso!
2020-04-15 17:37:48,263 - pstf2_logger - INFO - Uscita...

Nota che la configurazione di un record DNS che punti un URL al tuo server esula dallo scopo di pstf^2 e avviene a tua responsabilità.

Gestione del Payload

pstf^2 ha payload predefiniti definiti in server_config.yml e personalizzabili facilmente.

Risposta Benigna

Ci sono due modalità, commutabili modificando la variabile rickroll_mode su YES o NO. Se abilitata, lo strumento di sicurezza verrà reindirizzato a una pagina YouTube con il famoso video del Rickroll, altrimenti verrà servita una stringa definita nello stesso file YAML.

Risposta Malevola

Per impostazione predefinita, la risposta "malevola" è impostata sulla stringa di test standard EICAR.

Perché pstf^2 è Pubblico?

Ho optato per la pubblicazione pubblica di questo strumento come progetto open source perché:

  • I link malevoli vengono utilizzati dai malintenzionati quotidianamente, su larga scala.
  • Gli strumenti di sicurezza non sono abbastanza efficaci, alcuni dei metodi illustrati da pstf^2 vengono abusati nel mondo reale.

Durante la costruzione dello strumento è stato testato contro 15 prodotti diversi, tutti falliti. Sebbene abbia divulgato responsabilmente i dettagli dell'attacco, abbiamo ancora molta strada da fare e la mia aspettativa è che rendendo pubblico lo strumento aumenteremo la consapevolezza di queste tattiche che sono già abusate dai "malintenzionati".

Ringraziamenti Speciali

@Den1al per aver fornito consigli durante la costruzione di questo strumento in particolare, e per aver scritto Python correttamente in generale, oltre ad aver assistito nella creazione come immagine Docker.

Scarica lo strumento