Dari komentar tentang Habré hingga kerentanan di Dr. Web

Baru-baru ini, sebuah artikel "Kata sandi styler di Avira Free Antivirus" oleh pengguna muncul di HabréVeliant... Penulis menemukan bahwa dalam pengiriman standar antivirus yang disebutkan ada komponen yang memungkinkan Anda untuk dengan mudah mengekstrak kata sandi dari penyimpanan browser Chrome.



Ada diskusi dalam komentar, apakah ini bisa dianggap kerentanan. Tetapi saya terpikat pada satu komentar oleh penulis:
Bisakah ini diimplementasikan, misalnya, dalam bentuk DLL, yang, ketika dipanggil oleh API-nya, akan memeriksa tanda tangan digital dari program panggilan?


Faktanya adalah bahwa sebelum itu, saya meneliti beberapa program yang mengandalkan verifikasi tanda tangan digital dengan cara yang sama. Dan pemeriksaan ini sangat mudah untuk dilakukan.





Tanda tangan digital dari suatu file hanya cocok dengan yang dapat dieksekusi itu sendiri, tetapi program yang sedang berjalan tidak hanya dapat dieksekusi. Ada beberapa cara untuk mempengaruhi operasi program tanpa mengubah file yang dapat dieksekusi: Anda dapat mengganti perpustakaan yang dimuat atau menyuntikkan kode langsung ke memori.



Saya melihat profil penulis: "Bekerja di: Web Dokter". Tetapi bagaimana jika Anda melihat untuk melihat apakah produk perusahaan ini menggunakan cek yang penulis bicarakan? Saya memutuskan untuk mencari dan, spoiler, menemukan kerentanan yang memungkinkan Anda untuk meningkatkan hak istimewa Anda ke pengguna sistem Dr.Web Security Space untuk Windows.



Badan intelijen



Saya tidak mengerti produk-produk Doctor Web, jadi saya mengambil yang pertama yang dapat saya unduh di situs web - itu adalah Dr.Web Security Space 12 untuk Windows. Pada pengaturan standar, produk ini memeriksa pembaruan setiap setengah jam. Dan kerentanan ditemukan dalam mekanisme pembaruan.



Di bawah ini saya menawarkan video operasi yang menggambarkan apa yang terjadi dalam video dengan referensi waktu. Juga akan ada deskripsi tentang apa sebenarnya kerentanan itu.



Video operasi





Demo berjalan pada Windows 10 x64 dari pengguna tanpa hak administrator.

0: 00-0: 12 menunjukkan melalui konsol Windows bahwa pengguna saat ini bukan seorang administrator

0: 12-0: 24 menunjukkan versi terinstal Dr.Web Security Space

0: 24-0: 29 file drweb_eop_upd_dll.dll terletak di folder di desktop (kode sumber dan file terlampir pada tiket)

0: 29-0: 34 Saya menunjukkan bahwa ada 3 file dalam folder C: \ ProgramData \ Doctor Web \ Updater \ dll

0: 34-0: 47 Saya menyalin perpustakaan drweb_eop_upd_dll.dll di folder on desktop dan satu salinan saya sebut version.dll, yang lain - cryptui.dll

0: 47-0: 56 Saya menyalin file C: \ Program Files \ Common Files \ Doctor Web \ Updater \ drwupsrv.exe ke folder di desktop, di sebelah dll. ...

0: 56-1: 00 jalankan file yang disalin



File yang dapat dieksekusi drwupsrv.exe dari folder di desktop memuat versi.dll yang terletak di dekatnya. Perpustakaan ini membuat file C: \ ProgramData \ Doctor Web \ Updater \ etc \ drwupsrv.xml.new. Pengguna memiliki hak untuk membuat file ke folder C: \ ProgramData dan jauh di dalam, jadi ini adalah operasi yang sah. Jika Anda mencoba membuat file seperti itu secara manual, kemungkinan mekanisme keamanan Dr.Web mencegah operasi semacam itu. Tetapi dalam operasi, file dibuat atas nama drwupsrv.exe, yang mungkin melewati pemeriksaan internal dan file dibuat. Bahkan, ini adalah bypass verifikasi tanda tangan yang sangat dibahas pada awal artikel.



1: 00-1: 22 pagi menunjukkan file yang dibuat dan isinya. Secara umum, file memiliki konten yang sama dengan file C: \ ProgramData \ Doctor Web \ Updater \ etc \ drwupsrv.xml, tetapi semua jalur menunjuk ke folder di desktop (C: \ Users \ User \ Desktop \ dwtest)

1: 22-2 : 00 tidak terjadi apa-apa (pada tahap ini saya menunggu proses pembaruan perangkat lunak, yang secara default terjadi setiap setengah jam dan waktu yang diharapkan dapat ditemukan dalam log)

2: 00-2: 14 ternyata, dengan mengambil file konfigurasi yang dibuat, pembaru melihat bahwa tidak ada file perangkat lunak Dr.Web di folder C: \ Users \ User \ Desktop \ dwtest, ia mulai menyalin file perangkat lunak di sana.



File yang disalin termasuk file dwservice.exe, yang diluncurkan pada saat pembaruan sebagai pengguna NT AUTHORITY \ SYSTEM. File ini memuat pustaka cryptui.dll, yang berada di folder C: \ Users \ User \ Desktop \ dwtest. Kode perpustakaan hanya meluncurkan konsol interaktif, yang terlihat di layar. Gunakan perintah whoami untuk memastikan bahwa hak sistem diperoleh.



Ringkasan



Laporan kerentanan dikirim ke Doctor Web dan, tampaknya, para pengembang telah memperbaiki segalanya.



Timeline:



05/15/2020 - Menghubungi dukungan teknis dengan permintaan untuk memberikan kontak keamanan.

05/20/2020 - Saya menerima jawaban bahwa ada kemungkinan untuk mengirim laporan dalam panggilan ini

05/20/2020 - Saya mengirimkan laporan

06/14/2020 - Saya menerima jawaban bahwa kerentanan telah diperbaiki untuk versi 12. Menunggu porting untuk versi 11.

07/07/2020 - Pengembang mengkonfirmasi bahwa perbaikan telah dirilis.



Artikel ini dalam bahasa Inggris.



All Articles