The Adventures of the Elusive Malware, Bahagian IV: DDE dan Medan Dokumen Word

The Adventures of the Elusive Malware, Bahagian IV: DDE dan Medan Dokumen Word

Artikel ini adalah sebahagian daripada siri Perisian Hasad Tanpa Fail. Semua bahagian lain siri ini:

Dalam artikel ini, saya akan menyelami senario serangan tanpa fail berbilang peringkat yang lebih kompleks dengan menyematkan pada sistem. Tetapi kemudian saya menemui serangan tanpa kod yang sangat mudahβ€”tiada makro Word atau Excel diperlukan! Dan ini membuktikan dengan lebih berkesan hipotesis asal saya yang mendasari siri artikel ini: memecahkan perimeter luar mana-mana organisasi bukanlah satu tugas yang sukar sama sekali.

Serangan pertama yang saya akan terangkan mengeksploitasi kelemahan Microsoft Word yang berasaskan ketinggalan zaman protokol pertukaran data dinamik (DDE). Dia sudah pun tetap. Yang kedua mengeksploitasi kelemahan yang lebih umum dalam Microsoft COM dan keupayaan pemindahan objek.

Kembali ke masa hadapan dengan DDE

Ada lagi yang ingat DDE? Mungkin tidak ramai. Ia adalah salah satu yang pertama protokol komunikasi antara proses yang membenarkan aplikasi dan peranti memindahkan data.

Saya sendiri agak biasa dengannya kerana saya pernah menyemak dan menguji peralatan telekom. Pada masa itu, DDE membenarkan, contohnya, pengendali pusat panggilan untuk memindahkan ID pemanggil ke aplikasi CRM, yang akhirnya membuka kad pelanggan. Untuk melakukan ini, anda perlu menyambungkan kabel RS-232 antara telefon anda dan komputer anda. Itulah hari-harinya!

Ternyata, Microsoft Word masih menyokong DDE.

Apa yang menjadikan serangan ini berkesan tanpa kod ialah anda boleh mengakses protokol DDE langsung daripada medan automatik dalam dokumen Word (topi kepada SensePost untuk penyelidikan dan penerbitan mengenainya).

Kod medan ialah satu lagi ciri MS Word purba yang membolehkan anda menambah teks dinamik dan sedikit pengaturcaraan pada dokumen anda. Contoh yang paling jelas ialah medan nombor halaman, yang boleh dimasukkan ke dalam pengaki menggunakan nilai {PAGE *MERGEFORMAT}. Ini membolehkan nombor halaman dijana secara automatik.

The Adventures of the Elusive Malware, Bahagian IV: DDE dan Medan Dokumen Word
Petunjuk: Anda boleh mencari item menu Medan di bawah Sisipkan.

Saya masih ingat bahawa apabila saya mula-mula menemui ciri ini dalam Word, saya kagum. Dan sehingga tampung melumpuhkannya, Word masih menyokong pilihan medan DDE. Ideanya ialah DDE akan membenarkan Word berkomunikasi secara langsung dengan aplikasi, supaya ia kemudiannya boleh menghantar output program ke dalam dokumen. Ia adalah teknologi yang sangat muda pada masa itu - sokongan untuk pertukaran data dengan aplikasi luaran. Ia kemudiannya dibangunkan menjadi teknologi COM, yang juga akan kita lihat di bawah.

Akhirnya, penggodam menyedari bahawa aplikasi DDE ini boleh menjadi shell arahan, yang sudah tentu melancarkan PowerShell, dan dari situ penggodam boleh melakukan apa sahaja yang mereka mahu.
Tangkapan skrin di bawah menunjukkan cara saya menggunakan teknik siluman ini: skrip PowerShell kecil (selepas ini dirujuk sebagai PS) daripada medan DDE memuatkan skrip PS lain, yang melancarkan fasa kedua serangan.

The Adventures of the Elusive Malware, Bahagian IV: DDE dan Medan Dokumen Word
Terima kasih kepada Windows untuk amaran pop timbul bahawa medan DDEAUTO terbina dalam cuba untuk memulakan shell secara rahsia

Kaedah pilihan untuk mengeksploitasi kerentanan adalah dengan menggunakan varian dengan medan DDEAUTO, yang menjalankan skrip secara automatik semasa membuka Dokumen perkataan.
Mari kita fikirkan apa yang boleh kita lakukan mengenai perkara ini.

Sebagai penggodam pemula, anda boleh, sebagai contoh, menghantar e-mel pancingan data, berpura-pura bahawa anda daripada Perkhidmatan Cukai Persekutuan dan membenamkan medan DDEAUTO dengan skrip PS untuk peringkat pertama (pada asasnya penitis). Dan anda tidak perlu melakukan sebarang pengekodan makro sebenar, dsb., seperti yang saya lakukan artikel sebelum ini.
Mangsa membuka dokumen anda, skrip terbenam diaktifkan, dan penggodam berakhir di dalam komputer. Dalam kes saya, skrip PS jauh hanya mencetak mesej, tetapi ia boleh melancarkan klien PS Empire dengan mudah, yang akan menyediakan akses shell jauh.
Dan sebelum mangsa sempat berkata apa-apa, penggodam akan menjadi remaja terkaya di kampung itu.

The Adventures of the Elusive Malware, Bahagian IV: DDE dan Medan Dokumen Word
Cangkang itu dilancarkan tanpa sedikit pun pengekodan. Kanak-kanak pun boleh melakukan ini!

DDE dan medan

Microsoft kemudiannya melumpuhkan DDE dalam Word, tetapi tidak sebelum syarikat itu menyatakan bahawa ciri itu hanya disalahgunakan. Keengganan mereka untuk mengubah apa-apa boleh difahami. Dalam pengalaman saya, saya sendiri telah melihat contoh di mana mengemas kini medan semasa membuka dokumen telah didayakan, tetapi makro Word telah dilumpuhkan oleh IT (tetapi menunjukkan pemberitahuan). Dengan cara ini, anda boleh mencari tetapan yang sepadan dalam bahagian tetapan Word.

Walau bagaimanapun, walaupun pengemaskinian medan didayakan, Microsoft Word juga memberitahu pengguna apabila medan meminta akses kepada data yang dipadam, seperti yang berlaku dengan DDE di atas. Microsoft benar-benar memberi amaran kepada anda.

Tetapi kemungkinan besar, pengguna masih akan mengabaikan amaran ini dan mengaktifkan kemas kini medan dalam Word. Ini adalah salah satu peluang yang jarang berlaku untuk mengucapkan terima kasih kepada Microsoft kerana melumpuhkan ciri DDE yang berbahaya.

Betapa sukarnya untuk mencari sistem Windows yang tidak ditambal hari ini?

Untuk ujian ini, saya menggunakan AWS Workspaces untuk mengakses desktop maya. Dengan cara ini saya mendapat mesin maya MS Office yang tidak ditambal yang membenarkan saya memasukkan medan DDEAUTO. Saya tidak ragu-ragu bahawa dengan cara yang sama anda boleh mencari syarikat lain yang belum memasang patch keselamatan yang diperlukan.

Misteri objek

Walaupun anda telah memasang tampung ini, terdapat lubang keselamatan lain dalam MS Office yang membenarkan penggodam melakukan sesuatu yang hampir serupa dengan apa yang kami lakukan dengan Word. Dalam senario seterusnya kita akan belajar gunakan Excel sebagai umpan untuk serangan pancingan data tanpa menulis sebarang kod.

Untuk memahami senario ini, mari kita ingat Model Objek Komponen Microsoft, atau ringkasnya COM (Model Objek Komponen).

COM telah wujud sejak tahun 1990-an, dan ditakrifkan sebagai "model komponen berorientasikan objek neutral bahasa" berdasarkan panggilan prosedur jauh RPC. Untuk pemahaman umum terminologi COM, baca jawatan ini pada StackOverflow.

Pada asasnya, anda boleh memikirkan aplikasi COM sebagai Excel atau Word boleh laku, atau beberapa fail binari lain yang dijalankan.

Ternyata aplikasi COM juga boleh dijalankan skripnya β€” JavaScript atau VBScript. Secara teknikal ia dipanggil skrip. Anda mungkin pernah melihat sambungan .sct untuk fail dalam Windows - ini ialah sambungan rasmi untuk skriplet. Pada asasnya, ia adalah kod skrip yang dibalut dalam pembungkus XML:

<?XML version="1.0"?>

<scriptlet>
<registration
description="test"
progid="test"
version="1.00"
classid="{BBBB4444-0000-0000-0000-0000FAADACDC}"
remotable="true">
</registration>
<script language="JScript">
<![CDATA[

var r = new ActiveXObject("WScript.Shell").Run("cmd /k powershell -c Write-Host You have been scripted!");

]]>
</script>
</scriptlet>

Penggodam dan pentester telah mendapati bahawa terdapat utiliti dan aplikasi berasingan dalam Windows yang menerima objek COM dan, oleh itu, skrip juga.

Saya boleh menghantar skrip ke utiliti Windows yang ditulis dalam VBS yang dikenali sebagai pubprn. Ia terletak di kedalaman C:Windowssystem32Printing_Admin_Scripts. Dengan cara ini, terdapat utiliti Windows lain yang menerima objek sebagai parameter. Mari kita lihat contoh ini dahulu.

The Adventures of the Elusive Malware, Bahagian IV: DDE dan Medan Dokumen Word
Adalah wajar bahawa cangkerang boleh dilancarkan walaupun dari skrip cetakan. Pergi Microsoft!

Sebagai ujian, saya mencipta skrip kecil jauh mudah yang melancarkan shell dan mencetak mesej lucu, "Anda baru sahaja diskrip!" Pada asasnya, pubprn membuat instantiat objek skrip, membenarkan kod VBScript untuk menjalankan pembungkus. Kaedah ini memberikan kelebihan yang jelas kepada penggodam yang ingin menyelinap masuk dan bersembunyi pada sistem anda.

Dalam catatan seterusnya, saya akan menerangkan bagaimana skrip COM boleh dieksploitasi oleh penggodam menggunakan hamparan Excel.

Untuk kerja rumah anda, lihat Video ini daripada Derbycon 2016, yang menerangkan dengan tepat cara penggodam menggunakan skrip kecil. Dan juga membaca artikel ini tentang skrip dan beberapa jenis moniker.

Sumber: www.habr.com

Tambah komen