Active Directory攻防實驗室環境搭建教程(二)
這篇文章不是為了描述如何搭建配置非常完美的實驗室。相反,本文的重點是實驗室的具體環境,可以讓你作為學習的工具快速,輕鬆地搞起來。了解計算機網路和安全的最佳方法是自己搭建家庭實驗室。值得高興的事情是,搭建家庭實驗室不再像以前那樣需要多台物理計算機。虛擬化技術使得任何人都可以使用高配的處理器和足夠的內存來創建實驗室環境,而不會過於的複雜。此外,也可以以最低的成本來構建Windows環境進行網路安全測試。
管理實驗室虛擬機
大多數虛擬化平台都能夠創建虛擬「交換機」,這樣網路通信就可以被限制和隔離。這中方式可以確保一個實驗室環境不能與另一個實驗室環境進行通信。
實驗室操作系統構建有兩種不同的方法。一種是執行Windows安裝(客戶端或伺服器OS),然後使用generalize選項運行Sysprep。這會把Windows設置為類似於安裝程序運行後的狀態,以確保在下次啟動時清除並生成計算機特定信息。運行Sysprep後,關閉計算機並保存VM文件。現在就可以將其用作任何新的操作系統安裝的「起點」(相同的操作系統版本)。許可證由Sysprep重置(SkipReam不會重置許可數據)。
一旦你安裝了虛擬機你就可以按照你喜歡的方式進行配置,重要的是備份數據。不過這樣做取決於虛擬平台,但通常我一般會導出VM數據以便後面導入。在對實驗室環境(我的基線)進行重大更改之後,以及在使用「黑客工具」進行任何攻擊之前,我通常都會備份一次虛擬機。
不要在一段時間內關閉一些域控制器。把它們全部關掉或讓它們全部打開。如果你需要測試一個場景,包括關閉所有DC(除了一個或兩個),請確保它們是同時都打開的,然後再將其全部關閉。墨菲定律:在實驗室中排除Active Directory問題有時候似乎比生產環境中更複雜。
VM規格
大多數實驗室虛擬機只需要一個虛擬CPU(vCPU),我通常是將每個虛擬硬碟(Hyper-V上的VHD / VHDX)設置為250GB,動態擴展(沒有任何實際的性能問題)。
實驗室VM磁碟大小(安裝和配置後):
Windows 7:50 - 60GB
Windows 10:15 - 25GB
Windows Server 2008 R2:7 - 10GB
Windows Server 2012 R2:7 - 10GB
Windows Server 2016:12 - 15GB
顯然,虛擬機磁碟空間並不接近虛擬硬碟所設置的250GB,但這只是VHD的最大尺寸。這在VHD中需要時提供額外的空間。
RAM配置需要更多的調整。動態內存(Hyper-V&VMWare)可以簡化這一點的操作,因為你可以將啟動RAM設置為2GB(我的實驗室里的大多數虛擬機設置的啟動RAM為 2GB)。啟動後,VM OS的安全性就會降低。雖然我發現Windows 8 / 8.1和Windows 10做的更好了一點,支持3GB的啟動RAM。任何沒有虛擬化擴展的操作系統(VMWare Tools或Hyper-V Integration Services)通常不支持這些功能,因此在系統通電(通常是非Windows VM)時,RAM將保持不變。顯然,提供給VM的內存越多,操作系統運行越快(一般來說),所以不要使內存的虛擬機不夠用。
提升域控制器
在使用Windows Server 2008 R2和更早版本的Windows Server操作系統時,DCPromo是用於將成員伺服器升級到域控制器。從Windows Server 2012開始,PowerShell cmdlet Install-ADDSForest可以創建一個新林,並且Install-ADDSDomainController用於向現有域添加新的DC。Install-ADDSDomain可以在現有林中創建一個新的域。
安裝適當地模塊:
Add-WindowsFeature AD-Domain-Services
Add-windowsfeature
創建林中的第一個DC,先創建一個新林:
Import-Module ADDSDeployment
$SafeModeAdministratorPasswordText = 『&P@ssw0rd2013&』
$SafeModeAdministratorPassword = ConvertTo-SecureString -
AsPlainText $SafeModeAdministratorPasswordText -Force
Install-ADDSForest -CreateDNSDelegation:$False -DatabasePath 「c:WindowsNTDS」 -
DomainMode 『Win2012』 -DomainName 「LAB.ADSecurity.org」 -DomainNetbiosName 「ADSECURITYLAB」 -
ForestMode 『Win2012』 -InstallDNS:$true -LogPath 「C:WindowsNTDS」 -NoRebootOnCompletion:$false -
Sysvolpath 「C:WindowsSYSVOL」 -Force:$true -SafeModeAdministratorPassword $
SafeModeAdministratorPassword
將另一個DC添加到現有域:
Import-Module ADDSDeployment
$SafeModeAdministratorPasswordText = 『&P@ssw0rd2013&』
$SafeModeAdministratorPassword = ConvertTo-SecureString -
AsPlainText $SafeModeAdministratorPasswordText -Force
Install-ADDSDomainController -NoGlobalCatalog:$false -CreateDNSDelegation:$false -Credential (Get-Credential) -CriticalReplication:$false -DatabasePath 「C:WindowsNTDS」 -
DomainName 「LAB.ADSecurity.org」 -InstallDNS:$true -LogPath 「C:WindowsNTDSLogs」 -
SiteName 「Default-First-Site-Name」 -SYSVOLPath 「C:WindowsSYSVOL」 -Force:$true -
SafeModeAdministratorPassword $SafeModeAdministratorPassword
通過創建域中的第一個DC來將新域添加到現有的林:
Import-Module ADDSDeploymentInstall-ADDSDomain -Credential (Get-Credential) -NewDomainName 「CHILD」 -ParentDomainName 「LAB.ADSecurity.org」 -InstallDNS -CreateDNSDelegation -DomainMode Win2003 -DatabasePath 「C:WindowsNTDS」 -SYSVOLPath 「C:WindowsSYSVOL」 -LogPath 「C:WindowsNTDSLogs」
注意:這些AD DCPromo PowerShell命令是為了指導演示,不能逐字使用。
使用Get-Help 獲取cmdlet的幫助信息來設置適當的參數。
我的「ADSecurity.org」實驗室環境
我的實驗室環境中同時運行了幾種不同的配置。我有三個Hyper-V主機,每個都配置了Core i7,32GB和256GB SSD。其中兩個運行Windows Server 2012 R2,第三個運行Windows Server 2016 TP4。
在兩個2012 R2 Hyper-V主機上,我運行了多個實驗室AD環境來測試各種測試場景(包括上面所描述的變體)。通常,一個Hyper-V主機包含具有長期VM測試(包括Microsoft ATA)的「穩定」實驗室,另一個具有更多的短期實驗室環境,用於測試漏洞快速利用場景並驗證安全性想法/場景。
運行Windows 2016 TP4的Hyper-V主機託管了具有Windows 2016成員伺服器的Windows Server 2016林以及Windows 10客戶端的VM。
實驗室自動化
我使用定製的PowerShell腳本為我做大部分的工作。我將在我的GitHub存儲庫中發布這些腳本,以便在不久的將來可以使用 ; 但是,它們應該被認為是示例腳本,僅用作自動化環境的起點。
常見的Active Directory故障排除命令
DCDiag / c / v / e / fix /f:c:DCDIAG.Log
對具有詳細日誌記錄的林中的所有DC運行全面測試
/c:執行一套全面的測試。
/v:提供詳細的日誌記錄,顯示有關被測試和結果的附加信息。
/fix:修復任何未註冊的DC SPN
/a:測試站點中的所有DC。
/e:測試企業中的所有DC。謹慎使用。
/ReplSource::在此DC和另一個之間測試連接。
DCDiag複製相關測試:
CutOffServers
Intersite
MachineAccount
NCSecDesc
Netlogon
ObjectsReplicated
VerifyEnterpriseReferences
VerifyRreplicas
NLTest / sc_query:DNSDomainName 檢查安全通道
NLTest / sc_verify:DNSDomainName 驗證安全通道
NLTest / dsgetsite檢查電腦網站(也檢查安全通道)
Kllist -li 0x3e7 列出機器帳戶的Kerberos門票
RPCDump 顯示複製rpc埠Portqry對埠135運行,查看映射的RPC埠。
Repadmin / replsummary 林複製健康狀況檢查
Repadmin / kcc * 強制KCC在所有DC上運行
Repadmin / kcc / site:SITENAME 強制KCC在指定站點的所有DC上運行
repadmin / removelingering對象ServerName ServerGUID DirectoryPartition / consult_mode
Repadmin / bind 檢查RPC連接
注意:如果LinkValueReplication = NO,那麼它是Windows 2000 Forest功能模式。
Repadmin / queue 請參閱複製隊列 或Perf計數器:NTDS_DRA等待覆制同步
Repadmin / showreps
Repadmin / showrepl / v 有關複製夥伴的信息 - 顯示不會複製DC
Repadmin / showutdvec關於NC最新向量的信息
Repadmin / showconn 顯示有關連接對象的信息
Repadmin / showsig 顯示InvocationID和關閉的InvID
Repadmin / siteoptions SERVERNAME / site:SITENAME + Win2k3_Bridges_Required
當禁用BASL時,此站點選項會配置Intersite Mesaging對DFS有用的內部站點成本矩陣。
Repadmin / showobjmeta
請參閱AD對象歷史記錄
Legacy 顯示在Win2k3 林功能級別之前的組
Present 顯示在 Win2k3 林功能級別之後創建/修改的組(組成員已刪除/添加)
Recycle Bin deleted objects 顯示為「現在」,但帶有DEL:GUID的組
Ipconfig / all
Ping ##.##.##.##
Nslookup ######。###
DNSCMD
DNSLint(KB 321045)
Active Directory常用埠:
Windows Server 2008(及更新版本)DCs使用IANA RPC埠範圍:49152 - 65535
點擊展開全文
※在微軟這個全球最安靜的實驗室,靜靜聽自己關節活動的聲音……
※直擊1.8焦耳的威力,真人實驗帶來只管感受,太狠了!
※中國實驗首登國際空間站 實驗空間環境對基因突變影響
※雲南宣威大姐做「實驗」證明肉鬆棉花造,涉嫌傳謠被調查!
※科學小實驗 《彩虹杯》
TAG:實驗 |
※Kotlin Android 環境搭建
※Cloud Native 環境
※python selenium環境搭建
※Appium Android For Mac OS 搭建環境
※Eclipse JSP/Servlet 環境搭建
※python小白學習之anaconda的安裝與Jupyter環境配置
※在 Fedora 上搭建 Jupyter 和數據科學環境
※Docker環境下搭建DNS LVS(keepAlived) OpenResty伺服器簡易集群
※微軟為辦公室工作環境帶來 Windows Collaboration Displays 硬體平台
※Python3+Selenium3 Windows下環境搭建
※Jenkins+RobotFramework持續集成測試-jenkins環境搭建
※windows離線狀態下源碼安裝Robotframework 環境及依賴包
※離線環境快速搭建ElasticSearch集群
※如何在 Kubernetes 環境中運行 Spark 集群
※Servlet 環境設置
※谷歌發布一個新的強化學習環境:Google Research Football
※Olafur Eliasson 在三種環境中的獨白
※Sweetest 教程:環境配置
※微軟預覽Windows Mixed Reality春季更新新環境
※Studio Florian&Christin:是撿破爛的設計師也是倡導環境保護的藝術家