一、MSF介紹
Metasploit就是一個漏洞框架,它的全稱叫做The Metasploit Framework,簡稱MSF,是一個免費、可下載的框架,通過它可以很容易地獲取、開發并對計算機軟體漏洞實施攻擊,它本身附帶數2000多個已知軟體漏洞的專業級漏洞攻擊工具,安全專家以及業余安全愛好者更多地將其當作一種點幾下滑鼠就可以利用其中附帶的攻擊工具進行成功攻擊的環境,
兼有windows與linux兩種版本,
二、相關專業術語
1.滲透攻擊(Exploit):是指由攻擊者或者滲透測驗者利用系統、應用或服務中的安全漏洞,所進行的攻擊行為,流行的攻擊技術包括:緩沖區溢位、Web應用程式漏洞攻擊,以及利用配置錯誤等,
2.攻擊載荷(Payload):是我們期望目標系統在被滲透攻擊后而執行的代碼,在MSF框架中可以自由的選擇、傳送和植入,比如,反彈式shell是一種從目標主機到攻擊主機創建網路連接,并提供命令列shell的攻擊載荷,bind shell攻擊載荷則在目標主機上將命令列shell系結到一個打開的監聽埠,攻擊者可以連接這些埠來取得shell互動,簡單理解為一個木馬,如灰鴿子就是個Payload.
3.代碼溢位(shellcode):是在滲透攻擊時作為攻擊載荷運行的一組機器指令,shellcode通常用匯編語言撰寫,在大多數情況下,目標系統執行了shellcode這一組指令后,才會提供一個命令列shell或者Meterpreter shell,這也是shellcode名稱的由來,
4.模塊(Module):在MSF中,一個模塊是指MSF框架中所使用的一段軟體代碼組件,在某些時候,你可能會使用一個滲透攻擊模塊(Exploit module),也就是用于實際發起滲透攻擊的軟體組件,而在其它時候,則可能使用一個輔助模塊(auxiliary module),用來掃描一些諸如掃描或系統查點的攻擊動作,
5.監聽器(listener):監聽器是MSF中用來等待連入網路連接的組件,舉例來說,在目標主機被滲透攻擊之后,它可能會通過互聯網回連到攻擊主機上,而監聽器組件在攻擊主機上等待被滲透攻擊的系統來連接,并負責處理這些網路連接,
三、配置程序(kali虛擬機下)
首先用X-shell連接kali(確定kali當前為root用戶,如果不是,需要先切換到),如果連不上22埠:


1.更新MSF
更新源:vi /etc/apt/sources.list
添加入中科大源:
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

2.下載數字簽名:wget archive.kali.org/archive-key.asc
安裝數字簽名:apt-key add archive-key.asc
注:如果添加數字簽名還提示無法安裝可洗掉原有msf
apt remove metasploit-framework
注:卸載程序中無法獲得鎖 /var/cache/apt/archives/lock - open (11: 資源暫時不可用)
無法對目錄 /var/cache/apt/archives/ 加鎖
sudo rm /var/cache/apt/archives/lock 進行強制解鎖
sudo rm /var/cache/apt/archives/
3.安裝msf框架
更新:apt-get update
安裝msf框架:apt-get install metasploit-framework
然后:msfconsole
發現有提示資料庫未啟動,退出msf框架(exit),啟動資料庫:
systemctl start postgresql
允許開機自啟動:systemctl enable postgresql
構建資料庫快取:msfdb init
最后:msfconsole
(1)注意:如果更新完msf出現才下問題
msfconsole
[*] Bundler failed to load and returned this error:
'cannot load such file -- bundler/setup'
[*] You may need to uninstall or upgrade bundler
解決方法:
sudo gem install bundler
bundle update celluloid
(2)當提示另外一種錯誤的時候,可通過以下方法解決:

cd /usr/share/metasploit-framework/
bundle install
四、MSF的目錄結構

