Slipstreaming NAT, serangan bypass memberikan akses ke layanan TCP / UDP apa pun

Samy Kamkar (seorang peneliti keamanan terkenal yang dikenal karena menciptakan beberapa perangkat serangan canggih, seperti keylogger di pengisi daya telepon USB) telah memperkenalkan teknik serangan baru yang disebut "NAT slipstreaming".

Serangan ini memungkinkan, saat membuka halaman web di browser, untuk membuat koneksi dari server penyerang ke port UDP atau TCP apa pun pada sistem pengguna yang terletak di belakang penerjemah alamat. Perangkat serangan tersebut dipublikasikan di GitHub.

Metode ini bergantung pada upaya mengelabui mekanisme pelacakan koneksi ALG (Application Level Gateway) pada penerjemah alamat atau firewall, yang digunakan untuk mengatur penerusan NAT dari protokol yang menggunakan beberapa port jaringan (satu untuk data dan satu untuk kontrol), seperti SIP, H323, IRC DCC, dan FTP.

Serangan ini dapat diterapkan pada pengguna yang terhubung ke jaringan menggunakan alamat internal dalam rentang intranet (192.168.xx, 10.xxx) dan memungkinkan pengiriman data apa pun ke port mana pun (tanpa header HTTP).

Untuk melakukan serangan, cukup bagi korban untuk mengeksekusi kode JavaScript yang telah disiapkan oleh penyerang , misalnya, dengan membuka halaman di situs web penyerang atau melihat iklan berbahaya di situs web yang sah.

Pada tahap pertama, penyerang memperoleh informasi tentang alamat internal pengguna, yang dapat ditentukan oleh WebRTC atau, jika WebRTC dinonaktifkan, dengan serangan brute-force dengan waktu respons terukur saat meminta gambar tersembunyi (untuk host yang ada, upaya untuk meminta gambar lebih cepat daripada untuk host yang tidak ada karena waktu tunggu sebelum mengembalikan respons TCP RST).

Pada tahap kedua, kode JavaScript yang dieksekusi di browser korban menghasilkan permintaan HTTP POST yang besar (tidak muat dalam satu paket) ke server penyerang menggunakan nomor port jaringan non-standar untuk memulai penyesuaian parameter fragmentasi TCP dan ukuran MTU di tumpukan TCP korban.

Sebagai respons, server penyerang mengembalikan paket TCP dengan opsi MSS (Maximum Segment Size), yang menentukan ukuran maksimum paket yang diterima. Dalam kasus UDP, manipulasinya serupa, tetapi bergantung pada pengiriman permintaan WebRTC TURN yang besar untuk memicu fragmentasi tingkat IP.

«NAT Slipstreaming mengeksploitasi browser pengguna dalam hubungannya dengan mekanisme pelacakan koneksi Application Level Gateway (ALG) yang dibangun ke dalam NAT, router, dan firewall dengan merangkai ekstraksi IP internal melalui serangan waktu atau WebRTC, penemuan fragmentasi IP jarak jauh otomatis dan MTU, TCP pemijatan ukuran paket, penyalahgunaan otentikasi TURN, kontrol yang tepat dari batas paket dan kebingungan protokol dari penyalahgunaan browser, "kata Kamkar dalam sebuah analisis.

Ide utamanya adalah , dengan mengetahui parameter fragmentasi, Anda dapat mengirimkan permintaan HTTP besar, yang bagian akhirnya akan masuk ke paket kedua . Pada saat yang sama, bagian akhir paket kedua yang masuk dipilih untuk mengecualikan header HTTP dan dipotong menjadi data yang sepenuhnya sesuai dengan protokol lain yang mendukung traversal NAT.

Pada tahap ketiga, menggunakan manipulasi di atas, kode JavaScript menghasilkan dan mengirimkan permintaan HTTP yang dipilih secara khusus (atau TURN untuk UDP) ke port TCP 5060 dari server penyerang, yang, setelah fragmentasi, akan dipecah menjadi dua paket: a paket dengan header HTTP dan bagian dari data dan paket SIP yang valid dengan IP internal korban.

Sistem pelacakan koneksi dalam tumpukan jaringan akan menganggap paket ini sebagai awal dari sesi SIP dan akan mengizinkan penerusan paket untuk port apa pun yang dipilih oleh penyerang, dengan asumsi bahwa port ini digunakan untuk transmisi data.

Serangan ini dapat dilakukan tanpa memandang peramban yang digunakan . Untuk mengatasi masalah ini, pengembang Mozilla menyarankan untuk memblokir kemampuan mengirim permintaan HTTP ke port jaringan 5060 dan 5061, yang terkait dengan protokol SIP.

Pengembang mesin Chromium, Blink, dan WebKit juga bermaksud menerapkan tindakan perlindungan serupa.

Sumber: https://samy.pl


Tambahkan sebagai sumber pilihan di Google