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
BDFProxy — Patch dei binari tramite MITM: BackdoorFactory + mitmProxy. | Kitploit
Strumenti/GitHubGitHub/secretsquirrel/bdfproxy
Escalation di PrivilegiFramework di ExploitProxy Web e IntercettazioneReverse EngineeringPost-ExploitAnalisi MalwarePenetration TestingCommand and ControlRed TeamingSviluppo PayloadBinary Exploitation
1.0k1995 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
GitHub
secretsquirrel/bdfproxy

BDFProxy

Patch dei binari tramite MITM: BackdoorFactory + mitmProxy.

Vedi Repository

Nuova versione di BDFProxy disponibile! Solo per sponsor! Accedi qui: https://github.com/sponsors/secretsquirrel

BLOG: http://secureallthethings.blogspot.com/2017/08/closing-door-end-of-backdoor-factory.html

The Backdoor Factory Proxy (BDFProxy) v0.3.8

Solo per professionisti della sicurezza e ricercatori.

Join the chat at https://gitter.im/secretsquirrel/BDFProxy Black Hat Arsenal

###ORA FUNZIONA SOLO CON v.0.17 >= MITMPROXY >= v.0.11

Docker:

root@kitploit:~
 # sudo echo 1 > /proc/sys/net/ipv4/ip_forward  # linux
 # sudo sysctl -w net.inet.ip.forwarding=1 # macOS
 docker pull secretsquirrel/bdfproxy
 docker run -it -p 8080:8080 secretsquirrel/bdfproxy bash
 # ./bdf_proxy.py

Per installare su Kali:

root@kitploit:~
apt-get update
apt-get install bdfproxy

Black Hat USA 2015:

root@kitploit:~
Video: https://www.youtube.com/watch?v=OuyLzkG16Uk

Paper: https://www.blackhat.com/docs/us-15/materials/us-15-Pitts-Repurposing-OnionDuke-A-Single-Case-Study-Around-Reusing-Nation-State-Malware-wp.pdf

DerbyCon 2014:

root@kitploit:~
Video: http://www.youtube.com/watch?v=LjUN9MACaTs

La parte su BDFProxy inizia verso il minuto 18.

Contatta lo sviluppatore su:

root@kitploit:~
IRC:
irc.freenode.net #BDFactory 

Twitter:
@midnite_runr

Questo script si basa su due librerie: The Backdoor Factory (BDF) e mitmProxy.

###Concetto: Applica patch ai binari durante il download, alla maniera di un MITM.

###Perché: Perché molti siti web di strumenti di sicurezza servono ancora i binari tramite canali non SSL/TLS.

Ecco un breve elenco:

root@kitploit:~
	sysinternals.com
	Microsoft - MS Security Essentials
	Almost all anti-virus companies
	Malwarebytes
	Sourceforge
	gpg4win
	Wireshark
	etc...

Sì, alcune di quelle applicazioni sono protette da meccanismi di auto-controllo. Ho lavorato a un modo per bypassare automaticamente i controlli NSIS come prova di concetto. Tuttavia, questo non elimina il problema iniziale del bit flipping durante il download e dell'esecuzione di un payload dannoso. Inoltre, BDF di default elimina tramite patch il puntatore alla tabella dei certificati PE di Windows durante il download, rimuovendo così la firma dal binario.


##Dipendenze:

root@kitploit:~
Pefile - most recent
ConfigObj  
mitmProxy - Kali Build .10
BDF - most current
Capstone (part of BDF)

##Ambiente Supportato: Testato su tutte le build di Kali Linux: che si tratti di un potente laptop fisico, un Raspberry Pi o una VM, ciascuno può eseguire BDFProxy.

##Installazione: BDF si trova in bdf/

Esegui il seguente comando per scaricare la versione più recente:

root@kitploit:~
./install.sh

OPPURE:

root@kitploit:~
git clone https://github.com/secretsquirrel/the-backdoor-factory bdf/

Se ricevi un errore di certificato, esegui quanto segue:

root@kitploit:~
mitmproxy

Ed esci con [Ctr+C] dopo che mitmProxy si è caricato.

##Utilizzo: Aggiorna tutto prima di ogni utilizzo:

root@kitploit:~
./update.sh

LEGGI LA CONFIGURAZIONE!!!

root@kitploit:~
	-->bdfproxy.cfg

