Kerentanan Windows IPv6, Pencarian CVE dan Hacking TSA



Kerentanan Windows IPv6, Pencarian CVE dan Hacking TSA - the picture via: hackaday - pibitek.biz - Plugin

the picture via: hackaday


336-280
TL;DR
  • Windows IPv6 memiliki kerentanan serius yang memungkinkan eksekusi kode jarak jauh.
  • Kerentanan ini dapat dieksploitasi dengan mengirimkan banyak data lalu lintas ke mesin target.
  • Perbaikan dilakukan oleh Microsoft, tetapi analisis oleh Marcus Hutchins membantu memahami kerentanan lebih baik.

pibitek.biz -Beberapa waktu lalu, Windows IPv6 mengalami kerentanan yang cukup serius. Sekarang, kita sudah memiliki jawaban tentang kerentanan tersebut dan sebuah Proof of Concept. Perbaikan yang dilakukan oleh Microsoft hanya berupa perubahan pada kode Ipv6pProcessOptions() di dalam driver TCP/IP Windows. Namun, perubahan ini tidaklah cukup jelas sehingga membuat analisis yang dilakukan oleh Marcus Hutchins menjadi sangat bermanfaat. Pertanyaan pertama yang harus dijawab adalah apa yang dimaksud dengan "list" tersebut.

Kode ini sebenarnya sedang menangani field opsi di dalam paket IPv6 yang masuk. Objek yang sedang dimanipulasi adalah sebuah daftar yang terhubung ke struktur paket. Daftar yang terhubung ini hampir selalu memiliki satu anggota saja. Ketika kita memanggil IppSendErrorList() pada daftar dengan satu anggota, maka fungsinya hampir sama dengan IppSendError() pada kode yang telah diperbaiki. Oleh karena itu, kerentanan pasti ada pada penanganan daftar dengan beberapa anggota. Bagaimana cara kita bisa mendapatkan daftar dengan beberapa anggota? Jawabannya adalah dengan mengirimkan banyak data lalu lintas ke mesin yang bersangkutan sehingga tidak dapat memproses paket satu per satu.

Untuk menangani lalu lintas yang banyak, Windows akan mengumpulkan paket masuk ke dalam daftar yang terhubung dan memprosesnya dalam bentuk batch. Apa yang terjadi selanjutnya? IppSendErrorList() menerima sebuah nilai boolean dan meneruskannya ke setiap panggilan IppSendError(). Kita tidak tahu apa nama variabel yang digunakan oleh Microsoft, tetapi Marcus menyebutnya "always_send_icmp" karena jika nilai ini diatur ke true, maka setiap paket yang diproses akan menghasilkan paket ICMP. Yang penting adalah bahwa IppSendError() dapat memiliki efek samping.

Ada sebuah kode yang membuat paket dipulihkan, dan pointer pemrosesan diatur kembali ke awal paket. Hal ini tidak menjadi masalah untuk paket pertama di dalam daftar, tetapi karena fungsi ini memproses kesalahan pada daftar paket secara keseluruhan, maka status paket lain di dalam daftar menjadi berbeda dari yang diharapkan. Kondisi yang tidak terduga ini dapat dieksploitasi lebih lanjut melalui fragmentasi paket IPv6. Dengan pengaturan yang hati-hati, perubahan status ini dapat menyebabkan underflow pada hitungan panjang dan mengakibatkan kerusakan struktur data.

Hal ini kemudian dapat menyebabkan eksekusi kode menjadi tidak terkendali dan akhirnya melakukan eksekusi kode ke dalam data paket. Inilah yang disebut dengan Remote Code Execution (RCE). Kabar baiknya adalah bahwa sampai sekarang masih sulit untuk melakukan serangan karena serangan ini bergantung pada teknik "packet coalescing" yang tidak dapat diprediksi untuk memicu kerentanan. Eddie Zhang ingin menemukan cara yang mudah untuk mencari CVE. Dia membangun sebuah rantai otomatis untuk menemukan kemungkinan kerentanan.

