Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
AMDH — Härtung von Android-Mobilgeräten | Kitploit
Tools/GitHubGitHub/a-yatta/amdh
Android-SicherheitStatische AnalyseMobile App-PenetrationstestsKonfigurationsprüfungForensikMalware-AnalyseMobile Sicherheit
GitHuba-yatta/amdh

AMDH

Härtung von Android-Mobilgeräten

Repository anzeigen
22227vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

AMDH

Android Mobile Device Hardening, geschrieben mit Python3.

Die Android-Version, PObY-A (Privacy Owned by You - Android), mit Malware- und Einstellungs-Scans ist im Play Store verfügbar und der Quellcode kann HIER gefunden werden.

Motivationen

AMDH wurde entwickelt, um das Scannen installierter Anwendungen auf Android-Geräten zu automatisieren, einige bekannte Malware zu erkennen und auch die Privatsphäre zu schützen.

Funktionen

  • Systemeinstellungen basierend auf CIS (Center of Internet Security) Benchmark-Checks für Android-Geräte und der Einstellungsdokumentation des Android-Master-Branches überprüfen und härten (Globale Einstellungen und Sichere Einstellungen)
  • Aktuelle Benutzerprozesse auflisten und ausgewählte beenden
  • Derzeit installierte Anwendungen auf dem Gerät analysieren:
    • Gefährliche Berechtigungen auflisten und widerrufen
    • Mit von Malware verwendeten Berechtigungen vergleichen
    • Bericht im JSON-Format erstellen
  • Anwendungen auflisten:
    • App deinstallieren/deaktivieren
    • Admin-Empfänger widerrufen
  • APKs installierter Anwendungen dumpen
  • Prüfen, ob das System ausstehende Updates hat
  • Gepackte APKs extrahieren, falls vorhanden

Voraussetzungen

  • Python3
  • Android Debug Bridge (ADB) installiert
  • androguard
  • pwntools

Installation

root@kitploit:~
$ git clone https://github.com/SecTheTech/AMDH.git; cd AMDH
$ python3 -m venv amdh
$ source amdh/bin/activate
(amdh) $ pip install -r requirement.txt

Verwendung

Hinweis: Unter Windows müssen Sie den ADB-Pfad angeben oder die Variable "adb_windows_path" in "config/main.py" bearbeiten.

Warnung: Bei Verwendung des Arguments -l mit aktivierter Anwendung '-t e' werden System-Apps aufgelistet. Das Deinstallieren von System-Apps kann Ihr Android-System beschädigen. Für System-Apps wird die Verwendung von 'disable' anstelle von 'uninstall' empfohlen.

root@kitploit:~
$ python amdh.py -h
usage: amdh.py [-h] [-d DEVICES] [-sS] [-sA] [-H] [-a ADB_PATH] [-t {e,d,3,s}] [-D APKS_DUMP_FOLDER] 
          [-rar] [-R] [-l] [-P] [-S SNAPSHOT_DIR] [-cS SNAPSHOT_REPORT] [-rS SNAPSHOT_TO_RESTORE] [-o OUTPUT_DIR]

Android Mobile Device Hardening