Dovrai configurare le impostazioni di host e porta C2 prima di eseguire BDFProxy. NON sovrapporre le impostazioni della PORTA C2 tra payload diversi. Invierai shell Linux a macchine Windows e le cose andranno in segfault ovunque. Dopo l'esecuzione, verrà creato uno script di risorse Metasploit per aiutarti a configurare le comunicazioni C2. Controllalo attentamente. Tra l'altro, tutto ciò che è al di fuori della sezione [Overall] viene aggiornato al volo, quindi non devi uccidere il proxy per cambiare le impostazioni in base al tuo ambiente.

Ma aspetta! Dovrai configurare la tua macchina mitm per fare mitm! Se stai usando un wifiPineapple, ho modificato uno script pubblicato da hack5 per aiutarti con la configurazione. Esegui ./wpBDF.sh e inserisci le configurazioni corrette per il tuo ambiente. Questo script configura iptables per instradare attraverso il proxy solo il traffico http (non-ssl). Tutto il resto del traffico viene inoltrato normalmente.

Poi:

root@kitploit:~
./bdf_proxy.py

Ecco della simpatica ASCII art per le possibili configurazioni fisiche del proxy:

Uso in LAN:

root@kitploit:~
	<Internet>----<mitmMachine>----<userLan>

Uso in Wi-Fi:

root@kitploit:~
	<Internet>----<mitmMachine>----<wifiPineapple>))

##Test:

root@kitploit:~
Supponiamo che tu voglia usare il tuo browser con Firefox e FoxyProxy per testare la tua configurazione.

	Aggiorna la tua configurazione come segue:
	transparentProxy = None

	Configura FoxyProxy per usare BDFProxy come proxy.
	La porta predefinita nella configurazione è 8080.

##Logging: Ce l'abbiamo. La finestra del proxy si riempirà rapidamente con enormi quantità di cat links a seconda del client che stai testando. Usa tail -f proxy.log per vedere cosa viene patchato e bloccato dalle impostazioni della tua blacklist. Tuttavia, tieni d'occhio la finestra principale del proxy se hai scelto di patchare i binari manualmente: le cose vanno veloci e dietro le quinte c'è multi-threading del traffico, ma le richieste e risposte iniziali vengono bloccate per il tuo piacere di visualizzazione.

##Scenari di Attacco (tutti con il permesso dei bersagli): -Evil Wifi AP -Arp Redirection -Physical plant in a wiring closet -Logical plant at your favorite ISP

##Segnalazione di Bug

I bug capitano, ma se non capisco il tuo problema, non posso aiutarti.

Invia i problemi qui: https://github.com/secretsquirrel/BDFProxy/issues

Includi le seguenti informazioni dall'output di questi comandi (usa pastebin per i comandi più lunghi):

root@kitploit:~
# bdfproxy only supports v11 -> v17
$ mitmproxy --version

$ uname -a

# Use pastebin perhaps
$ cat bdfproxy.cfg 
$ ./bdf_proxy.py

###Registro delle modifiche:

####07/04/2016

Supporto per BDF Preprocessor e mitmProxy v17

####12/20/2015

Aggiunte opzioni di configurazione in bdfproxy.cfg per supportare la firma del codice PE da BDF => CODE_SIGN Vedi il README di BDF per i dettagli

####11/13/2015

Rimosse le dipendenze da python-magic perché esistono due librerie con lo stesso nome. Il che crea confusione.

####10/19/2015

Aggiunto supporto per BDF Import Directory Patching in una code cave invece di una nuova sezione. Imposta IDA_IN_CAVE su True nel file bdfproxy.cfg per questa funzione. SPERIMENTALE...

####8/12/2015

Aggiunto supporto per il metodo PE replace: sostituisce il binario scaricato con uno fornito dall'attaccante. Per usarlo, imposta PATCH_METHOD su replace e fornisci un SUPPLIED_BINARY

####8/6/2015

Aggiunto supporto per onionduke. Per usarlo, imposta PATCH_METHOD su onionduke e SUPPLIED_BINARY sul binario che desideri associare all'eseguibile di destinazione.

Aggiunto supporto per impostare il controllo e il patching di requestedExecutionLevel nel manifest PE come highestAvailable sia per i binari PE x86 che x86_64. Imposta RUNAS_ADMIN su True.

Aggiunto supporto per decidere se supportare le vecchie macchine XP tramite il flag XP_MODE impostato su True. Questo può avere capacità di evasione contro gli AV, poiché i loro emulatori potrebbero fallire se questa impostazione è FALSE.

Scarica lo strumento