Ide ini sangat sederhana: unduh sebanyak mungkin plugin WordPress, jalankan Semgrep pada koleksi data tersebut, masukkan hasilnya ke dalam database SQL, dan teliti hasil yang paling menjanjikan. Dia memulai dengan menulis sebuah query SQL. Kerentanan yang menarik kemudian dipilih dan plugin yang berbeda dijalankan pada setup test bench untuk mencoba memicu kode yang rentan. Dan metode ini tidak terlalu buruk jika dilihat dari 14 CVE yang ditemukan dalam waktu 3 sore. RedTeam Pentesting mendapatkan kesempatan untuk memiliki hari yang menyenangkan dengan platform Moodle.

Moodle adalah solusi pembelajaran jarak jauh berbasis web yang ditulis dalam PHP. Untuk memahami bagaimana hal ini berjalan, logika pemberian nilai test ditulis dalam PHP dan dievaluasi pada saat proses pemberian nilai. Namun, tidak sepenuhnya buruk seperti yang terdengar. Ada proses sanitasi yang dilakukan, dan set karakter, simbol, dan fungsi yang digunakan sangat terbatas. PHP memiliki sistem tipe yang cukup unik. Sesuatu seperti acos(2), yaitu invers kosinus dari 2, menghasilkan hasil Nan (Bukan Angka).

Simbol titik (). Melakukan penggabungan string di PHP, dan jika kita menggabungkan ini, maka acos(2). Acos(2) menghasilkan string "NANNAN". Hal ini menjadi lebih menarik karena kita dapat melakukan manipulasi bitwise pada string ini dan akhirnya membuka huruf alfabet secara keseluruhan. Beberapa trik lain seperti fungsi variabel PHP, variabel variabel, dan distorsi bahasa lainnya. Akhirnya, kita dapat mencapai sistem() dan melarikan diri ke sistem. Ian Carroll dan Sam Curry membawa cerita yang tidak mengenakkan tentang hacking yang cerdas, penutupan, dan ketidakmampuan.

Serangan itu sendiri cukup sederhana, yaitu injeksi SQL pada sistem login. Masalahnya adalah bahwa login ini ada pada sistem keamanan maskapai resmi yang mengontrol akses kru dan keamanan kokpit. Ini tidak baik. Kabar baiknya adalah bahwa setelah dilaporkan, Departemen Keamanan Dalam Negeri dengan cepat mengamankan situs yang rentan. Namun, hal ini berubah menjadi lebih buruk ketika saatnya untuk dilaporkan. TSA mengeluarkan pernyataan yang tidak akurat tentang apa yang diperlukan untuk menggunakan sistem KCM.

Ian dan Sam mencoba untuk memperjelas tentang tingkat keparahan temuan mereka. Sebagai tanggapan, TSA diam-diam menghapus FAQ yang menjelaskan seberapa buruk kerentanan tersebut. Ini tidak terlihat baik. Untuk kebutuhan pengambilan data dan pemrosesan paket, Wireshark 4.4 sudah keluar. Di antara perbaikan yang biasa, ada dukungan VoIP yang lebih baik, beberapa protokol baru, dan beberapa penyesuaian IPv6 untuk memudahkan proses. Pernahkah kamu bertanya-tanya bagaimana cara melakukan sandboxing yang efektif di Linux? Hardened Linux memiliki jawabannya.

Ada beberapa hal yang cukup jelas seperti akses filesystem yang terbatas, tetapi mungkin lebih bermanfaat untuk membaca tentang seccomp untuk membatasi panggilan sistem yang tersedia untuk program yang di-sandbox. Ini memberikan gambaran tentang teknik individual, serta beberapa solusi all-in-one yang lebih populer seperti firejail, bubblewrap, dan landlock. Kelompok hacker yang dikenal sebagai Volt Typhoon, yang diyakini bekerja atas nama pemerintah China, telah mulai menggunakan kerentanan pada Versa Director untuk menyerang bisnis.

Versi 22.1.4 dari platform manajemen jaringan ini memperbaiki kerentanan yang memungkinkan file Java yang dapat dieksekusi menyamar sebagai file PNG dan diunggah ke platform. Dan akhirnya, salah satu cara yang lebih licik untuk tetap berada di sistem Linux adalah dengan menggunakan udev. Bagi penyerang, selalu menjadi tantangan untuk memastikan malware dijalankan saat setiap boot dan tidak menarik perhatian. Ada banyak tempat untuk menyembunyikan hook startup, tetapi cara ini membuat aturan udev untuk menjalankan skrip secara otomatis pada awal boot saat device /dev/random dibuat.