optionale Argumente:
  -h, --help            zeigt diese Hilfemeldung und beendet das Programm
  -d DEVICES, --devices DEVICES
                        Liste der Geräte, durch Komma getrennt, oder "ALL" für alle verbundenen Geräte
  -sS                   Systemeinstellungen scannen
  -sA                   Installierte Anwendungen scannen
  -H                    Systemeinstellungen härten /!\ Entwickleroptionen und ADB werden deaktiviert /!\ 
  -a ADB_PATH, --adb-path ADB_PATH
                        Pfad zur ADB-Binärdatei
  -t {e,d,3,s}         Typ der Anwendungen:
                                e: aktivierte Apps
                                d: deaktivierte Apps
                                3: Drittanbieter-Apps
                                s: System-Apps
  -D APKS_DUMP_FOLDER, --dump-apks APKS_DUMP_FOLDER
                        APKs vom Gerät in das Verzeichnis APKS_DUMP_FOLDER dumpen
  -rar                  Admin-Empfänger entfernen: Alle Admin-Empfänger entfernen, wenn die App keine System-App ist
                        Scan-Anwendungsoption "-sA" erforderlich
  -R                    Für jede App alle gefährlichen Berechtigungen widerrufen
                        Scan-Anwendungsoption "-sA" erforderlich
  -l                    Nummerierte Anwendungen auflisten, um sie zu deaktivieren, deinstallieren oder zu analysieren
  -P                    Aktuelle Benutzerprozesse auflisten
  -S SNAPSHOT_DIR, --snapshot SNAPSHOT_DIR
                        Momentaufnahme des aktuellen Telefonzustands in eine JSON-Datei und Backup der Anwendungen in SNAPSHOT_DIR
  -cS SNAPSHOT_REPORT, --cmp-snapshot SNAPSHOT_REPORT
                        Vergleich von SNAPSHOT_REPORT mit dem aktuellen Telefonzustand
  -rS SNAPSHOT_TO_RESTORE, --restore-snapshot SNAPSHOT_TO_RESTORE
                        Wiederherstellung von SNAPSHOT_TO_RESTORE
  -o OUTPUT_DIR, --output-dir OUTPUT_DIR
                        Ausgabeverzeichnis für Berichte und Logs. Standard: out

Dokumentation & Hilfe

Tests und CIS-Version

  • Getestet auf Android 7.1.1, 8, 9 und 10
  • CIS-Version: 1.3.0

Malware-Erkennung

Vergleiche die gewährten Berechtigungen mit den Berechtigungen, die in der Datei malware_perms.json beschrieben sind. Die Datei enthält drei Knoten:

  • malware_only: nur von Malware verwendete Berechtigungen
  • all: von Malware und legitimen Apps verwendete Berechtigungen
  • combinations: von Malware am häufigsten verwendete Berechtigungskombinationen

Nur von Malware verwendete Berechtigungen

Nur von Malware verwendete Berechtigungen sind solche, die nur von Malware genutzt werden. Die analysierte Malware stammt aus den Repositories:

  • https://github.com/ashishb/android-malware
  • https://github.com/sk3ptre/AndroidMalware_2018
  • https://github.com/sk3ptre/AndroidMalware_2019
  • https://github.com/sk3ptre/AndroidMalware_2020
  • https://github.com/MalwareSamples/Android-Malware-Samples

Der Befehl "aapt" wurde zum Dumpen der Berechtigungen verwendet. Der zweite Schritt bestand darin, die Berechtigungen legitimer Apps (etwa 400 Apps) zu dumpen. Nur von Malware verwendete Berechtigungen sind solche, die von Malware genutzt werden und niemals in den analysierten legitimen Anwendungen vorkommen.

Alle Berechtigungen

Alle Berechtigungen werden sowohl von Malware als auch von legitimen Anwendungen genutzt. Die Werte geben den prozentualen Anteil an, wie oft Malware diese Berechtigungen im Vergleich zu legitimen Apps verwendet hat.

Statische Analyse

  • Gefährliche Berechtigungen von gepackten APKs mit androguard finden, dumpen und auflisten
  • Bibliotheken dumpen und mit pwntools auf bekannte native Malware-Funktionen scannen

Momentaufnahme

Die Momentaufnahme kann helfen, den Systemzustand zu überwachen und die Telefondaten zu sichern:

  • Anwendungen und ihre Berechtigungen
  • Systemeinstellungen
  • Kontakte
  • SMS

Bekannte Probleme

  • Der Befehl "pm revoke" gibt den Exit-Erfolgscode zurück, widerruft jedoch bei einigen Malware die Berechtigungen nicht.
  • Das Backup von SMS kann auf einigen Geräten fehlschlagen, da die ADB-Shell keine Berechtigung zum Zugriff auf die SMS-Datenbank hat. Sollte dies auftreten, erstellen Sie bitte ein Issue.

Beispiele

Scannen

  • Anwendungen scannen
root@kitploit:~
(amdh)$ python amdh.py -d SERIAL1,SERIAL2,SERIAL3 -sA -o reports

