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
dockerized-android — Ein containerbasiertes Framework zur Ermöglichung der Integration mobiler Komponenten in Sicherheitsschulungsplattformen | Kitploit
Tools/GitHubGitHub/cybersecsi/dockerized-android
Android-SicherheitContainer-SicherheitMobile SicherheitLernen & BildungLabs & Praxis
GitHubcybersecsi/dockerized-android

dockerized-android

Ein containerbasiertes Framework zur Ermöglichung der Integration mobiler Komponenten in Sicherheitsschulungsplattformen

Repository anzeigen
18725vor 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

Dockerized Android

Dockerized Android ist ein containerbasiertes Framework, das es ermöglicht, einen Android-Emulator in Docker auszuführen und über einen Browser zu steuern. Dieses Projekt wurde entwickelt, um einen Ausgangspunkt für die Integration mobiler Sicherheitskomponenten in Cyber Ranges zu bieten, kann aber für jeden Zweck verwendet werden. Für Entwicklungs- und Testzwecke wird jedoch das Projekt docker-android empfohlen.

Docker Maintenance Documentation License: MIT

Inhaltsverzeichnis

  • Inhaltsverzeichnis
  • Einführung
  • Funktionen
  • Architektur
    • Core-Komponente
    • UI-Komponente
    • Instance Manager-Komponente
  • Liste der Docker-Images
  • So wird's ausgeführt
    • Voraussetzungen
    • OS-Kompatibilität
    • OS X Workaround für echtes Gerät
    • Ausführen
    • Erstellen
  • Konfiguration
  • Lizenz
  • Wer spricht über Dockerized Android
  • Danksagungen

Einführung

Wie in der kurzen Beschreibung oben erwähnt, wurde dieses Projekt erstellt, um einen Ausgangspunkt für die Einführung mobiler Sicherheitskomponenten in Cyber Ranges zu bieten. Aus diesem Grund helfen die bereits entwickelten Funktionen sowie die zukünftig hinzugefügten Funktionen dem Benutzer, eine realistische Simulation (z. B. für Sicherheitstrainings) einfacher einzurichten. Diese README ist ziemlich lang, vielleicht möchten Sie direkt zum Teil „So wird's ausgeführt“ springen.

Funktionen

Derzeit sind folgende Funktionen verfügbar:

  • Ausführen eines Android-Emulators in Docker
  • Steuerung des Geräts über den Webbrowser
  • Installieren von Anwendungen
  • Portweiterleitung aktivieren
  • Neustart des Geräts
  • SMS emulieren
  • Terminal über den Webbrowser nutzen
  • Auch ein physisches Gerät anschließen
  • Startverhalten anpassen (siehe Konfigurationsabschnitt)
  • Mehrere Instanzen einfach verwalten
ErsteinrichtungInstance Manager EinrichtungManuelle Einrichtung
initial-setupinstance-manager-setupmanual-setup
Toolbox-FunktionenInstanzwechsel
toolboxinstance-switch

Architektur

Das Projekt besteht aus drei Hauptkomponenten:

  • Dockerized Android Core
  • Dockerized Android UI
  • Dockerized Android Instance Manager (optional) Die folgende Abbildung gibt einen Überblick über die tatsächliche Architektur der beiden obligatorischen Komponenten

Core-Komponente

Die Core-Komponente führt alle Prozesse aus, die zum Betreiben einer Android-Komponente (emuliert oder real) innerhalb eines Docker-Containers erforderlich sind, und stellt einige Funktionen nach außen zur Verfügung. Sie ist zweifellos der komplexeste Teil, da sie verschiedene Prozesse verwalten muss, um eine Reihe von Funktionen bereitzustellen. Die obige Abbildung zeigt eine klare Unterscheidung zwischen langlebigen Prozessen, Startprozessen und Hilfsskripten. Außerdem zeigt die Abbildung, dass es 6 langlebige Prozesse gibt – dies ist eine kleine Ungenauigkeit, die hinzugefügt wurde, um einen allgemeinen Überblick über die Core-Komponente zu geben. In Wirklichkeit gibt es zwei unterschiedliche Varianten der Core-Komponente:

  • Core für Emulator
  • Core für echtes Gerät

Der Hauptarchitekturunterschied betrifft die langlebigen Prozesse: Der Core für Emulator führt den langlebigen Emulator-Prozess aus, während der Core für echtes Gerät den langlebigen scrcpy-Prozess ausführt, um das physische Gerät anzuzeigen und zu steuern. Die anderen Teile sind recht ähnlich, lediglich mit etwas Logik, um je nach Art der Core-Komponente ein anderes Verhalten zu ermöglichen.

UI-Komponente

Die UI-Komponente bietet eine einfache Möglichkeit, alle vom Backend bereitgestellten Funktionen zu nutzen und ermöglicht zudem die Anzeige und Steuerung des Geräts. Der Benutzer muss manuell die Adresse der Core-Komponente sowie die entsprechenden Ports eingeben (den vom Backend bereitgestellten Port und den von websockify bereitgestellten Port); durch diese manuelle Einrichtung können die Standardports (4242 für das Backend und 6080 für websockify) geändert werden.

Instance Manager-Komponente

Die Instance Manager-Komponente hat die Aufgabe, alle Informationen (d. h. Adressen und Ports) über die laufenden Cores über eine einzige REST-API bereitzustellen. Dies geschieht durch das Schreiben einer einfachen JSON-Konfigurationsdatei, die alle Informationen über die Cores enthält, die in der docker-compose vorhanden sind, um die mühsame manuelle Eingabe zu vermeiden. Die Struktur der JSON-Konfigurationsdatei ist wie folgt:

root@kitploit:~
{
    "instances": [
        {
            "name": [Generischer String zur Identifizierung des Geräts],
            "address": [Adresse der Komponente],
            "core_port": [Port des Backends],
            "vnc_port": [Port von VNC]
        }
    ]
}

Liste der Docker-Images

Das Image secsi/dockerized-android-core-bare lädt kein System-Image herunter; Sie können das Verzeichnis auf Ihrem Host-Rechner einbinden, in dem sich alle SDK-Ordner befinden.

So wird's ausgeführt

Ein vollständiges Beispiel zur Ausführung der Plattform finden Sie in der docker-compose-Datei im Verzeichnis examples. Dieses Verzeichnis enthält drei verschiedene Konfigurationen:

  • docker-compose-core: Einrichtung mit einem Core für ein echtes Gerät;
  • docker-compose-emulator: Einrichtung mit einem Core für einen Emulator;
  • docker-compose-instance-manager: Einrichtung mit zwei verschiedenen Cores und der optionalen Instance Manager-Komponente.

Sobald Sie verstanden haben, wie es funktioniert, können Sie es nach Ihren Bedürfnissen anpassen.

Voraussetzungen

Docker und Docker Compose müssen auf Ihrem Rechner installiert sein.

OS-Kompatibilität

Diese Plattform verhält sich je nach Host-Betriebssystem unterschiedlich. Hier eine Tabelle, die die aktuelle Kompatibilität zusammenfasst:

LinuxWindowsOS X
Core für EmulatorVolle KompatibilitätNicht unterstützt (noch)Nicht unterstützt
Core für echtes GerätVolle KompatibilitätVolle KompatibilitätWorkaround

Für Windows und OS X müssen Sie eine Linux-VM mit verschachtelter Virtualisierung verwenden.

Um zu überprüfen, ob Ihr Linux-Rechner verschachtelte Virtualisierung unterstützt, können Sie die folgenden Befehle ausführen:

root@kitploit:~
sudo apt install cpu-checker
kvm-ok

OS X Workaround für echtes Gerät

Um den Core für echtes Gerät unter OS X zu verwenden, können Sie:

  • Die ADB des Hosts nutzen
  • Eine drahtlose Verbindung verwenden

Für die drahtlose Verbindung stellt Google ein einfaches Tutorial zur Verfügung. Um eine Verbindung zur Host-ADB aus dem Container herzustellen, müssen Sie manuell in den Container gehen und Folgendes ausführen:

root@kitploit:~
adb -H host.docker.internal devices

Ausführen

Die Befehle zum Starten des Frameworks lauten wie folgt:

  1. Wählen Sie zunächst eine Konfiguration aus dem Ordner examples. Zum Beispiel:
root@kitploit:~
cp ./examples/docker-compose-core.yml docker-compose.yml
  1. Starten Sie mit docker-compose:
root@kitploit:~
docker-compose up

Noch einfacher können Sie auch den Befehl verwenden:

docker-compose -f ./examples/docker-compose-core.yml up

Jetzt müssen Sie nur noch über einen Browser zur folgenden Adresse navigieren: http://127.0.0.1:8080 und die aktuelle Konfiguration einstellen:

Wenn der Instance Manager nicht verwendet wurde, klicken Sie auf Manuelle Einrichtung und geben Sie die folgenden Informationen ein:

  1. Einen Namen Ihrer Wahl für die Instanz;
  2. IP-Adresse der in docker-compose deklarierten Core-Komponente;
  3. Core-Portnummer (4242 standardmäßig);
  4. VNC-Portnummer (6080 standardmäßig).

Wenn der Instance Manager verwendet wird, klicken Sie auf „Instance Manager“ und geben Sie einfach die IP-Adresse und die Portnummer ein (z. B. 193.21.1.100:7373).

