Kerentanan kritis ditemukan dalam Windows DNS Server yang sudah ada selama hampir dua dekade dan dapat dieksploitasi untuk mendapatkan hak istimewa Administrator Domain juga membahayakan seluruh infrastruktur penggunanya.
Kerentanan tersebut dilacak sebagai CVE-2020-1350 dan diberi julukan SIGRed. Ini merupakan kerentanan remote-code-execution yang mempengaruhi Windows Server versi 2003 hingga 2019 dan diberi skor tingkat keparahan tertinggi 10 dari 10.
Kerentanan ini wormable, artinya eksploitasi dapat menyebar secara otomatis ke mesin yang rentan di jaringan tanpa interaksi pengguna. Karakteristik ini menempatkannya dalam kategori risiko yang sama dengan EternalBlue di Server Message Block (SMB) dan BlueKeep di Remote Desktop Protocol (RDP).
Paket DNS Berbahaya
Domain Name Server (DNS) adalah buku telepon internet, memungkinkan klien untuk terhubung ke server untuk mengakses sumber daya. Ini adalah model yang memetakan nama domain ke alamat IP untuk memungkinkan koneksi ke server yang benar.
Para peneliti di Check Point menemukan kesalahan dalam implementasi DNS Microsoft yang dapat dieksploitasi ketika server mem-parsing permintaan masuk atau respons untuk permintaan terusan.
Mereka menemukan integer overflow yang mengarah ke heap-based buffer overflow di “dns.exe!SigWireRead,” fungsi yang mem-parsing tipe respons untuk kueri SIG.
“Singkatnya, dengan mengirimkan respons DNS yang berisi catatan SIG besar (lebih besar dari 64KB), kita dapat menyebabkan heap-based buffer overflow yang terkontrol sekitar 64KB di atas buffer yang dialokasikan kecil,” kata Check Point.
Dalam sebuah posting blog teknis yang diterbitkan, para peneliti merinci bagaimana mereka dapat mengeksploitasi kerentanan dalam server DNS target.
Para peneliti menemukan bahwa penyerang yang mengeksploitasi SIGRed tidaklah harus berada di jaringan yang sama dengan server DNS target, karena data DNS dapat dibawa melalui koneksi TCP yang mana didukung oleh DNS Windows.
Dengan demikian, server target akan mem-parsing data sebagai permintaan DNS bahkan jika itu dikemas sebagai payload HTTP.
Kerentanan sudah ada selama 17 tahun
Kerentanan telah ada dalam kode Microsoft selama lebih dari 17 tahun. Omri Herscovici, Ketua Tim Peneliti Kerentanan di Check Point, mengatakan bahwa dari hal itu kita bisa beranggapan bahwa ada pihak lain yang mungkin juga sudah menemukannya.
Ini adalah insentif yang cukup untuk organisasi besar dan kecil agar memprioritaskan penerapan perbaikan yang dirilis Microsoft baru-baru ini untuk SIGRed.
Bagi yang tidak dapat menerapkan penerbaikan dengan segera, Microsoft merekomendasikan untuk memodifikasi registri agar bisa mengurangi masalah. Perubahan akan mulai berlaku setelah me-restart layanan DNS:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters DWORD = TcpReceivePacketSize Value = 0xFF00
Setelah menerapkan perbaikan, administrator harus mengembalikan perubahan ke keadaan semula dengan menghapus value TcpReceivePacketSize beserta datanya.