Für jedes Gerät werden zwei Dateien im Ordner "reports" erstellt:

  • SERIAL.log
  • SERIAL_report_apps.json: JSON-Datei, die für jede App deren gewährte Berechtigungen und die als gefährlich eingestuften Berechtigungen enthält. Jeder Eintrag sieht wie folgt aus:
root@kitploit:~
{
    "com.package.name": {
        "malware": true,
        "permissions": {
            "all_permissions": [
                "com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE",
                "com.google.android.c2dm.permission.RECEIVE",
                "com.google.android.providers.gsf.permission.READ_GSERVICES",
                "android.permission.WRITE_SYNC_SETTINGS",
                "android.permission.RECEIVE_BOOT_COMPLETED",
                "android.permission.AUTHENTICATE_ACCOUNTS"
            ],
            "dangerous_perms": {
                "android.permission.ACCESS_FINE_LOCATION": "Diese App kann Ihren Standort basierend auf GPS- oder Netzwerkquellen wie Mobilfunkmasten und WLAN-Netzen ermitteln. Diese Standortdienste müssen auf Ihrem Telefon eingeschaltet und verfügbar sein, damit die App sie nutzen kann. Dies kann den Akkuverbrauch erhöhen.",
                "android.permission.READ_EXTERNAL_STORAGE": "Ermöglicht der App, den Inhalt Ihrer SD-Karte zu lesen.",
                "android.permission.ACCESS_COARSE_LOCATION": "Diese App kann Ihren Standort basierend auf Netzwerkquellen wie Mobilfunkmasten und WLAN-Netzen ermitteln. Diese Standortdienste müssen auf Ihrem Telefon eingeschaltet und verfügbar sein.",
                "android.permission.CAMERA": "Diese App kann jederzeit Fotos aufnehmen und Videos mit der Kamera aufzeichnen.",
                "android.permission.WRITE_EXTERNAL_STORAGE": "Ermöglicht der App, auf die SD-Karte zu schreiben."
            },
            "is_device_admin": false,
        }
    }
}
  • Einstellungen scannen
root@kitploit:~
(amdh)$ python amdh.py -sS

Es wird ein Bericht mit dem Namen "SERIAL_report_settings.json" im Ordner "out" (Standard-Ausgabeverzeichnis) erstellt.

Härten

  • Anwendungshärtung
root@kitploit:~
(amdh)$ python amdh.py -sA -R -rar

Derselbe Bericht wie beim Scannen von Apps, jedoch mit zwei zusätzlichen Schlüsseln:

root@kitploit:~
   "is_device_admin_revoked": true,
   "revoked_dangerous_pemissions": "succeeded"

Der Schlüssel is_device_admin_revoked erscheint nicht im Ergebnis, wenn die App kein Geräte-Admin ist.

  • Einstellungshärtung
root@kitploit:~
(amdh)$ python amdh.py -sS -H -o reports

Im Verzeichnis "reports" werden ein Bericht und eine Logdatei erstellt.

Statische Analyse und Deinstallieren/Deaktivieren mehrerer Apps (interaktiv)

root@kitploit:~
(amdh)$ python amdh.py -l

Aktuell laufende Benutzerprozesse auflisten

root@kitploit:~
(amdh)$ python amdh.py -P -d SERIAL1,SERIAL2 

Momentaufnahme

root@kitploit:~
(amdh)$ python amdh.py -S out
[-] INFO: Start ...
Entsperren Sie Gerät SERIAL und drücken Sie die EINGABETASTE, um fortzufahren
[-] INFO: Fertig

Der Ordner "out" enthält einen Unterordner "SERIAL_DATUM-ZEIT". DATUM-ZEIT hat das Format "YYYY-MM-DD-hh:mm:ss".

Momentaufnahmen-Vergleich

root@kitploit:~
(amdh)$ python amdh.py -cS out/report.json
[-] INFO: Start ...

