Kerentanan ditemukan yang memungkinkan pembajakan koneksi VPN

Retas VNP Linux

Beberapa hari yang lalu itu dirilis teknik serangan (CVE-2019-14899), yang Memungkinkan Anda mengganti, mengubah, atau mengganti paket pada koneksi TCP yang diteruskan melalui terowongan VPN. Masalah Ini mempengaruhi Linux, FreeBSD, OpenBSD, Android, macOS, iOS, dan sistem mirip Unix lainnya.

Metode ini memungkinkan substitusi paket pada tingkat koneksi TCP yang melewati di dalam terowongan terenkripsi, tetapi tidak mengizinkan koneksi dalam koneksi menggunakan lapisan enkripsi tambahan (misalnya, TLS, HTTPS, SSH). Algoritme enkripsi yang digunakan dalam VPN tidak menjadi masalah, karena paket palsu berasal dari antarmuka eksternal, tetapi kernel memprosesnya sebagai paket dari antarmuka VPN.

Target serangan yang paling mungkin adalah mengganggu koneksi HTTP yang tidak terenkripsi, tetapi penggunaan serangan untuk memanipulasi respons DNS tidak dikecualikan.

Penggantian paket yang sukses telah terbukti untuk terowongan dibuat dengan OpenVPN, WireGuard dan IKEv2 / IPSec.Tor. Itu tidak terpengaruh oleh masalah karena menggunakan SOCKS untuk meneruskan lalu lintas dan bergabung dengan antarmuka loopback.

Untuk IPv4, serangan mungkin terjadi jika rp_filter dimasukkan ke mode Longgar. Mekanisme rp_filter digunakan sebagai tambahan untuk memverifikasi rute paket untuk menghindari spoofing alamat sumber.

  • Jika disetel ke 0, alamat sumber tidak diverifikasi dan paket apa pun dapat dialihkan antar antarmuka jaringan tanpa batasan.
  • Mode 1 "Strict" mencakup verifikasi bahwa setiap paket yang datang dari luar mematuhi tabel routing, dan jika antarmuka jaringan yang digunakan untuk menerima paket tidak terhubung ke jalur pengiriman respons yang optimal, paket tersebut akan dibuang.
  • Mode 2 "Longgar" memperlancar pengujian untuk memungkinkan operasi saat menggunakan penyeimbang beban atau perutean asimetris, di mana jalur respons mungkin tidak melalui antarmuka jaringan tempat paket masuk tiba.

Dalam mode "Longgar", dicek bahwa paket masuk sesuai dengan tabel routing, tetapi dianggap valid jika alamat sumber dapat diakses melalui antarmuka jaringan apa pun yang tersedia.

Untuk melakukan serangan:

Pertama gateway tempat pengguna masuk harus dikontrol ke jaringan (misalnya, melalui organisasi MITM, saat korban terhubung ke titik akses nirkabel yang dikendalikan oleh penyerang atau melalui perute yang diretas).

Dengan mengontrol pintu tautan di mana pengguna terhubung ke jaringan, penyerang dapat mengirim paket dummy Mereka akan dilihat dalam konteks antarmuka jaringan VPN, tetapi tanggapannya akan dikirim melalui terowongan.

Saat membuat aliran paket dummy di mana alamat IP dari antarmuka VPN diganti, upaya dilakukan untuk mempengaruhi koneksi yang dibuat oleh kliene, tetapi pengaruh paket-paket ini hanya dapat diamati melalui analisis pasif dari arus lalu lintas terenkripsi yang terkait dengan pengoperasian terowongan.

Untuk melakukan serangan, Anda perlu mengetahui alamat IP dari antarmuka jaringan terowongan yang ditetapkan oleh server VPN dan juga menentukan bahwa sambungan ke host tertentu saat ini aktif melalui terowongan.

Untuk menentukan IP dari antarmuka VPN jaringan virtual, paket dikirim ke paket SYN-ACK dari sistem korban, mengurutkan seluruh rentang alamat virtual secara berurutan.

Demikian pula, keberadaan koneksi ke situs tertentu ditentukan dan nomor port di sisi klien: memesan nomor port ke pengguna, paket SYN dikirim sebagai alamat sumber di mana IP situs diganti, dan alamat tujuan adalah IP VPN virtual.

Port server dapat diprediksi (80 untuk HTTP), dan nomor port di sisi klien dapat dihitung dengan brute force, menganalisis untuk nomor yang berbeda perubahan intensitas respons ACK dalam kombinasi dengan tidak adanya paket dengan bendera RST.

Pada tahap ini, penyerang mengetahui empat elemen koneksi (alamat / port IP sumber dan alamat / port IP tujuan), tetapi untuk menghasilkan paket tiruan yang akan diterima oleh sistem korban, penyerang harus menentukan urutan dan nomor pengenalan (seq dan ack) koneksi TCP.

Larutan.

Terakhir untuk perlindungan saat menggunakan terowongan dengan alamat IPv4, itu cukup untuk membangun rp_filter dalam mode "Strict"

sysctl net.ipv4.conf.all.rp_filter = 1

Di sisi VPN, metode penentuan nomor urut dapat diblokir dengan menambahkan bantalan ekstra ke paket terenkripsi, membuat ukuran semua paket menjadi sama.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Gambar placeholder Fernando Tlatilolpa dijo

    Kontribusi keamanan yang sangat baik, terutama di saat-saat ini ketika serangan keamanan meningkat. Terima kasih dan salam.