Drozer Tutorial
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wskazówka dotycząca bug bounty: zarejestruj się w Intigriti, premium platformie bug bounty stworzonej przez hackerów, dla hackerów! Dołącz do nas na https://go.intigriti.com/hacktricks już dziś i zacznij zarabiać nagrody do 100 000 $!
Sieve (od mrwlabs)
Części tego samouczka zostały wyciągnięte z dokumentacji Drozer pdf.
Zainstaluj klienta Drozer na swoim hoście. Pobierz go z najnowszych wydań.
Pobierz i zainstaluj APK drozer z najnowszych wydań. W tej chwili jest to to.
Agent działa na porcie 31415, musimy przekierować port, aby nawiązać komunikację między klientem Drozer a agentem, oto polecenie, aby to zrobić:
Na koniec, uruchom aplikację i naciśnij przycisk "ON"
I połącz się z nią:
Komendy | Opis |
Help MODULE | Pokazuje pomoc dla wybranego modułu |
list | Pokazuje listę wszystkich modułów drozer, które można wykonać w bieżącej sesji. Ukrywa moduły, do których nie masz odpowiednich uprawnień. |
shell | Uruchamia interaktywną powłokę Linux na urządzeniu, w kontekście Agenta. |
clean | Usuwa tymczasowe pliki przechowywane przez drozer na urządzeniu z Androidem. |
load | Ładuje plik zawierający polecenia drozer i wykonuje je w kolejności. |
module | Znajduje i instaluje dodatkowe moduły drozer z Internetu. |
unset | Usuwa nazwaną zmienną, którą drozer przekazuje do wszelkich powłok Linux, które uruchamia. |
set | Przechowuje wartość w zmiennej, która zostanie przekazana jako zmienna środowiskowa do wszelkich powłok Linux uruchamianych przez drozer. |
shell | Uruchamia interaktywną powłokę Linux na urządzeniu, w kontekście Agenta |
run MODULE | Wykonuje moduł drozer |
exploit | Drozer może tworzyć exploity do wykonania na urządzeniu. |
payload | Exploity potrzebują ładunku. |
Znajdź nazwę pakietu filtrując według części nazwy:
Podstawowe informacje o pakiecie:
Przeczytaj Manifest:
Powierzchnia ataku pakietu:
Aktywności: Może uda ci się uruchomić aktywność i obejść jakiś rodzaj autoryzacji, która powinna uniemożliwić jej uruchomienie.
Dostawcy treści: Może uda ci się uzyskać dostęp do prywatnych danych lub wykorzystać jakąś lukę (SQL Injection lub Path Traversal).
Usługi:
is debuggable: Dowiedz się więcej
Wartość komponentu aktywności eksportowanej “android:exported” jest ustawiona na “true” w pliku AndroidManifest.xml:
Lista wyeksportowanych aktywności:
Rozpocznij aktywność:
Możesz rozpocząć aktywność i obejść pewnego rodzaju autoryzację, która powinna uniemożliwić jej uruchomienie.
Możesz również uruchomić wyeksportowaną aktywność z adb:
PackageName to com.example.demo
Exported ActivityName to com.example.test.MainActivity
Ten post był zbyt duży, aby tutaj go umieścić, więc możesz uzyskać do niego dostęp na osobnej stronie tutaj.
Eksportowana usługa jest zadeklarowana w pliku Manifest.xml:
Wewnątrz kodu sprawdź funkcję **handleMessage
**, która otrzyma wiadomość:
Zobacz pomoc drozer dla app.service.send
:
Zauważ, że najpierw wyślesz dane wewnątrz "msg.what", następnie "msg.arg1" i "msg.arg2", powinieneś sprawdzić w kodzie jakie informacje są używane i gdzie.
Używając opcji --extra
, możesz wysłać coś interpretowanego przez "msg.replyTo", a używając --bundle-as-obj
, tworzysz obiekt z podanymi szczegółami.
W następującym przykładzie:
what == 2354
arg1 == 9234
arg2 == 1
replyTo == object(string com.mwr.example.sieve.PIN 1337)
W sekcji podstawowych informacji o Androidzie możesz zobaczyć, czym jest Odbiornik rozgłoszeniowy.
Po odkryciu tych Odbiorników rozgłoszeniowych powinieneś sprawdzić kod ich. Zwróć szczególną uwagę na funkcję onReceive
, ponieważ będzie ona obsługiwać otrzymane wiadomości.
W tym przykładzie wykorzystując FourGoats apk Content Provider możesz wysłać dowolny SMS do dowolnego niepremium miejsca bez pytania użytkownika o pozwolenie.
Jeśli przeczytasz kod, parametry "phoneNumber" i "message" muszą być wysłane do Content Provider.
A prodduction APK should never be debuggeable. To oznacza, że możesz przyłączyć debuger java do działającej aplikacji, sprawdzić ją w czasie rzeczywistym, ustawić punkty przerwania, przechodzić krok po kroku, zbierać wartości zmiennych, a nawet je zmieniać. Instytut InfoSec ma doskonały artykuł na temat głębszego badania, gdy twoja aplikacja jest debugowalna i wstrzykiwania kodu w czasie rzeczywistym.
When an application is debuggable, it will appear in the Manifest:
Możesz znaleźć wszystkie aplikacje z możliwością debugowania za pomocą Drozer:
Wskazówka dotycząca bug bounty: zarejestruj się w Intigriti, premium platformie bug bounty stworzonej przez hakerów, dla hakerów! Dołącz do nas na https://go.intigriti.com/hacktricks już dziś i zacznij zarabiać nagrody do 100 000 USD!
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)