MSF Kali下存放目錄:/usr/share/metasploit-framework/
主要目錄:
1.Msfconsole
2.Data:這個目錄里盛放了Meterpreter、PassiveX、Vnc、DLLs等這些工具和一些用戶介面代碼,Msfweb 和一些其他模塊用到的資料檔案,
3.Modules:用戶用到的各種模塊幾乎都在這里,用戶使用use這個msf這里時,就是用到了這個目錄下的模塊,這個目錄下的檔案在msfconsole啟動時會被自動加載的,如果看到msfconsole啟動時有出錯資訊但又能成功啟動可以根據出錯資訊找解決方法,個人寫的Module也可以放在這個目錄下,
Modules下的核心模塊為:
(1)Exploits模塊(存放漏洞攻擊腳本)
路徑命名規則:系統/服務/模塊名
例如:windows/smb/ms08_067_netapi
RHOST:目標主機IP地址
RPORT:目標主機連接埠
Payload:有效的載荷,成功后回傳shell
LHOST:攻擊者的IP地址
LPORT:攻擊者的埠
(2)Payloads模塊(payloads主要是在目標機執行的,而exploits是在本地機執行作用于目標機)
是攻擊者發送給系統執行的指令,
路徑命名規則:系統/型別/模塊名
例如:Windows/dllinject/reverse_tcp
型別命名規則
shell:上傳一個shell,
dllinject:注入一個dll到行程,
patchup***:修補漏洞,
upexec:上傳并執行一個檔案,
meterpreter:高級的payload,
vncinject:高級的payload,
passive:高級的payload,
模塊名的命名規則
shell_find_tag:在一個已建立的連接上創建一個shell,
shell_reverse_tcp:反向連接到攻擊者主機并創建一個shell,
bind_tcp:監聽一個tcp連接,
reverse_tcp:反向建立tcp連接,
reverse_http:通過HTTP隧道通信并創建一個新用戶添加到管理組,
add_user:創建一個新用戶并添加到管理組,
xxx_ipv6_tcp:基于IPV6,
xxx_nonx_tcp:no execute或win7(NX是應用在CPU的一種可以防止緩沖區溢位的技術),
xxx_ord_tcp:有序payload,
xxx_tcp_allports:在所有可能的埠,
(3)Nops:NOP (No Operation or Next Operation) sled,由于IDS/IPS會檢查資料包中不規則的資料,所以在某些場合下(比如針對溢位攻擊),某些特殊的滑行字串(NOPS x90x90...)則會因為被攔截而導致攻擊失效,所以此時需要修改exploit中的NOPs.nops檔案夾下的東西會在payload生成時用到(后面會有介紹),比如我們打開php的NOPS生成腳本,就會發現它只是回傳了指定長度的空格而已,
(4)Encoders:各種編碼工具用于躲過入侵檢測和過濾系統,
(5)Auxiliary:主要包含滲透測驗中一些輔助性的腳本,這些腳本功能有掃描,嗅探,破解,注入,漏洞挖掘等,
(6)Post:這個目錄里放著msf 的exploits執行成功后,向目標機發送的一些功能性指令比如:提權,獲取hash等,
五、MSF基本命令
1.Msfconsole MSF控制臺
相關命令:用?查看幫助項

六、漏洞實戰
首先查看漏洞掃描報告,根據報告中存在的漏洞,一一進行驗證,不排除誤報的情況,
命令層級關系:
msfconsole---> exploit--->metrpreter (控制臺--攻擊--木馬選單)
基本步驟:
1.進入MSF控制臺:msfconsole
2.找到要利用的漏洞輸入編號(search命令)
3.使用要利用的攻擊項(use命令)
4.查看模塊配置資訊(帶Yes的是需要配置的):命令:show options
查看能攻擊哪些系統命令:info
(配置攻擊payload: set payload windows/x64/meterpreter/)
5.配置(set命令):Rhosts、Lhost,
6.攻擊(exploit命令):建立起會話,進入meterpreter.
本次的實驗由于篇幅原因,會在后面文章中分別對各個市面上爆出的主流漏洞進行一一梳理,主要的漏洞包括:

1.微軟系統漏洞:
(1)445埠
MS17-010 永恒之藍
CVE-2020-0796 永恒之藍2.0
MS08-067 網路服務器攻擊
(2)3389埠
MS12-020
CVE-2019-0708
(3)其它微軟漏洞
MS10-087:應用軟體格式滲透,利用word去滲透,
CVE-2017-8464:(震網三代,遠程快捷方式漏洞)
MSF木馬生成使用(.exe)
2.Linux系統漏洞:
利用samba 服務漏洞入侵linux主機
PHP CGI漏洞
CVE-2017-7494 Linux smb漏洞
CVE-2014-6271 Bash Shellshock(破殼)
NFS Exported Share Information Disclosure
Java RMI SERVER 命令執行漏洞與java cve-2013-0422
Ingreslock 后門
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297765.html
標籤:其他
下一篇:ctfshow-WEB-web8
