Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
dockerized-android — Un framework basé sur des conteneurs pour permettre l'intégration de composants mobiles dans les plateformes de formation en sécurité. | Kitploit
Outils/GitHubGitHub/cybersecsi/dockerized-android
Sécurité AndroidSécurité des ConteneursSécurité MobileApprentissage et ÉducationLabs et Pratique
GitHubcybersecsi/dockerized-android

dockerized-android

Un framework basé sur des conteneurs pour permettre l'intégration de composants mobiles dans les plateformes de formation en sécurité.

Voir le dépôt
187254il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Dockerized Android

Dockerized Android est un framework basé sur des conteneurs qui permet d'exécuter un émulateur Android dans Docker et de le contrôler via un navigateur. Ce projet a été développé pour fournir un point de départ pour intégrer des composants de sécurité mobile dans des Cyber Ranges, mais il peut être utilisé à n'importe quelle fin. Quoi qu'il en soit, pour les besoins de développement et de test, le projet suggéré est docker-android.

Docker Maintenance Documentation License: MIT

Table of contents

  • Table of contents
  • Introduction
  • Features
  • Architecture
    • Core Component
    • UI Component
    • Instance Manager Component
  • List of Docker images
  • How to run
    • Prerequisites
    • OS compatibility
    • OS X Workaround for Real Device
    • Run
    • Build
  • Configuration
  • License
  • Who talks about Dockerized Android
  • Credits

Introduction

Comme indiqué dans la brève description ci-dessus, ce projet a été créé pour fournir un point de départ pour l'introduction de composants de sécurité mobile dans les Cyber Ranges. Pour cette raison, les fonctionnalités déjà développées et celles qui seront ajoutées à l'avenir aideront l'utilisateur à configurer plus facilement une simulation réaliste (par exemple pour la formation à la sécurité). Ce README est assez long, vous voudrez peut-être passer directement à la partie "How to run".

Features

Les fonctionnalités suivantes sont actuellement disponibles :

  • Exécuter un émulateur Android dans Docker
  • Contrôler l'appareil via le navigateur web
  • Installer des applications
  • Activer le transfert de port
  • Redémarrer l'appareil
  • Émuler des SMS
  • Utiliser le terminal depuis le navigateur web
  • Connecter également un appareil physique
  • Personnaliser le comportement au démarrage (voir section Configuration)
  • Gérer facilement plusieurs instances
Configuration initialeConfiguration du gestionnaire d'instancesConfiguration manuelle
initial-setupinstance-manager-setupmanual-setup
Fonctionnalités de la boîte à outilsChangement d'instance
toolboxinstance-switch

Architecture

Le projet est composé de trois éléments principaux :

  • Core Dockerized Android
  • UI Dockerized Android
  • Instance Manager Dockerized Android (optionnel) La figure suivante donne un aperçu de l'architecture réelle des deux composants obligatoires :

Core Component

Le composant Core est celui qui exécute tous les processus nécessaires au fonctionnement d'un composant Android (émulé ou réel) dans un conteneur Docker, tout en exposant certaines fonctionnalités à l'extérieur. C'est sans aucun doute la partie la plus complexe car elle doit gérer différents processus afin de fournir un ensemble de fonctionnalités. La figure ci-dessus montre une distinction claire entre les processus de longue durée, les processus de démarrage et les scripts utilitaires. De plus, cette figure montre qu'il y a 6 processus de longue durée, ce qui est une légère inexactitude ajoutée pour donner une vue d'ensemble du composant Core ; en réalité, il existe deux variantes différentes du composant Core :

  • Core pour émulateur
  • Core pour appareil réel

La principale différence architecturale concerne les processus de longue durée : le Core pour émulateur exécute le processus de longue durée emulator tandis que le Core pour appareil réel exécute le processus de longue durée scrcpy pour afficher et contrôler l'appareil physique. Les autres parties sont assez similaires, avec seulement une logique différente pour suivre un comportement différent selon le type du composant Core.

UI Component

Le composant UI fournit un moyen simple d'utiliser toutes les fonctionnalités exposées par le backend et ajoute également la possibilité d'afficher et de contrôler l'appareil. L'utilisateur doit insérer manuellement l'adresse du composant Core et les ports correspondants (le port exposé par le backend et le port exposé par websockify) ; grâce à cette configuration manuelle, il est possible de modifier les ports par défaut (qui sont 4242 pour le backend et 6080 pour websockify).

Instance Manager Component

Le composant Instance Manager a pour tâche de fournir toutes les informations (c'est-à-dire les adresses et les ports) sur les Cores en cours d'exécution via une seule API REST. Cela se fait en écrivant un simple fichier de configuration JSON qui contient toutes les informations sur les Cores présents dans le docker-compose afin d'éviter le travail pénible de les ajouter un par un manuellement. La structure du fichier de configuration JSON est la suivante :

root@kitploit:~
{
    "instances": [
        {
            "name": [Chaîne générique pour identifier l'appareil],
            "address": [Adresse du composant],
            "core_port": [Port du backend],
            "vnc_port": [Port VNC]
        }
    ]
}

List of Docker images

L'image secsi/dockerized-android-core-bare ne télécharge aucune image système et vous pouvez monter le dossier de votre machine hôte où se trouvent tous les dossiers du SDK.

How to run

Pour voir un exemple complet d'exécution de la plateforme, vous pouvez consulter le fichier docker-compose disponible dans le répertoire examples. Ce répertoire contient trois configurations différentes :

  • docker-compose-core : configuration avec un core pour un appareil réel ;
  • docker-compose-emulator : configuration avec un core pour un émulateur ;
  • docker-compose-instance-manager : configuration avec deux cores différents et le composant optionnel Instance Manager.

Une fois que vous avez compris comment cela fonctionne, vous pouvez le modifier pour répondre à tous vos besoins.

Prerequisites

Docker et Docker Compose doivent être installés sur votre machine.

OS compatibility

Cette plateforme se comporte différemment selon le système d'exploitation hôte. Voici un tableau récapitulatif de la compatibilité actuelle :

LinuxWindowsOS X
Core pour émulateurCompatibilité totaleNon supporté (pour le moment)Non supporté
Core pour appareil réelCompatibilité totaleCompatibilité totaleSolution de contournement

Pour Windows et OS X, vous devez utiliser une machine virtuelle Linux avec virtualisation imbriquée.

Pour vérifier si votre machine Linux prend en charge la virtualisation imbriquée, vous pouvez exécuter les commandes suivantes :

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

OS X Workaround for Real Device

Pour utiliser le Core pour appareil réel sur OS X, vous pouvez :

  • Utiliser l'adb de l'hôte
  • Utiliser une connexion sans fil

Pour la connexion sans fil, Google fournit un tutoriel simple. Pour vous connecter à l'adb hôte depuis le conteneur, vous devez entrer manuellement dans le conteneur et exécuter :

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

Run

Les commandes pour commencer à utiliser le framework sont les suivantes :

  1. Tout d'abord, choisissez une configuration dans le dossier examples. Par exemple :
root@kitploit:~
cp ./examples/docker-compose-core.yml docker-compose.yml
  1. Exécutez avec docker-compose :
root@kitploit:~
docker-compose up

Plus simplement, vous pouvez également utiliser la commande :

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

Il ne reste plus qu'à naviguer dans un navigateur à l'adresse suivante http://127.0.0.1:8080 et à configurer la configuration actuelle :

Si l'Instance Manager n'a pas été utilisé, cliquez sur Manual Setup et entrez les informations suivantes :

  1. Un nom de votre choix pour l'instance ;
  2. L'adresse IP du composant core déclaré dans docker-compose ;
  3. Le numéro de port du core (4242 par défaut) ;
  4. Le numéro de port VNC (6080 par défaut).

Si l'Instance Manager est utilisé, cliquez sur "Instance Manager" et entrez simplement l'adresse IP et son numéro de port (par exemple, 193.21.1.100:7373).

Voilà ! Vous pouvez utiliser le framework depuis le navigateur.

Build

Vous pouvez également construire les images vous-même grâce aux scripts placés dans le dossier utils.

Configuration

Vous pouvez configurer certaines fonctionnalités pour personnaliser la configuration à l'aide de variables d'environnement. Le tableau suivant en donne la liste complète :

La variable REAL_DEVICE_SERIAL est fondamentale s'il y a plus d'un appareil physique connecté, car si elle est absente, rien ne fonctionnera.

Enfin, voici la liste des ports exposés par chaque composant :

License

Dockerized Android est un logiciel open-source et gratuit publié sous la licence MIT.

Who talks about 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

Citation

Si vous trouvez ce code utile dans vos recherches, veuillez envisager de citer notre article :

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})}
}

Credits

Ce projet représente notre mémoire de thèse de Master en Génie Informatique à l'Université Federico II de Naples. Un remerciement spécial au Professeur Simon Pietro Romano et à l'Ingénieur Francesco Caturano, sources d'inspiration pour ce travail.

Télécharger l’outil
Version AndroidAPIImage
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
ComposantNom ENVValeur par défautDescription
CoreTARGET_PORT6080Port de Websockify
CoreCUSTOM_APP_DEFAULT_PORT4242Port du backend Node.js
CoreDEVICEINFONon défini, mais se comporte comme trueActive/Désactive la fonction d'information sur l'appareil
CoreTERMINALNon défini, mais se comporte comme trueActive/Désactive la fonction terminal
CoreAPKNon défini, mais se comporte comme trueActive/Désactive la fonction d'installation d'APK
CoreFORWARDNon défini, mais se comporte comme trueActive/Désactive la fonction de transfert de port
CoreSMSNon défini, mais se comporte comme trueActive/Désactive la fonction d'émulation de SMS
CoreREBOOTNon défini, mais se comporte comme trueActive/Désactive la fonction de redémarrage
CoreINSTALL_ON_STARTUPfalseActive/Désactive la fonction qui permet d'installer tous les apks placés dans le dossier /root/dockerized-android/apk
CoreENABLE_UNKNOWN_SOURCESfalseActive l'installation depuis des sources inconnues
CoreREAL_DEVICE_SERIALnon définiSi plusieurs appareils physiques sont connectés, cette valeur doit être définie sur le numéro de série de l'appareil à contrôler, sinon toutes les autres fonctionnalités ne fonctionneront pas
Instance ManagerDEFAULT_PORT7373Port de l'API REST
ComposantPort #Description
Core5555Port ADB
Core4242Backend Node.js
Core6080Websockify (pour noVNC)
UI80Frontend
Instance Manager7373API REST