Currently Browsing: Code Analysis

CVE-2009-2698

It’s been sometimes ago, sejak terakhir kalinya isi blog ini bernuansa informasi teknikal, selebihnya bersifat informasi seperti berita dsb. Bukan sesuatu yang buruk kok, tapi seperti biasa, alasan klasik, real world, school, work, family, well…you know. Semakin sulit untuk tetap berkontribusi pada komunitas seiring pertambahan usia, sementara harapan untuk anggota baru yang lebih muda cukup miris, mereka lebih senang bertanya “bagaimana caranya untuk join?!” sementara telah tertulis jelas pada content blog procedure praktis untuk bisa join. I mean, c’mon guys, how can you write ’bout something while you can’t read properly? Well, klo kata anak muda jaman sekarang ini adalah ‘curcol’, so…enough. Let’s talk something fishy. Julien dan Taviso sepertinya akhir-akhir ini melakukan auditing terhadap kode-kode pada kernel linux khususnya yang berhubungan dengan implementasi networking. Sebelumnya kita telah melihat bug CVE-2009-2692, kali ini kita akan melihat lebih dalam bug CVE-2009-2698. Penjelasan singkat namun informatif dapat dilihat pada blognya Julien Tinnes. Julien dan Taviso menemukan bahwa linux kernel < 2.6.19 memiliki masalah NULL pointer dereference pada implementasi protocol UDP, sebetulnya bug ini tidaklah terlalu bermasalah karena telah di patch oleh Herbert Xu pada bulan oktober 2006. Namun jika kalian menemukan server dengan spesifikasi kernel < 2.6.19 maka bug ini layak untuk dicoba ;). Permasalahan terdapat pada routine / fungsi udp_sendmsg, lebih spesifik lagi pada implementasi suatu variable pointer yang disebut rt. rt merupakan variable pointer yang memiliki tipe data struktur rtable (routing table). Sebagai informasi, routine udp_sendmsg merupakan implementasi pengiriman paket udp melalui socket pada linux. Variable pointer rt didefinisikan sebagai NULL pada bagian awal routine udp_sendmsg, pada implementasi routine udp_sendmsg tersebut ditemukan cara agar variable rt tetap bernilai NULL saat memanggil fungsi ip_append_data dan ini disebabkan oleh bagian kode berikut ini: if (up->pending) { /* * There are pending frames. * The socket lock must be held while it's corked. */ lock_sock(sk); if (likely(up->pending)) { if (unlikely(up->pending != AF_INET))...
Read More of CVE-2009-2698

DNS, the betrayer!

Lucu juga jika melihat tulisan fazed di blog GNUCITIZEN berikut ini, memainkan informasi DNS untuk menguasai WIFI connection (yeah…yeah…wifi-ownage, wahoooo?!). Jadi teringat dengan blog ini yang membicarakan mengenai tehnik pengubahan informasi DNS pada modem speedy dapat digunakan untuk mendapatkan informasi rahasia dari seluruh koneksi yang melewati modem speedy tersebut. Jika melihat referrer pada blog tersebut, saya suka tersenyum sendiri karena ternyata banyak yang mencari tahu informasi untuk ‘hacking modem speedy’. Namun yang membuat kecewa karena umumnya pertanyaan yang diajukan dengan harapan dapat memanfaatkan modem speedy tersebut untuk koneksi internet gratisan. C’mon, jika diperhatikan lebih lanjut lagi, hacking modem speedy tersebut bukan ditujukan untuk mendapatkan koneksi internet gratis, tapi yang lebih jauh lagi…mendapatkan berbagai macam informasi penting dari koneksi-koneksi pengguna modem speedy tersebut, seperti informasi login pada situs per-bankan, ebay, amazon, dll. Pada blog tersebut digambarkan bagaimana bahayanya apabila informasi DNS server untuk client modem speedy yang memanfaatkan metode DHCP dapat diubah seenaknya oleh si attacker. Yang kemudian menjadi pertanyaan adalah ‘setelah informasi DNS server kita ubah ke suatu alamat IP, apa yang selanjutnya dilakukan?!bagaimana caranya membuat DNS server yang dapat mengarahkan korban pada fake-login page?’. Well, sebetulnya itu tergantung kreativitas masing-masing dari kita sebagai attacker, namun tulisan fazed pada blog GNUCITIZEN memberikan jawaban yang sangat mudah bagi para script kiddies. Berikut pernyataannya mengenai efek dari memainkan DNS server (pada AP, router, modem, dsb): Theoretically, the attacker could use any IP address to pull the trick, as long as a DNS server was running behind the UDP port 53. But it would be more beneficial if the attacker is under control of this DNS server, so he/she is able to show the user what ever they want them to see. For example, the user could type in their bank’s website address and end up at a phishing page but they wouldn’t know because they would see their banks address in...
Read More of DNS, the betrayer!

[PHP] Image Photo Gallery

Ipen wrote tutorial about how-to create Image Photo Gallery using PHP on forum Kecoak Elektronik Indonesia, check his code and tutorial here.
Read More of [PHP] Image Photo Gallery

Exploit wordpress oleh LMH

Pada salah satu sesi chatting, ada pertanyaan yang cukup menarik: anon: mas, tau gak tentang pwnpress? h3b: apa tuh? anon: exploit untuk wordpress, yang buat LMH h3b: oya?biasa nya tools buatan LMH menarik tuh anon: iya, cuman ada yang aneh…kok sering failed nya ya? h3b: emang gak ada manual help nya? anon: ada sih help nya, cuma sring failed dan kyk nya gak stabil…coba dech lihat, ada di milw0rm tuh h3b: liat dulu ya…jd penasaran Exploit pwnpress nya LMH dapat download di sini . Tools-tools dari LMH biasa nya unik, dan untuk pwnpress ini sendiri juga cukup unik, salah satu yang unik nya…untuk menjalankan exploit ini harus menggunakan nama pwnpress.rb. Disatu sisi, ada sebagian pihak yang berpendapat hal ini menunjukan betapa lamme nya si pembuat exploit, padahal kan bisa di buat agar code di eksekusi dengan menggunakan nama apapun (kadang kita copy-paste source dari milw0rm dan save-as dengan nama yang sesuai kehendak) dan tidak masalah, namun untuk pwnpress dari LMH ini code exploit harus di simpan sebagai pwnpress.rb, dan eksekusi program harus menggunakan nama ini. Ini bisa kita lihat dari source code nya: if $0 =~ /pwnpress.rb/ require ‘optparse’ OPTIONS = {} def vputs(msg) if OPTIONS[:verbose] puts “+> #{msg}” end end Pada bagian inilah proses exploitasi akan dimulai, dan bagi yang tidak membaca source code nya akan mengalami kebingungan sesaat (including me, LOL). Tapi di sisi lain, ini salah satu tipikal seseorang yang memiliki keunikan tersendiri dengan tujuan agar code buatan nya tidak cuma di jalankan begitu saja (script kiddies style), namun kita harus membaca source code nya terlebih dahulu sebelum menggunakan code exploit tersebut. Saya tidak tahu LMH masuk pada bagian yang mana, namun yang pasti…tools-tools buatan LMH selain unik juga terstruktur dengan sangat rapih dan apik, pada pwnpress bisa kita lihat bagaimana source code program nya yang terstruktur dengan baik, plus komentar-komentar men-detail dengan mencantumkan referensi-referensi berdasarkan...
Read More of Exploit wordpress oleh LMH