mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 15:12:11 +00:00
5.7 KiB
5.7 KiB
Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź SUBSCRIPTION PLANS!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud na GitHubie.
Identyfikowanie spakowanych plików binarnych
- Brak ciągów znaków: Często zdarza się, że spakowane pliki binarne nie mają praktycznie żadnych ciągów znaków.
- Wiele nieużywanych ciągów znaków: Kiedy złośliwe oprogramowanie używa jakiegoś rodzaju komercyjnego pakera, często można znaleźć wiele ciągów znaków bez odwołań krzyżowych. Nawet jeśli te ciągi istnieją, nie oznacza to, że plik binarny nie jest spakowany.
- Można również użyć narzędzi, aby spróbować znaleźć pakera, który został użyty do spakowania pliku binarnego:
- PEiD
- Exeinfo PE
- Language 2000
Podstawowe zalecenia
- Zacznij analizować spakowany plik binarny od dołu w IDA i poruszaj się w górę. Unpackery kończą działanie, gdy kończy się działanie rozpakowanego kodu, więc mało prawdopodobne jest, że unpacker przekaże wykonanie do rozpakowanego kodu na początku.
- Szukaj JMP lub CALL do rejestrów lub obszarów pamięci. Szukaj również funkcji, które przekazują argumenty i adres kierunku, a następnie wywołują
retn
, ponieważ zwrócenie funkcji w tym przypadku może wywołać adres, który został właśnie umieszczony na stosie przed jego wywołaniem. - Ustaw punkt przerwania na
VirtualAlloc
, ponieważ to alokuje miejsce w pamięci, gdzie program może zapisywać rozpakowany kod. Uruchomienie do kodu użytkownika lub użycie F8, aby uzyskać wartość w rejestrze EAX po wykonaniu funkcji i "śledź ten adres w dumpie". Nigdy nie wiesz, czy to jest obszar, w którym zostanie zapisany rozpakowany kod. VirtualAlloc
z wartością "40" jako argument oznacza Read+Write+Execute (jakikolwiek kod, który wymaga wykonania, zostanie tutaj skopiowany).- Podczas rozpakowywania kodu normalne jest znalezienie wielu wywołań operacji arytmetycznych i funkcji takich jak
memcopy
lubVirtual
Alloc
. Jeśli znajdziesz się w funkcji, która wydaje się wykonywać tylko operacje arytmetyczne i być może kilkamemcopy
, zaleceniem jest próba znalezienia końca funkcji (może to być JMP lub wywołanie do jakiegoś rejestru) lub przynajmniej wywołanie ostatniej funkcji i uruchomienie do niej, ponieważ kod nie jest interesujący. - Podczas rozpakowywania kodu zwróć uwagę, kiedy zmieniasz obszar pamięci, ponieważ zmiana obszaru pamięci może wskazywać rozpoczęcie kodu rozpakowującego. Możesz łatwo zrzucić obszar pamięci, używając Process Hacker (proces --> właściwości --> pamięć).
- Podczas próby rozpakowania kodu dobrym sposobem, aby wiedzieć, czy już pracujesz z rozpakowanym kodem (aby go po prostu zrzucić), jest sprawdzenie ciągów znaków w pliku binarnym. Jeśli w pewnym momencie wykonasz skok (może zmieniając obszar pamięci) i zauważysz, że dodano dużo więcej ciągów znaków, to możesz wiedzieć, że pracujesz z rozpakowanym kodem.
Jednak jeśli pakiet zawiera już wiele ciągów znaków, możesz sprawdzić, ile ciągów zawiera słowo "http" i sprawdzić, czy ta liczba wzrasta. - Gdy zrzucasz plik wykonywalny z obszaru pamięci, możesz naprawić niektóre nagłówki za pomocą PE-bear.
Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź SUBSCRIPTION PLANS!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud na GitHubie.