Wstrzykiwanie sekcji ELF: Przegląd ogólny

https://chacker.pl/

Rysunek  przedstawia główne kroki niezbędne do wstrzyknięcia nowej sekcji kodu do pliku ELF.

Lewa strona rysunku przedstawia oryginalny (niezmodyfikowany) plik ELF, a prawa strona – zmodyfikowany plik z dodaną nową sekcją, o nazwie .injected. Aby dodać nową sekcję do pliku binarnego ELF, należy najpierw wstrzyknąć bajty, które będzie zawierała sekcja (krok (1) na rysunku 7-2), dołączając je na końcu pliku binarnego. Następnie tworzy się nagłówek sekcji (2) i nagłówek programu (3) dla wstrzykniętej sekcji. Jak zapewne pamiętasz z rozdziału 2, tabela nagłówków programu zazwyczaj znajduje się tuż za nagłówkiem wykonywalnym (4). Z tego powodu dodanie dodatkowego nagłówka programu spowodowałoby przesunięcie wszystkich sekcji i nagłówków, które następują po nim. Aby uniknąć konieczności skomplikowanego przesunięcia, można po prostu nadpisać istniejący nagłówek zamiast dodawać nowy, jak pokazano na rysunku . Tę samą sztuczkę implementuje elfinject, a Ty możesz zastosować tę samą sztuczkę z nadpisywaniem nagłówków, aby uniknąć dodawania nowego nagłówka sekcji do pliku binarnego.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *