Hijacking Google Docs, Bug yang dapat melihat informasi sensitif melalui tangkapan layar

Google-Docs-Vulnerability

Hijacking Google Docs - Baru-baru ini Google telah melakukan perbaikan pada halaman "Send Feedback" yang merupakan salah satu fitur yang dimiliki oleh Google Docs ketika ingin melakukan tangkapan layar. Serangan berbahaya ini dapat memungkinkan peretas jahat akan melakukan exploitasi dan mencuri informasi sensitif dengan cara menyematkan situs web berbahaya.

Kerentanan ini pertama kali ditemukan oleh seorang peneliti keamanan sekaligus bug hunter yang bernama Sreeram KL. Laporan itu ia lampirkan dan dikirimkan kepada tim Google pada tanggal 9 Juli 2020. Dipublikasikan pada tanggal 27 Desember 2020.

Kebanyakan platform yang dimiiliki oleh Google yaitu memiliki fitur "Send Feedback" dengan menerapkan domain utama di halaman tersebut dan diintegrasikan ke domain Google lain dengan menyertakan elemen iframe yang memuat konten dari situs feedback.googleusercontent.com melalui PostMessage.

Cara Kerja Hijacking Google Docs ScreenShot

Analisis yang ia lakukan adalah mengirimkan umpan balik melalui navigasi di halaman Bantuan lalu klik Send Feedback nanti akan ada iframe yang muncul dan sesaat akan langsung menangkap gambar layar yang sedang dikerjakan. 

Iframe yang muncul lalu melakukan aksi tangkapan layar dari dokumen yang sedang dikerjakan (www.google.com) ternyata berbeda dengan tautan situs Google Docs karena harus ada komunikasi lalu lintas sumber untuk membuat tangkapan layar melalui PostMessage.

Pertama-tama Google Docs akan mengirimkan nilai RGB yang sudah disertakan dalam halaman Send Feedback, setiap piksel dari nilai RGB akan diarahkan ke iframe utama yaitu www.google.com melalui PostMessage, kemudian nilai RGB itu diarahkan ke iframe yang memili tautan feedback.googleusercontent.com melalui PostMessage, hasil gambar tersebut akan dirender dan mengirimkan kembali ke data-URI dalam format yang sudah di encode base64.

Proof-Google-Docs-Vuln-Hijack-Screenshot

Sreeram KL juga menjelaskan dalam analisis temuan bug yang ia temukan ialah proses transmisi pesan ke iframe feedback.googleusercontent.com memungkinkan peretas jahat dapat membuat tampilan palsu menjad situs web eksternal dan dapat dimanfaatkan untuk mencuri informasi sensitif melalui Google Docs.

Kerentanan berbahaya ini karena Google Docs tidak memiliki header X-Frame-Options. Selain itu, untuk memastikan payload yang digunakan berhasil maka jangan melupakan mencari perlindungan yang ada pada domain tersebut. Namun, tampaknya Google Docs melupakan keamanan itu terlebih lagi pembajakan klik tangkapan layar yang secara default sudah dinonaktifkan saat menyematkan iframe.

"Sebelumnya saya menonton video tentang menemukan kerentanan XSS dalam domain sandbox yang beralamatkan di feedback.googleusercontent.com, dan mencoba mengikutinya hingga segala cara sudah saya lakukan namun gagal . Saya mempelajari trik baru yang sebelumnya tidak saya ketahui. Artinya, Anda dapat mengubah lokasi iframe yang ada di domain lintas asal dengan syarat jika tidak memiliki header X-Frame-Options. Misal situs abc.com memiliki efg.com sebagai iframe dan domain abc.com tidak menggunakan header X-Frame, saya dapat mengubah efg.com menjadi situs evil.com menggunakan frames.location" tulis Sreeram.

Tahap Exploitasi Google Docs Melalui PostMessage

Sebelum melakukan exploitasi di tingkat lanjut, hal pertama yang ia lakukan adalah Sreeram mengganti iframe dalam fitur "Send Feedback" ke domain yang dimilikinya melalui PostMessage cara apapun sudah dilakukan bagaimana agar domain feedback.googleusercontent.com berhasil kearah geekcycat.in. Namun, sayangnya semua itu gagal dan tidak menghasilkan apapun.

Sreeram melihat data yang dikirimkan ke situs feedback.googleusercontent.com dalam bentuk seperti ini:

<Data>","https://feedback.googleusercontent.com");

Meskipun sudah mengganti locations.iframe berkali-kali, data tidak akan dikirim ke domain miliknya disebabkan kurangnya konfigurasi PostMessage yang tidak sesuai. Lalu ia mencoba kembali dengan mengubah iframe "Submit Feedback dari www.google.com" ke domain miliknya dan itu berhasil.

PostMessage yang dikirimkan saat proses umpan balik dikonfigurasikan ke dalam bentuk windowRef.postmessage("<Data>","*");  karena tidak ada konfigurasi domain lalu saya mengirimkan data ke domain geekycat dan membajak tangkapan layar berjalan sempurna.

Kode Exploit:


    

Atas semangat yang kuat bug hunter Sreeram KL telah dihadiahi oleh Google dalam program Google Vulnerability Program sebesar $3133.70.