Drozer Tutorial
Last updated
Last updated
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)
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 Drozer Client 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 Drozer Client a Agent, 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ń do uruchomienia.
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 w urządzeniu. drozer exploit list
payload
Exploity potrzebują ładunku. drozer payload list
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 spróbować 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:
Tip dotyczący 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 $!
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)