Posted by kecoak on Oct 9, 2007

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 hole wordpress yang telah ditemukan sebelumnya, serta efisiensi penggunaan source code (penggunaan symbol sebagai variable di ruby sebagai contoh, menunjukan bahwa code program tersebut lebih efisien dibandingkan penggunaan string yang menghabiskan lebih banyak resource memory). Walaupun LMH terkenal dengan underground style nya, namun kemampuan coding nya setipe dengan coder profesional, well…security profesional ;).

Oke, enough, kembali ke topik. Jika kita coba praktekan exploit tersebut, memang akan muncul keanehan seperti yang dirasakan oleh lawan bicara saya di chat tersebut, dimana kadang exploit mengalami kegagalan dengan pesan error yang gak jelas, kadang dia gagal melakukan fingerprinting, kalaupun berhasil cuma menampilkan informasi yang kesan nya lamme, apabila target merupakan blog wordpress yang telah hardly customize maka pwnpress tidak bisa melakukan apapun, dsb. Benarkah?!yup, apabila dilihat sepintas memang seperti itu, namun sekali lagi…jika kita memperhatikan source code nya maka pwnpress lebih dari sekedar exploit biasa (yang diasumsikan sebagai exploit sekali jalan, eksekusi dan dapat hasil). Dari source code tersebut, saya melihat pwnpress merupakan suatu template, atau lebih tepat nya…framework untuk exploitasi wordpress. Ada 2 bagian besar pada pwnpress, yaitu scanning (lebih tepat nya adalah, fingerprinting) serta exploitasi. Disamping itu juga terdapat cukup banyak method-method menarik yang digunakan untuk proses scanning dan exploitasi tersebut, diantara nya adalah menambahkan method baru untuk salah satu class utama ruby, Class Array dan Class String.

Kita dapat memahami proses kerja nya yang dijelaskan dengan mendetail (ini tipikal seorang coder yang baik dan profesional) pada exploit tersebut, metode-metode yang digunakan untuk fingerprinting versi wordpress target (via meta_generator, rss_feed_links, rss2_generator, atom_generator, serta isi page yang biasa nya terdapat “powered by wordpress”), metode exploitasi dengan mengacu pada “known vulnerablities” di wordpress, randomisasi user agent, randomisasi ip_address penyerang, dsb. Hal-hal inilah yang membuat pwnpress bukan sekedar exploit biasa, namun lebih kepada framework. Dengan menggunakan pwnpress, kita dapat menambahkan sendiri tipe fingerprinting untuk bisa mendapatkan versi wordpress yang diinginkan, menambahkan jenis exploit berdasarkan hole yang telah diketahui maupun yang belum diketahui, menambahkan metode-metode tambahan, dll. Pwnpress dapat di-customize sesuai dengan perkembangan wordpress serta pengetahuan kita untuk melakukan eksploitasi pada target, inilah seni dari exploit pwnpress milik LMH.

LMH mencuat nama nya berkat MoAB (Month Of Apple Bugs), beberapa waktu lalu pun sempat terjadi debat pendapat mengenai identitas LMH, jika dilihat sepintas mengenai variasi bidang yang disentuh oleh LMH maka tidak heran ada yang berpendapat bahwa LMH hanyalah nick yang digunakan oleh beberapa orang. Namun penguasaan beberapa bidang bukan sesuatu yang aneh dikalangan underground, terlepas dari hal itu…saya pribadi salut dengan keunikan code-code yang dihasilkan oleh LMH dimana disertai dengan dokumentasi singkat dan efisien namun padat sehingga mempermudah kita mencerna proses kerja code-code tersebut, paling tidak kita bisa melihat hasil nya dari interface web metasploit (msfweb) yang merupakan salah satu hasil kerja LMH ;).

Oh iya, tidak perlu dijelaskan panjang lebar mengenai isi code pwnpress.rb, silahkan baca sendiri karena dokumentasi proses kerja nya sudah akurat, bahasa pemrograman yang digunakan adalah ruby. Ruby menggunakan pendekatan “bahasa manusia” dengan konsep “bahasa inggris (english)” sehingga cukup mudah mencerna code-code tersebut. Sisa nya adalah kemauan untuk membaca.

Post a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *