Honeypot: ADBHoney

Februar 29, 2024 Lesezeit: 6 Minuten

Honeypot System ADB-Honey auf vizoo.de

Honeypot System ADB-Honey

ADB-Honey ist ein spezieller Typ eines Honeypots, der entwickelt wurde, um Angreifer in Android-Umgebungen zu locken und zu überwachen. Der Name "ADB-Honey" bezieht sich auf das Android Debug Bridge (ADB), ein Entwicklungs- und Debugging-Tool, das auf Android-Geräten verwendet wird. Hier ist eine Erläuterung, wie ADB-Honey funktioniert:

1. **Anziehung:** ADB-Honey simuliert eine Android-Umgebung, die für Angreifer attraktiv ist. Dies kann beispielsweise eine emulierte Android-Umgebung sein, die über ADB erreichbar ist. Angreifer könnten diese Umgebung als potenzielles Ziel betrachten, um Schwachstellen auszunutzen oder unerlaubten Zugriff zu erlangen.

2. **Tarnung:** ADB-Honey ist so konzipiert, dass es wie eine echte Android-Umgebung aussieht. Es kann eine Vielzahl von Android-Versionen, Gerätemodellen und Konfigurationen simulieren, um realistisch zu wirken und Angreifer zu täuschen.

3. **Überwachung:** Sobald ein Angreifer auf ADB-Honey zugreift oder versucht, darüber zuzugreifen, zeichnet das System alle Aktivitäten auf. Dies kann beinhalten, welche Befehle der Angreifer ausführt, welche Dateien er manipuliert oder welche Schwachstellen er ausnutzen möchte. Diese Daten können dann von Sicherheitsexperten analysiert werden, um Angriffsmuster zu erkennen und Sicherheitsmaßnahmen zu verbessern.

4. **Erkenntnisgewinn:** ADB-Honey dient dazu, Einblicke in die Methoden und Techniken von Angreifern in Android-Umgebungen zu gewinnen. Durch die Analyse der Aktivitäten von Angreifern können Sicherheitsteams Schwachstellen identifizieren, potenzielle Bedrohungen verstehen und geeignete Gegenmaßnahmen entwickeln.

5. **Forschung und Entwicklung:** ADB-Honey wird oft für Forschungszwecke und zur Entwicklung von Sicherheitslösungen eingesetzt. Es ermöglicht es Sicherheitsforschern, neue Angriffsmethoden zu studieren, Schwachstellen zu testen und innovative Abwehrmaßnahmen zu erforschen.

Insgesamt bietet ADB-Honey eine effektive Möglichkeit, Angreifer in Android-Umgebungen zu locken, zu überwachen und zu analysieren, um die Sicherheit von Android-Geräten und -Anwendungen zu verbessern.

Was ist das?

Die Android Debug Bridge (ADB) ist ein Protokoll, das entwickelt wurde, um sowohl emulierte als auch echte Telefone/TVs/DVRs, die mit einem bestimmten Host verbunden sind, zu verfolgen. Es implementiert verschiedene Befehle, die dem Entwickler (adb shell, adb push usw.) beim Debuggen und beim Übertragen von Inhalten auf das Gerät helfen sollen. Dies geschieht normalerweise über ein angeschlossenes USB-Kabel, mit ausreichenden Mechanismen zur Authentifizierung und zum Schutz. Es stellt sich jedoch heraus, dass durch einen einfachen adb-Befehl (adb tcpip <Port>), der an eine bereits hergestellte Verbindung gesendet wird (zum Beispiel über USB), Sie Ihr Gerät dazu bringen können, seine ADB-Dienste über den Port 5555 freizugeben. Anschließend können Sie mit einem einfachen adb connect <IP>:<Port> eine Verbindung zu Ihrem Gerät über TCP herstellen. Im Gegensatz zum USB-Protokoll hat das TCP-Protokoll jedoch keine Art von Authentifizierung und macht das Gerät anfällig für alle Arten von Angriffen. Zwei davon sind wie folgt:

adb shell <Shell-Befehl> - ermöglicht einem Entwickler das Ausführen aller Arten von Befehlen auf dem verbundenen Gerät, wie ls, wget und viele andere.

adb push <Lokale Datei> <Entferntes Ziel> - ermöglicht einem Entwickler das Hochladen von Binärdateien von seinem eigenen Computer auf das verbundene Android-Gerät.

Zusammen können diese beiden API-Aufrufe die vollständige Kontrolle über das Gerät (berechtigt oder nicht) ermöglichen, solange der Port über das Internet freigegeben ist.

Das Ziel dieses Projekts ist es, einen Honeypot mit geringer Interaktion bereitzustellen, der dazu entwickelt wurde, jegliche Malware abzufangen, die von Angreifern an ahnungslose Opfer geschoben wird, die den Port 5555 freigegeben haben.

Was funktioniert?

Derzeit können Sie sich damit adb connect, adb push und adb shell verbinden. Alle Daten werden auf stdout umgeleitet und Dateien werden auf der Festplatte gespeichert. Die CPU-/Speicherauslastung sollte ziemlich gering sein, alle Abweichungen sollten gemeldet werden, damit sie untersucht werden können.

Antworten auf Shell-Befehle können einfach hinzugefügt werden, indem die Datei responses.py bearbeitet wird. Derzeit gibt nur der adb shell ls einen eindeutigen Antwort zurück. Alle anderen Befehle werden mit Befehl nicht gefunden antworten.

Was funktioniert nicht?

Fortgeschrittenere Befehle (wie native Verzeichnisaufzählung und ein interaktiver Shell) funktionieren nicht. Der Hauptgrund dafür ist, dass ich keine Art von Malware gefunden habe, die von solchen Mechanismen profitieren würde. Ich musste auch den Protokollfluss von Hand umgekehrt entwickeln, also stellen Sie bitte auch eine .pcap-Datei zur Verfügung, wenn Sie ein Problem melden, damit ich es überprüfen kann (oder SEHR genaue Schritte zur Reproduktion).

Was ist die Android Debug Bridge

Die Android Debug Bridge (ADB) ist ein vielseitiges Befehlszeilenwerkzeug, das als Teil des Android-Softwareentwicklungskits (SDK) bereitgestellt wird. Es ermöglicht die Kommunikation zwischen einem Computer und einem Android-Gerät über eine USB-Verbindung, eine drahtlose Verbindung (falls aktiviert) oder über das lokale Netzwerk.

Mit ADB kannst du verschiedene Aufgaben ausführen:

1. **Dateiübertragung**: Du kannst Dateien zwischen dem Computer und dem Android-Gerät übertragen. Dies ist nützlich für die Installation von Apps oder das Verschieben von Dateien wie Fotos und Videos.

2. **App-Installation und -Deinstallation**: Du kannst Android-Apps (im APK-Format) auf dem Gerät installieren oder deinstallieren, ohne den Google Play Store zu verwenden.

3. **Debugging**: ADB bietet Entwicklern eine Möglichkeit, Fehlermeldungen, Protokolle und Debugging-Informationen von einem Android-Gerät abzurufen. Dies ist besonders nützlich während des Entwicklungsprozesses von Apps.

4. **Shell-Zugriff**: Du kannst eine interaktive Shell auf dem Android-Gerät öffnen, die es dir ermöglicht, Befehle direkt auf dem Gerät auszuführen. Dies kann hilfreich sein, um bestimmte Aufgaben auszuführen oder Informationen über das Gerät abzurufen.

5. **Portweiterleitung**: ADB ermöglicht die Weiterleitung von Ports zwischen dem Computer und dem Android-Gerät. Dies ist nützlich, um beispielsweise eine Verbindung zu einem lokalen Entwicklungsserver auf dem Computer von einer Android-App herzustellen.

Insgesamt ist die Android Debug Bridge ein äußerst nützliches Werkzeug für Entwickler und Fortgeschrittene, um die Interaktion mit Android-Geräten zu erleichtern und zu automatisieren.

GitHub ADBHoney