Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
AudioServer-Voip-Recorder — 🔬 Ein fortschrittliches Android-Forschungstool für die Echtzeit-Erfassung von VoIP-Audio (Uplink/Downlink) durch dynamisches Hooking von libaudioflinger.so. Getestet und entwickelt auf WhatsApp, Signal und Telegram unter Android 14. | Kitploit
Tools/GitHubGitHub/nighthawkk/audioserver-voip-recorder
Android-SicherheitReverse EngineeringMobile Sicherheit
GitHubnighthawkk/audioserver-voip-recorder

AudioServer-Voip-Recorder

🔬 Ein fortschrittliches Android-Forschungstool für die Echtzeit-Erfassung von VoIP-Audio (Uplink/Downlink) durch dynamisches Hooking von libaudioflinger.so. Getestet und entwickelt auf WhatsApp, Signal und Telegram unter Android 14.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
3199vor 1 MonatNoch nicht geprüft

Ziel: Demonstrieren der VoIP-Stream-Erfassung durch Hooking des Android-audioserver (insbesondere libaudioflinger.so) und Aufzeichnen der Uplink- (Mikrofon) und Downlink- (Lautsprecher) PCM-Puffer, wenn sich das System im Kommunikationsmodus befindet.

Projektdesign & Methodik

Architektur:

  • Controller App (Android)
    UI mit 9 Schaltflächen zur Verwaltung der SELINUX-Richtlinieneinrichtung, Payload-Injektion, Datenübertragung und Wiedergabe.

  • Payload (libaudiohook.so)
    C++-Shared-Library (als Teil des App-Projekts erstellt), die interne AudioFlinger-Methoden mit Dobby hookt und rohe PCM-Puffer in ein Sitzungsverzeichnis schreibt.

  • Post-Processing
    Zusätzliches Tool, tools/audioparser.py konvertiert rohe .ac(Downlink)/.bc(Uplink)-Dateien in WAV. Der Dateimanager der App kann ebenfalls konvertieren und in der App abspielen.

  • Research Utilities
    Frida-Skripte für anfängliches Funktionstracing & Offset-Ermittlung; Analysedateien für Symbol/Offset und andere Snippets.

Controller App

Diese Android-Anwendung bietet eine grafische Oberfläche zur Verwaltung der VoIP-Aufzeichnung über den audioserver. Sie integriert einen nativen Payload, der in den Android-Audiostack eingreift, um Mikrofon- und Lautsprecheraudio von VoIP-Anwendungen zu erfassen.

Die App dient als Kontrollzentrum, mit dem Sie erforderliche SELinux-Richtlinien injizieren, die Überwachung starten/stoppen, aufgezeichnete Daten verwalten und erfasste VoIP-Audiodateien abspielen können.

Funktionen

Die Hauptaktivität enthält 9 Steuerschaltflächen:

  1. Inject Policies
    Injiziert die erforderlichen SELinux-Richtlinien, damit audioserver und diese App zusammenarbeiten können.

  2. Start Monitoring
    Injiziert den Shared-Library-Payload in audioserver und ermöglicht so die VoIP-Audioerfassung durch Hooking von RecordTrack und PlaybackTrack. Verwendet AndKittyInjector für die Prozessinjektion.

  3. Stop Monitoring
    Startet den audioserver-Prozess neu, stoppt die Überwachung und entfernt injizierte Hooks.

  4. Copy Data
    Kopiert erfasstes rohes PCM-Audio aus dem temporären Verzeichnis /data/local/tmp/voip nach /sdcard/voip.

    • Räumt anschließend das temporäre Verzeichnis auf.
  5. View Logs
    Zeigt Protokolle zu Injektion, Hooking und Aufzeichnungsstatus an.

  6. Enable SELinux
    Stellt den SELinux-Enforcing-Modus wieder her.

  7. Disable SELinux
    Setzt SELinux in den permissiven Modus. Verwenden, wenn injizierte Richtlinien fehlschlagen.

  8. Play Audios
    Öffnet den benutzerdefinierten VoIP-Dateimanager (/sdcard/voip/):

    • Konvertiert rohe PCM-Dateien im Speicher in das WAV-Format.
    • Spielt das konvertierte Audio direkt in der App ab.
  9. Delete Data
    Löscht alle Audiodaten aus /data/local/tmp/voip und /sdcard/voip. HINWEIS: Nach dem Löschen der Daten müssen wir erneut in audioserver injizieren, damit das Verzeichnis zum Speichern von Daten erstellt wird.

