Monday, 10 October 2011

[BASH] BruteForce Hash Cracking

OK, dalam post ni saya akan tunjukkan camner nk crack HASHES menggunakan teknik BRUTEFORCE. (collision attack)

Apa itu brute-force? Brute-force adalah satu bentuk serangan dimana penyerang akan mencuba semua kemungkinan "kunci" sehinggalah "kunci" yang tepat ditemui. Kunci disini merujuk kepada kombinasi perkataan, nombor ataupun simbol yang mungkin digunakan sebagai kata-laluan (A-Z,a-z,0-9,etc).

Di sini, saya akan tunjuk satu demonstrasi bagaimana brute-force ini dijalankan. Script ini ditulis menggunakan shell script BASH. BASH adalah singkatan bagi Bourne-Again SHell. Untuk menjalankan shell script ini, kita perlu menggunakan Linux. Windows juga boleh, tapi korang perlu menggunakan Cygwin untuk mensimulasikan Linux environment.


shadow
buah:$6$N/w0ID7H$4U0oLDkaY40Az7ALgIMqw/ig93tcy/50Q7uX9C3OL6r3GwfRvU0Vx42LDAVjJsZJaUVBDHZBHj0PSBQRdEl9Q0:15175:0:99999:7:::

cracker.sh
 #!/bin/bash  
 echo "Cracking..."  
 LIST="a A b B c C d D e E f F g G h H i I j J k K l L m M n N o O p P q Q r R s S t T u U v V w W x X y Y z Z 0 1 2 3 4 5 6 7 8 9"  
 encr=`grep buah shadow | cut -d":" -f2 | cut -d"$" -f4`  
 salt=`grep buah shadow | cut -d":" -f2 | cut -d"$" -f3`  
 for x in $LIST  
 do  
      for y in $LIST  
      do  
           for z in $LIST  
           do            
                echo -n " $x$y$z "  
                test=`mkpasswd -m sha-512 $x$y$z -s $salt | cut -d":" -f2 | cut -d"$" -f4`  
                if [ $test == $encr ]; then  
                     echo "Password is: $x$y$z"  
                     exit  
                fi  
           done  
      done  
 done  

Ok, terdapat 2 file yang korang perlu ketahui.

shadow - file ni dihasilkan oleh UNIX/Linux (Ubuntu) dan mempunyai password yang telah di-encrypt menggunakan encryption SHA512.
cracker.sh - file ni adalah shell script yang telah ditulis untuk meng-crack password didalam file shadow menggunakan kaedah brute-force.

SHA512 adalah satu encryption algorithm yang menggunakan kaedah encryption satu hala (one-way encryption method). Ini bermaksud, korang boleh encrypt texts menggunakan SHA512 tetapi korang tak boleh decrypt encrypted texts itu semula. Jadi, satu-satu nya cara untuk crack encrypted texts yang menggunakan SHA512 encryption adalah dengan menghasilkan semua possible encrypted texts dan bandingkan dengan encrypted texts yang sedia ada. Oleh itu, Rainbow Table diperkenalkan.

cracker.sh ini akan menghasilkan kombinasi huruf dan nombor sepanjang 3 characters dengan menggunakan huruf-huruf dan nombor-nombor yang telah dispesifikasikan didalam variable LIST.

Jumlah huruf dan nombor (A-Z,a-z,0-9) adalah 62 jadi, itu bermakna terdapat 37,820 kombinasi kata-laluan 3 characters yang dapat dihasilkan (62choose3).

Setiap satu kombinasi yang dihasilkan oleh (cracker.sh) akan di-encrypt menggunakan SHA512, kemudian akan dibandingkan dengan encrypted password didalam file (shadow) sehinggalah kombinasi yang mempunyai encrypted texts yang sama dengan encrypted password didalam file shadow ditemui.

Dalam erti kata lain, kita akan cuba untuk mendapatkan

hash(p1) = hash(p2) 

p1 = password. (encrypted dalam file shadow)
p2 = kombinasi password. (dihasilkan oleh cracker.sh)
hash = ecryption alogrithm


Video script ni beraksi:



Korang juga boleh modify script ni untuk crack encrypted texts yang menggunakan encryption algorithm yang lain seperti MD5 dan SHA256. Ia juga boleh di modify untuk crack encrypted texts yang mempunyai panjang lebih daripada 3 characters.

Cubalah~ :)

Friday, 22 July 2011

[Install] Code::Blocks, Notepad++ dan MinGW

   Ok, bagi mereka yang baru nk berjinak dalam programming, Codeblocks nih sesuai untuk anda sebab ia mempunyai code/text editor dan juga compiler dalam satu software. Codeblocks ni ibarat macam Notepad++ dan MinGW digabungkan menjadi satu. Code::Blocks boleh didownload di [SINI].




Bagi mereka yang dah advance sikit, disarankan korang download 2 software ni sebab lebih ringan dan saiz dier pun kecil jer. Tapi ada extra kerja sikit korang kene buat untuk configure MinGW tuh.

   Notepad++ adalah source code/text editor yang percuma. Notepad++ ni lightweight dan powerfull. Notepad++ nih sesuai untuk digunakan untuk meng-edit source code/text sebab ia akan format source code tuh supaya lebih mudah untuk difahami oleh coders dan juga memudahkan coders untuk mengesan syntax errors.Notepad++ boleh di download di [SINI]. Untuk Notepad++, korang download dan install jer sepatutnya tiada apa-apa masalah.







    MinGW pula adalah GNU compiler yang mampu untuk compile C, C++, Ada dan Fortran. MinGW adalah singkatan untuk "Minimalist GNU for Windows".
MinGW boleh di download di [SINI].
Ok, lepas korang download dan install MinGW:

1 - Right-click "My Computer" dan pilih Properties.
2 - Click “Advanced”, pastu click “Environment Variables”
3 - Dalam “System variables” double click “Path”


4 - Tambah “;c:\mingw\bin” di hujung “Variable value”. Click “Ok”.
(pastikan c:\mingw\bin ni adalah directory dimana korang install mingw tadi)



5 - Click “Ok” sampailah windows System properties itu ditutup.

6 - Untuk test MinGW korang, taip g++ dekat Command Prompt dan tekan ENTER.


- Kalau ia tulis "g++: no input files" maknanya MinGW telah di install dengan sempurna.
- Kalau ia tulis "’g++’ is not recognized as an internal or external command, operable program or batch file", ini bermaksud ada masalah dengan installation MinGW korang ataupun directory yang korang nyatakan dekat langkah ke 4 adalah salah.

Good Luck and Have Fun! ^_^

Thursday, 21 July 2011

About ReSyntaX

Selamat Datang ke blog ReSyntax.com. Blog ni dibangunkan bertujuan untuk berkongsi ilmu pengetahuan dan berita-berita terkini tentang hardware dan software computer, internet, social networking seperti facebook, myspace dan twitter, computer security, programming C, C++, PHP, HTML, BASH dan banyak lagi yang berkaitan dengan dunia IT (Information Technology). Kadang-kadang tu saya selitkan sikit post pasal diri saya, ye lah forever alone mcm sy ni mane de awek utk dijadikan tempat mengadu hahaha :D