Sejak Metasploit Framework versi 3 dirilis pada awal tahun 2007, H.D Moore (pembuat Metasploit) melakukan perubahan besar-besaran di tubuh Metasploit versi 3 tersebut. Dengan mengintegrasikannya ke pemrograman Ruby, dengan jelas terlihat bahwa H.D Moore hendak menjadikan Metasploit sebagai framework tool yang tidak bisa dipandang sebelah mata lagi, dan patut disejajarkan dengan tool-tool pentest lainnya yang telah lebih dulu dianggap professional. Apalagi dengan modul tambahan yang powerful, db_autopwn, sebuah modul yang memungkinkan sebuah auto exploiting system.
Modul db_autopwn diperkenalkan pertama kali pada sistem operasi Linux Backtrack 2, dengan alasan bahwa program tersebut cocoknya berada pada sistem operasi yang berbau auditing/pentest.
Pada kesempatan kali ini, saya ingin menunjukkan cara menjalankan modul db_autopwn pada distro Linux selain Backtrack 2, yaitu Linux Mint 4.0 (Daryna). Yang saya lakukan adalah sebagai berikut:
1.Menyiapkan direktori untuk keperluan download.
tom@m1abrams:~$ sudo mkdir /pentest/
tom@m1abrams:~$ sudo chown tom:admin /pentest/
tom@m1abrams:~$ cd /pentest
2. Install Subversion
tom@m1abrams:/pentest$ sudo apt-get install subversion
3. Install Metasploit dari SVN
tom@m1abrams:/pentest$ svn co http://metasploit.com/svn/framework3/trunk/
4. Install Ruby dan semua paket yang berhubungan.
tom@m1abrams:/pentest$ sudo apt-get install ruby libruby rdoc libyaml-ruby libzlib-ruby libopenssl-ruby libdl-ruby libreadline-ruby libiconv-ruby rubygems
5.Install Ruby on Rails (jawab ‘Y’ untuk semuanya)
tom@m1abrams:/pentest$ gem install -v=1.2.3 rails
6. Install libgtk2-ruby, libglade2-ruby, sqlite3, dst..
tom@m1abrams:/pentest$ sudo apt-get install libgtk2-ruby libglade2-ruby sqlite3 libsqlite3-ruby1.8 libdbd-sqlite3-ruby1.8
7. Install Nmap
tom@m1abrams:/pentest$ sudo apt-get install nmap
Ok ! Sampai disini, persiapan selesai. Apabila kita melihat isi dari direktori tempat metasploit yang kita download dari SVN, direktorinya bernama trunk, lebih mudah apabila kita menggantinya jadi msf3.
tom@m1abrams:/pentest$ ls
trunk
tom@m1abrams:/pentest$ mv trunk msf3
tom@m1abrams:/pentest$ ls
msf3
tom@m1abrams:/pentest$
8. Silakan masuk ke direktori msf3.
tom@m1abrams:/pentest$ cd msf3
tom@m1abrams:/pentest/msf3$ ls
data lib msfconsole msfgui msfpescan README
documentation modules msfd msfopcode msfweb scripts
external msfcli msfencode msfpayload plugins tools
tom@m1abrams:/pentest/msf3$
9. Jalankan msfconsole..
tom@m1abrams:/pentest/msf3$ ./msfconsole
=[ msf v3.1-dev
+ -- --=[ 259 exploits - 116 payloads
+ -- --=[ 17 encoders - 6 nops
=[ 44 aux
msf >
10. Load modul SQLite3 yang telah kita install dan membuat database pentest
msf > load db_sqlite3
msf > db_create pentest
11. Untuk melihat perintah-perintah yang tersedia, ada pada menu help
Database Backend Commands
=========================
Command Description
------- -----------
db_add_host Add one or more hosts to the database
db_add_port Add a port to host
db_autopwn Automatically exploit everything
db_hosts List all hosts in the database
db_import_nessus_nbe Import a Nessus scan result file (NBE)
db_import_nmap_xml Import a Nmap scan results file (-oX)
db_nmap Executes nmap and records the output automatically
db_services List all services in the database
db_vulns List all vulnerabilities in the database
SQLite3 Database Commands
=========================
Command Description
------- -----------
db_connect Connect to an existing database ( /path/to/db )
db_create Create a brand new database ( /path/to/db )
db_destroy Drop an existing database ( /path/to/db )
db_disconnect Disconnect from the current database instance
12. Jalankan db_autopwn untuk melihat menu helpnya.
msf> db_autopwn
[*] Usage: db_autopwn [options]
-h Display this help text
-t Show all matching exploit modules
-x Select modules based on vulnerability references
-p Select modules based on open ports
-e Launch exploits against all matched targets
-s Only obtain a single shell per target system (NON-FUNCTIONAL)
-r Use a reverse connect shell
-b Use a bind shell on a random port
-I [range] Only exploit hosts inside this range
-X [range] Always exclude hosts inside this range
13. Testing pada jaringan lokal..
Saya menjalankan perintah db_nmap [network]
msf > db_nmap 192.168.10.*
Starting Nmap 4.20 ( http://insecure.org ) at 2007-12-23 17:57 WIT
Interesting ports on 192.168.10.1:
Not shown: 1693 closed ports
PORT STATE SERVICE
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Interesting ports on 192.168.10.5:
Not shown: 1696 closed ports
PORT STATE SERVICE
22/tcp open ssh
Interesting ports on 192.168.10.9:
Not shown: 1691 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIS
3389/tcp open ms-term-serv
5000/tcp open UPnP
Nmap finished: 256 IP addresses (3 hosts up) scanned in 3.147 seconds
msf >
Terlihat bahwa pada jaringan lokal tersebut, terdapat 3 host yang ditemukan oleh db_nmap. Hasil scanning tersebut dimasukkan dalam tabel-tabel yang telah dibuat oleh db_sqlite3.
14. Melihat service yang ditemukan oleh db_nmap.
msf > db_services
[*] Service: host=192.168.10.1 port=139 proto=tcp state=up name=netbios-ssn
[*] Service: host=192.168.10.1 port=445 proto=tcp state=up name=microsoft-ds
[*] Service: host=192.168.10.5 port=22 proto=tcp state=up name=ssh
[*] Service: host=192.168.10.9 port=135 proto=tcp state=up name=msrpc
[*] Service: host=192.168.10.9 port=139 proto=tcp state=up name=netbios-ssn
[*] Service: host=192.168.10.9 port=445 proto=tcp state=up name=microsoft-ds
[*] Service: host=192.168.10.9 port=1025 proto=tcp state=up name=NFS-or-IIS
[*] Service: host=192.168.10.9 port=3389 proto=tcp state=up name=ms-term-serv
[*] Service: host=192.168.10.9 port=5000 proto=tcp state=up name=UPnP
msf >
Program db_autopwn dibuat secara mengagumkan dengan memanfaatkan database, sehingga melancarkan serangan otomatis bukanlah mustahil.
Referensi:
Metasploit 3.0 – Automated Exploitation
artikel ini sama dengan http://tom.postnix.org/2007/12/metasploit-auto-exploit/ ?
BalasHapus