+----------------------+    
|                      |    
|   App MainActivity   |    
|                      |    
|                      |    
|(9 Control Buttons UI)|    
|                      |    
|                      |    
+----------+-----------+    
           |                
           |                
           |                
+----------v-----------+    
|                      |    
|       JNI Layer      |    
|                      |    
| Selinux, Process Inje|    
| ction,               |    
|                      |    
|                      |    
+----------------------+    

Hooking-Payload

Diese Shared Library wird in audioserver injiziert, um AUDIO_MODE_IN_COMMUNICATION zu erkennen und VoIP-Audiostreams direkt aus dem Android-Audiostack für eine vordefinierte Menge von Paketnamen zu erfassen.

Sie verwendet das Dobby Inline-Hooking-Framework, um kritische Methoden in libaudioflinger.so abzufangen.
Sowohl Uplink- (Mikrofon) als auch Downlink- (Lautsprecher) Audiostreams werden erfasst und zur späteren Verarbeitung in Sitzungsdateien geschrieben.

Hooking-Punkte

Die Bibliothek installiert Hooks auf den folgenden Funktionen in AudioFlinger und zugehörigen Klassen:

FunctionPurpose
AudioFlinger::setModeVerfolgt Übergänge in den/aus dem IN_COMMUNICATION-Modus (VoIP aktiv).
RecordTrack::getNextBufferErfasst Mikrofon- (Uplink-) Audioframes.
PlaybackThread::Track::getNextBufferErfasst Lautsprecher- (Downlink-) Audioframes.
Track::stopSchließt und finalisiert die Downlink-Datei.
RecordTrack::stopSchließt und finalisiert die Uplink-Datei.

Zielanwendungen

Die Bibliothek filtert Streams basierend auf der UID → Paket-Zuordnung.

Derzeit überwachte Apps:

  • com.whatsapp
  • com.whatsapp.w4b (WhatsApp Business)
  • org.thoughtcrime.securesms (Signal)
  • org.telegram.messenger
  • org.telegram.messenger.web

Sie können andere Anwendungen auch in audioserver_hook.cpp hinzufügen:

static const char* kTargetPackages[] = {  
    "com.whatsapp",  
    "com.whatsapp.w4b",  
    "org.thoughtcrime.securesms",  
    "org.telegram.messenger",  
    "org.telegram.messenger.web"  
};

Dateiausgabe

  • Ein Sitzungsverzeichnis wird bei der Injektion in audioserver unter folgendem Pfad erstellt: /data/local/tmp/voip/audioserver_session_<timestamp>/

  • Dateien werden zunächst mit einer .tmp-Erweiterung erstellt und beim Stoppen des Tracks umbenannt:

    • Uplink (Mikrofon) → <packageName>_<sampleRate>_<timestamp>.bc
    • Downlink (Lautsprecher) → <packageName>_<sampleRate>_<timestamp>.ac
  • Beispielsitzung:

	/data/local/tmp/voip/audioserver_session_1725389200/
	├── com.whatsapp_48000_1725389201_123456.ac
	├── com.whatsapp_48000_1725389201_123789.bc
	

Offsets

Da die Ziellibrary gestrippt ist und Methoden in libaudioflinger.so nicht exportiert werden, benötigen wir exakte Offsets der Methoden und anderer zugehöriger Komponenten für erfolgreiches Hooking.

Wir können diese Offsets aus der statischen Analyse mit IDA-PRO oder aus der dynamischen Analyse mit Frida extrahieren. Sobald die Offsets bekannt sind, können wir sie in der Headerdatei offsets.h ersetzen.

Erforderliche Offsets:
Methoden:
Tool herunterladen