metasploit + python打造批量漏洞檢測工具


 

metasploit是一款大家都十分熟悉的漏洞利用工具,其中集成了大量的漏洞利用程序,如果我們能夠搜尋大量的符合一定條件的主機並使用metasploit進行檢測是不是會很有意思呢?想一想就有點小激動呢。。。

本文中利用metasploit的api接口對其進行操作,使用censys、zoomeye以及shodan批量搜尋主機,然后使用metasploit對找到的主機進行檢測。不過關於metasploit的api接口並沒有找到詳細的說明文檔,我通過翻閱其代碼在一行行注釋中將其所有的api函數整理出來放在這里(http://s0m30ne.com/2016/01/21/metasploit-API/),有興趣的可以看一下。

關於詳細的實現過程這里就不說了,具體的大家可以直接去代碼里看,代碼鏈接下面會給出,這里只貼出一些利用方法以及應用舉例。

==============================
|--\ \  / |\  /|  /----  |----
|--/  \/  | \/ |  |---\  |----
|     ||  |    |  ____|  |
==============================
               made by s0m30ne
------------------------------

Usage: python msf_python.py [options] 

Options:  
    -h, --help            show this help message and exit  
    -n, --normal          normal mode  
    -s SEARCH, --search=SEARCH  
                          chose a search engine, for example: censys, zoomeye or shodan  
    -f FILE_NAME, --file=FILE_NAME  
                          the poc file you want to run  
    -t THREAD_NUM, --threads=THREAD_NUM  
                          set the thread num

##准備工作:
(1)安裝Python的msgpack類庫,MSF官方文檔中的數據序列化標准就是參照msgpack。

root@kali:~# apt-get install python-setuptools
root@kali:~# easy_install msgpack-python

(2)創建createdb_sql.txt:

create database msf;
create user msf with password 'msf123';
grant all privileges on database msf to msf;

(3)在PostgreSQL 執行上述文件:

root@kali:~# /etc/init.d/postgresql start
root@kali:~# sudo -u postgres /usr/bin/psql < createdb_sql.txt

(4)創建setup.rc文件

db_connect msf:msf123@127.0.0.1/msf
load msgrpc User=msf Pass='abc123'

(5)啟動MSF並執行載入文件

root@kali:~# msfconsole -r setup.rc
*SNIP*
[*] Processing setup.rc for ERB directives.
resource (setup.rc)> db_connect msf:msf123@127.0.0.1/msf
[*] Rebuilding the module cache in the background...
resource (setup.rc)> load msgrpc User=msf Pass='abc123'
[*] MSGRPC Service: 127.0.0.1:55552
[*] MSGRPC Username: msf
[*] MSGRPC Password: abc123
[*] Successfully loaded plugin: msgrpc

(6)安裝msfrpc

root@kali:~# git clone git://github.com/SpiderLabs/msfrpc.git msfrpc
root@kali:~# cd msfrpc/python-msfrpc
root@kali:~# python setup.py install

(7)在config.txt中配置你的token信息

后面每次使用時都需要先使用msfconsole -r setup.rc啟動msf

##使用方法
使用python msf_python.py -n或者直接使用python msf_python.py進入普通模式,使用python msf_python.py -s [censys,shodan,zoomeye]選擇相應的搜索引擎,默認選擇的是censys

啟動腳本后的使用方式和msf基本相同,支持msf的所有命令,不同之處在於你沒必要設置RHOST或者RHOSTS,后面的掃描過程中程序會自己進行設置。額外需要你設置的是QUERYPAGE選項,QUERY是你選擇的搜索引擎下的搜索條件,PAGE則是你想要搜索的頁數(默認為10)。

通過python msf_python.py -c COMMAND命令用戶可以使用自定義的命令,比如執行python、ruby等poc文件或者ping等系統命令,但是注意命令中通過%s留出IP接口,比如你可以通過下面的形式執行特定的poc文件:python msf_python.py -c "python poc.py %s"

通過-c參數指定要執行的命令后,設置好QUERYPAGE參數就可以通過exploit命令執行了。

你可以通過-t參數指定線程數。

##測試樣例
首先,我演示一下使用該工具檢測ssh弱密碼的過程。

檢測過程如下圖所示:

另外,也可以使用-f參數指定poc進行檢測,在此貼出使用該工具批量測試jenkins反序列化的過程。

指定搜索條件和搜索頁數,並使用exploit啟動程序

檢測過程如下圖所示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM