安全圈 | 专注于最新网络信息安全讯息新闻

首页

分享你的科技,為安全加點溫度.

作者 rampino 时间 2020-02-24
all

2017年5月12日起,全球範圍內爆發的基於Windows網路共用協定進行攻擊傳播的蠕蟲惡意程式碼,不法分子通過改造之前洩露的NSA駭客武器庫中“永恆之藍”攻擊程式發起的網絡攻擊事件。研究人員“Sleepya”在github上發佈了一個Python版本的ETERNALBLUE,這使得在Windows Server 2012 R2能够成功利用的可能。ETERNALBLUE利用了Windows系統中的MS17-010漏洞,向Microsoft服務器消息塊1.0(SMBv1)服務器發送經特殊設計的消息,來獲得管理許可權。本文介紹了在windows server 2012 R2版本上的漏洞利用過程。

被攻擊系統為windowsserver 2012 R2(未安裝MS17-010補丁),安裝全新的作業系統後,無需對其進行任何更改。只需要知道目標IP地址,在進行攻擊的時候是主機是需要運行的。

攻擊系統為linux的kali系統:

需要的環境:

u  Windows server 2012 R2 64-->IP:10.134.6.67  被攻擊主機

u  Linux/kali --> IP:10.114.6.50  攻擊主機(metasploit埠8089)

需要的工具:

u  NASM:是一款基於80x86和x86-64平臺的組合語言編譯程式,其設計初衷是為了實現編譯器程式跨平臺和模組化的特性。

u  Metasploit:一個免費的、可下載的框架,通過它可以很容易地獲取、開發並對電腦軟體漏洞實施攻擊。

u  Python工具。

從以下連結可以獲得Sleepya開發的內核shellcode:https://github.com/worawit/MS17-010/blob/master/shellcode/eternalblue_kshellcode_x64.asm

使用以下命令來下載asm程式碼:

使用NASM工具對asm程式碼編譯,利用以下命令:

再使用msfVENOM生成一個用戶的反彈shellcode攻擊載荷

首先我們嘗試一個基於TCP的反彈shell,LHOST和LPORT為本地ip和埠;

使用下列命令生成一個Linux下反彈shell木馬:

修改shellcode:

Shellcode前加上eternalblue內核,形成新的攻擊載荷。

利用以下命令,形成新的reverse_shell.bin:

下載Sleepya開發的漏洞利用的python程式(windows server 2012),程式碼連結為:

https://github.com/worawit/MS17-010/blob/master/eternalblue_exploit8.py

完成以上步驟後,eternalblue資料夾下包含以下檔案:

實施攻擊之前,設定監聽。在新的終端視窗中打開Metasploit,使用模塊handler,設定payload為reverse_tcp,設定監聽的Localhost的ip和埠,用來反彈shellcode。注意:這裡設定的payload要和我們生成載荷所使用的payload一樣。

在未知系統登入帳號的情况下,可以通過Guest帳號登入,但是需要windows主機設定啟用Guest帳號登入。修改eternalblue_exploit8.py中的以下程式碼,設定登入資訊:

在已知用戶名和密碼的情况下,可以通過設定來登入,無論帳號的許可權是什麼級別,得到的都是管理員許可權。

通過運行eternalblue_exploit8.py,執行以下程式碼,啟動攻擊:

在metaspoilt上得到反彈結果,得到Windows的控制:

控制的許可權為system:

通過以上過程,在未安裝MS17-010的情况下,可以通過IP地址獲得windowssever 2012的管理員許可權遠程控制電腦。但是需要目標啟用Guest帳戶,或者獲得系統的一個帳戶資訊。囙此,MS17-010是windows系統上一個較為嚴重的漏洞。