[-] INFO: Installierte Apps nach der Momentaufnahme
{}
[-] INFO: In der Momentaufnahme vorhandene Apps
{
    "com.package.name1": {
        "firstInstallTime": "2020-07-06 18:53:07",
        "lastUpdateTime": "2020-07-06 18:53:07",
        "grantedPermissions": [
            "com.google.android.c2dm.permission.RECEIVE",
            "android.permission.USE_CREDENTIALS",
            "android.permission.MODIFY_AUDIO_SETTINGS",
            "com.google.android.providers.gsf.permission.READ_GSERVICES",
            "android.permission.MANAGE_ACCOUNTS",
            "android.permission.NFC"
        ],
        "deviceAdmin": false,
        "apk": "com.package.name1.apk"
    },
    "com.package.name2": {
        "firstInstallTime": "2020-07-10 23:57:53",
        "lastUpdateTime": "2020-07-10 23:57:53",
        "grantedPermissions": [
            "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION",
            "com.google.android.c2dm.permission.RECEIVE",
            "android.permission.USE_CREDENTIALS",
            "android.permission.MODIFY_AUDIO_SETTINGS",
            "org.thoughtcrime.securesms.ACCESS_SECRETS",
            "android.permission.ACCESS_NOTIFICATION_POLICY",
            "android.permission.CHANGE_NETWORK_STATE",
            "android.permission.FOREGROUND_SERVICE",
            "android.permission.WRITE_SYNC_SETTINGS"
        ],
        "deviceAdmin": false,
        "backup": "com.package.name2.ab",
        "apk": "com.package.name2.apk"
    }
}
[-] INFO: Nach der Momentaufnahme deinstalliert
{
    "com.package.name3": {
        "firstInstallTime": "2020-07-18 07:56:44",
        "lastUpdateTime": "2020-07-18 07:56:44",
        "grantedPermissions": [
            "android.permission.INTERNET",
            "android.permission.ACCESS_NETWORK_STATE"
        ],
        "deviceAdmin": false,
        "backup": "com.package.name3.ab",
        "apk": "com.package.name3.apk"
    }
}
[-] INFO: Geänderte Einstellungen nach der Momentaufnahme
{
    "global": [
        "stay_on_while_plugged_in"
    ],
    "secure": [],
    "system": []
}

Momentaufnahme-Wiederherstellung: Apps

root@kitploit:~
(amdh)$ python amdh.py -d SERIAL -rS out/report.json
[-] INFO: Start ...
Entsperren Sie Gerät SERIAL und drücken Sie die EINGABETASTE, um fortzufahren
[-] INFO: Wiederherstellung wird gestartet
[-] INFO: Wiederherstellung abgeschlossen
[-] INFO: Wiederherstellungsbericht
{
    "apps": {
        {
            "com.package.name1": {
                "install": "success",
                "backup": "restored"
            },
            "com.package.name2": {
                "install": "success",
                "backup": "NOT FOUND"
            },
            "com.package.name3": {
                "install": "success",
                "backup": "restored"
            }
        }
    }
}

Erstellen der Binärdatei

root@kitploit:~
(amdh) $ pip install pyinstaller 
(amdh) $ pyinstaller --clean amdh.spec

Ausgabebinärdatei: dist/amdh.

Mitwirken und Ideen

Vielen Dank für Ihr Interesse an diesem Projekt! Wenn Sie Ideen zur Verbesserung dieses Tools haben, erstellen Sie bitte ein neues Issue oder senden Sie einen Pull-Request.

Tool herunterladen
  • Statische Analyse zur Malware-Erkennung. Derzeit erkannte Malware:
    • ActionSpy
    • WolfRat
    • Anubis
  • Momentaufnahme des aktuellen Telefonzustands in eine JSON-Datei:
    • Anwendungen:
      • APK
      • Erster Installationszeitpunkt
      • Letzter Aktualisierungszeitpunkt
      • Aktuelle Berechtigungen
      • Ist die App Geräte-Admin
    • SMS: aktuelle SMS-Nachrichten
    • Kontakte: aktuelle Kontaktliste
    • Backup von Anwendungen, die Backup aktiviert haben
  • Vergleich von Momentaufnahmen mit dem aktuellen Telefonzustand
    • Anwendungen
    • Einstellungen
  • Momentaufnahme wiederherstellen
    • Anwendungen
    • Kontakte
  • Mehrere Geräte gleichzeitig verwalten (Momentaufnahmen-Vergleich und -Wiederherstellung werden noch nicht unterstützt)
    • Für jedes Gerät wird ein neuer Thread erstellt
  • HTML-Bericht