VIKIROOT
Dies ist ein CVE-2016-5195 PoC für 64-Bit Android 6.0.1 Marshmallow (vielleicht 7.0?), sowie ein universelles & stabiles temporäres Root-Tool. Es benötigt keine SUID-ausführbare Datei oder Dateisystemänderungen.
Funktionen
- SELinux-Bypass (siehe unten für Details).
- Nur-Arbeitsspeicher: ändert das Dateisystem nicht und benötigt kein spezielles ausführbares Programm.
- Stabil: beeinträchtigt nicht die Stabilität Ihres Geräts.
- Skalierbar: einfach neue Kernel und/oder neue Geräte hinzuzufügen.
- Umkehrbar: Die Hintertür wird automatisch gelöscht, nachdem die Root-Shell endet, was bedeutet, dass kein Neustart nach der Nutzung erforderlich ist.
Achtung
Mit "SELinux-Bypass" meine ich, dass die Payload im Init-Domain läuft, selbst wenn SELinux im Enforcing-Modus ist, jedoch ist ein Patch für die Sepolicy erforderlich, um die Init-Domain uneingeschränkt zu machen. Normalerweise bedeutet dies, dass ein modifiziertes Boot-Image erforderlich ist.
Voraussetzungen
- Ich, der Roboter von Isaac Asimov.
- dirtycow-fähiges Gerät.
- gepatchte Sepolicy.
Erstellen
Vorgefertigte Binärdateien sind auf der Release-Seite verfügbar. Andernfalls fügen Sie einfach die NDK-Standalone-Toolchain zu PATH hinzu und führen Sie make aus.
Verwendung
Sie können es über eine ADB-Shell ausführen (legen Sie es unter /data/local/tmp ab) und eine Root-Shell entweder im integrierten Terminal oder auf einem entfernten Terminalserver wie nc erhalten. Für Details führen Sie es ohne Parameter aus.
Fehlerbehebung
- Bitte lesen Sie zuerst den Abschnitt "Achtung" oben.
- "insufficient place for payload" oder "unknown kernel": Ein Neustart ist erforderlich.
- "waiting for reverse connect shell": Bitte wecken Sie Ihr Gerät auf, öffnen Sie die Uhr-/Wecker-App oder schalten Sie den Bluetooth-Schalter um, um die Hintertür auszulösen.
- Immer noch kein Glück: Bitte führen Sie die "dbg"-Version aus und senden Sie mir eine E-Mail mit den generierten Dateien, die nur ein Dump eines Teils des Kernels sind und keine persönlichen Informationen enthalten.
Danksagungen
- scumjr für die vDSO-Patching-Methode.
- Tzul für die Hilfe beim Debuggen des Sepolicy-Problems.
- RenaKunisaki dafür, dass es mit Bionic funktioniert.
TODO
- Erweiterung der Kernel-Datenbank für x86-Unterstützung und so weiter.
- Test auf Android 7 Nougat (Hilfe gesucht!).