
Das führende Sicherheitsbewertungsframework für Android.
drozer ist ein Sicherheitstest-Framework für Android.
drozer ermöglicht es Ihnen, nach Sicherheitslücken in Apps und Geräten zu suchen, indem es die Rolle einer App annimmt und mit der Android-Laufzeitumgebung, den IPC-Endpunkten anderer Apps und dem zugrunde liegenden Betriebssystem interagiert.
drozer bietet Werkzeuge, um Ihnen bei der Nutzung, Weitergabe und dem Verständnis öffentlicher Android-Exploits zu helfen.
drozer ist Open-Source-Software, gepflegt von Reversec. Eine Einführung in die Benutzeranleitung finden Sie unter Reversec Labs
Dies ist eine BETA-Version einer neu geschriebenen drozer-Version; diese Version wurde aktualisiert, um Python3 zu unterstützen.
Derzeit sind folgende bekannte Probleme vorhanden:
Um sicherzustellen, dass drozer auf allen Systemen ausgeführt werden kann, wurde ein Docker-Container erstellt, der einen funktionierenden Build von drozer enthält.
Sie können pip oder pipx (vorzugsweise, falls verfügbar) verwenden, um die neueste Version von drozer von PyPI zu installieren:
pipx install drozer
Alternativ können Sie einzelne Releases von GitHub herunterladen und ausführen:
pipx install ./drozer-*.whl
Falls Sie dies noch nicht getan haben, sollten Sie in Betracht ziehen, Folgendes auszuführen:
pipx ensurepath
um sicherzustellen, dass mit pipx installierte Pakete in Ihrem PATH erscheinen.
Um drozer aus dem Quellcode zu erstellen, führen Sie Folgendes aus:
git clone https://github.com/ReversecLabs/drozer.git
cd drozer
pip install .
Um die nativen Android-Komponenten gegen ein bestimmtes SDK zu erstellen, können Sie die Umgebungsvariable ANDROID_SDK auf den Pfad setzen. Zum Beispiel:
Linux/macOS:
export ANDROID_SDK=/home/drozerUser/Android/Sdk/platforms/android-34/android.jar
Windows - PowerShell:
New-Item -Path Env:\ANDROID_SDK -Value 'C:\Users\drozerUser\AppData\Local\Android\sdk\platforms\android-34\android.jar'
Windows - cmd:
set ANDROID_SDK = "C:\Users\drozerUser\AppData\Local\Android\sdk\platforms\android-34\android.jar"
Der Speicherort des verwendeten d8-Tools kann auch durch Setzen von D8 geändert werden.
drozer kann mit Android Debug Bridge (adb) installiert werden.
Laden Sie den neuesten drozer-Agenten hier herunter.
adb install drozer-agent.apk
Sie sollten jetzt die drozer-Konsole auf Ihrem PC installiert haben und der Agent auf Ihrem Testgerät läuft. Jetzt müssen Sie die beiden verbinden und schon kann es losgehen.
Wir werden den in den drozer-Agenten integrierten Server verwenden. Starten Sie zunächst den Agenten, wählen Sie die Option "Embedded Server" und tippen Sie auf "Enable", um den Server zu starten. Sie sollten eine Benachrichtigung sehen, dass der Server gestartet wurde.
Folgen Sie dann einer der untenstehenden Optionen.
Standardmäßig hört der drozer-Agent auf allen Schnittstellen auf Port 31415 auf eingehende TCP-Verbindungen. Um eine Verbindung zum Agenten herzustellen, führen Sie den folgenden Befehl aus:
drozer console connect --server <IP-Adresse des Telefons>
Wenn Sie den Docker-Container verwenden, lautet der entsprechende Befehl:
docker run --net host -it drozerdocker/drozer console connect --server <IP-Adresse des Telefons>
In einigen Szenarien ist eine Netzwerkverbindung zum Gerät möglicherweise nicht möglich. In diesen Fällen können wir die Port-Weiterleitungsfunktionen von adb nutzen, um eine Verbindung über USB herzustellen.
Zuerst müssen Sie eine geeignete Port-Weiterleitung einrichten, damit Ihr PC eine Verbindung zu einem TCP-Socket herstellen kann, der vom Agenten im Emulator oder auf dem Gerät geöffnet wurde. Standardmäßig verwendet drozer Port 31415
adb forward tcp:31415 tcp:31415
Sie können jetzt eine Verbindung zum drozer-Agenten herstellen, indem Sie eine Verbindung zu localhost herstellen (oder einfach die Ziel-IP nicht angeben).
drozer console connect
Ihnen sollte eine drozer-Eingabeaufforderung angezeigt werden:
Selecting ebe9fcc0c47b28da (Google sdk_gphone64_x86_64 12)
.. ..:.
..o.. .r..
..a.. . ....... . ..nd
ro..idsnemesisand..pr
.otectorandroidsneme.
.,sisandprotectorandroids+.
..nemesisandprotectorandroidsn:.
.emesisandprotectorandroidsnemes..
..isandp,..,rotecyayandro,..,idsnem.
.isisandp..rotectorandroid..snemisis.
,andprotectorandroidsnemisisandprotec.
.torandroidsnemesisandprotectorandroid.
.snemisisandprotectorandroidsnemesisan:
.dprotectorandroidsnemesisandprotector.
drozer Console (v3.0.0)
dz>
Die Eingabeaufforderung bestätigt die Android-ID des Geräts, mit dem Sie verbunden sind, sowie Hersteller, Modell und Android-Softwareversion.
Sie sind nun bereit, das Gerät zu erkunden.
drozer wird unter einer 3-Klausel-BSD-Lizenz veröffentlicht. Vollständige Details finden Sie in der LICENSE-Datei.
drozer ist Open-Source-Software, die durch Beiträge der Community großartig wird.
Für den vollständigen Quellcode, um Fehler zu melden, Funktionen vorzuschlagen und Patches beizutragen, besuchen Sie bitte unser Github-Projekt:
https://github.com/ReversecLabs/drozer
Fehlermeldungen, Funktionsanfragen, Kommentare und Fragen können hier eingereicht werden.
| Befehl | Beschreibung |
|---|
| run | Führt ein drozer-Modul aus |
| list | Zeigt eine Liste aller drozer-Module an, die in der aktuellen Sitzung ausgeführt werden können. Dabei werden Module ausgeblendet, für die Sie nicht über die entsprechenden Berechtigungen verfügen. |
| shell | Startet eine interaktive Linux-Shell auf dem Gerät im Kontext des Agent-Prozesses. |
| cd | Mountet einen bestimmten Namensraum als Stamm der Sitzung, um nicht wiederholt den vollständigen Namen eines Moduls eingeben zu müssen. |
| clean | Entfernt temporäre Dateien, die von drozer auf dem Android-Gerät gespeichert wurden. |
| contributors | Zeigt eine Liste der Personen an, die zum drozer-Framework und den auf Ihrem System verwendeten Modulen beigetragen haben. |
| echo | Gibt Text auf der Konsole aus. |
| exit | Beendet die drozer-Sitzung. |
| help | Zeigt Hilfe zu einem bestimmten Befehl oder Modul an. |
| load | Lädt eine Datei mit drozer-Befehlen und führt sie nacheinander aus. |
| module | Findet und installiert zusätzliche drozer-Module aus dem Internet. |
| permissions | Zeigt eine Liste der Berechtigungen an, die dem drozer-Agenten gewährt wurden. |
| set | Speichert einen Wert in einer Variablen, die als Umgebungsvariable an alle von drozer gestarteten Linux-Shells übergeben wird. |
| unset | Entfernt eine benannte Variable, die drozer an alle von ihm gestarteten Linux-Shells übergibt. |