Das war's! Sie können das Framework im Browser nutzen.

Erstellen

Sie können die Images auch selbst mit den Skripten im Ordner utils erstellen.

Konfiguration

Sie können einige Funktionen über Umgebungsvariablen anpassen. Die folgende Tabelle listet alle auf:

Die Variable REAL_DEVICE_SERIAL ist entscheidend, wenn mehr als ein physisches Gerät angeschlossen ist, da bei Fehlen nichts funktioniert. Abschließend eine Liste der von jeder Komponente bereitgestellten Ports:

Lizenz

Dockerized Android ist eine Open-Source- und kostenlose Software, die unter der MIT-Lizenz veröffentlicht wurde.

Wer spricht über Dockerized Android

  • SecSI
    • https://secsi.io/blog/a-container-based-framework-for-android-emulation-and-hacking/
  • KitPloit
    • https://www.kitploit.com/2021/10/dockerized-android-container-based.html
    • https://www.kitploit.com/2021/12/top-20-most-popular-hacking-tools-in.html

Zitation

Wenn Sie diesen Code in Ihrer Forschung nützlich finden, zitieren Sie bitte unsere Arbeit:

root@kitploit:~
@inproceedings{Capone2022,
  doi = {10.1109/icecet55527.2022.9872834},
  url = {https://doi.org/10.1109/icecet55527.2022.9872834},
  year = {2022},
  month = jul,
  publisher = {{IEEE}},
  author = {Daniele Capone and Francesco Caturano and Angelo Delicato and Gaetano Perrone and Simon Pietro Romano},
  title = {Dockerized Android: a container-based platform to build mobile Android scenarios for Cyber Ranges},
  booktitle = {2022 International Conference on Electrical,  Computer and Energy Technologies ({ICECET})}
}

Danksagungen

Dieses Projekt stellt unsere Masterarbeit im Fach Computertechnik an der Universität Federico II von Neapel dar. Besonderer Dank gilt Professor Simon Pietro Romano und Ingenieur Francesco Caturano, die Quellen der Inspiration für diese Arbeit waren.

Tool herunterladen
Android-VersionAPIImage
5.0.121secsi/dockerized-android-core-emulator-5.0.1
5.1.122secsi/dockerized-android-core-emulator-5.1.1
6.023secsi/dockerized-android-core-emulator-6.0
7.024secsi/dockerized-android-core-emulator-7.0
7.1.125secsi/dockerized-android-core-emulator-7.1.1
8.026secsi/dockerized-android-core-emulator-8.0
8.127secsi/dockerized-android-core-emulator-8.1
9.028secsi/dockerized-android-core-emulator-9.0
10.029secsi/dockerized-android-core-emulator-10.0
11.030secsi/dockerized-android-core-emulator-11.0
--secsi/dockerized-android-core-bare
--secsi/docker-android-core-real-device
KomponenteENV-NameStandardwertBeschreibung
CoreTARGET_PORT6080Websockify-Port
CoreCUSTOM_APP_DEFAULT_PORT4242Node.js-Backend-Port
CoreDEVICEINFONicht gesetzt, verhält sich wie trueAktiviert/Deaktiviert die Geräteinformationsfunktion
CoreTERMINALNicht gesetzt, verhält sich wie trueAktiviert/Deaktiviert die Terminalfunktion
CoreAPKNicht gesetzt, verhält sich wie trueAktiviert/Deaktiviert die Funktion zum Installieren von APKs
CoreFORWARDNicht gesetzt, verhält sich wie trueAktiviert/Deaktiviert die Portweiterleitungsfunktion
CoreSMSNicht gesetzt, verhält sich wie trueAktiviert/Deaktiviert die SMS-Emulationsfunktion
CoreREBOOTNicht gesetzt, verhält sich wie trueAktiviert/Deaktiviert die Neustartfunktion
CoreINSTALL_ON_STARTUPfalseAktiviert/Deaktiviert die Funktion, die alle APKs im Ordner /root/dockerized-android/apk installiert
CoreENABLE_UNKNOWN_SOURCESfalseAktiviert die Installation aus unbekannten Quellen
CoreREAL_DEVICE_SERIALnicht gesetztWenn mehr als ein physisches Gerät verbunden ist, muss dieser Wert auf die Seriennummer des zu steuernden Geräts gesetzt werden, da sonst alle anderen Funktionen nicht funktionieren
Instance ManagerDEFAULT_PORT7373Port der REST-API
KomponentePort #Beschreibung
Core5555ADB-Port
Core4242Node.js-Backend
Core6080Websockify (für noVNC)
UI80Frontend
Instance Manager7373REST-API