记一次红蓝对抗
之前的文章,当时因为一些原因删除了,现在回头再来看,发现之前有很多不足,例如spring 没有去测试接口等等。
打码严重,将就着看下吧
背景
这次红蓝对抗主要以队伍的形式参加,使用vpn的进入到靶场环境,给出两个域名为目标。红蓝两个队,红为防守,蓝为攻击,在满足日常工作的前提下参加对抗,大家的时间也不算是特别充裕。
一、信息收集
两个域名:www.a.com、www.b.com.直接在浏览器访问后分别是这样子的
NND啥都没有啊,www.a.com点击之后也没反应。搞个GG。nmap扫特么的、跑跑目录再说
1、nmap扫描
扫描结果出来,记录了下。感觉没啥太大用。www.a.com出了80端口,访问也是一片空白,没什么可以利用的信息。www.a.com的ssh引起了点注意,看版本貌似是有用户名枚举。于是,掏出了我白嫖的10W+的字典包,不管三七二十一爆破梭一手~~~~
hydra命令一输,心里想着爆破成功以后的页面。。。美滋滋!一遍高兴着,就去干别的事儿了。。。。
事情搞完,回来一看,啥也没有。。。。。。剧本不都是这么走的么,弱口令一爆破,咔咔咔就进去了?为什么就爆不出来呢
2、目录扫描
端口没办法,那就扫扫目录。。。
扫目录还是有点价值。访问www.a.com的index.bak出现了struts的相关字,www.b.com直接输出了fastjason...看样子突破口就在这儿。。
二、漏洞利用
既然www.a.com有struts就先试试。。但是struts历史漏洞那么多也不知道这是哪个啊。。
抓包多测试了下,S2-061的pco可以命令执行!收集下主机信息
tomcat普通用户。。。。。先不管base64编码payload,弹个shell上去在看。。弹shell没问题。搜了下suid文件。。结果不太理想。。貌似没有可以利用的。。又查了下其他的提权方式,还没找到好的方式呢。。。shell咔的一下掉了。。
bp一看,命令也执行不了了,回显空白。。NND看样子是上策略了。。。尝试了好一会儿。。最后还是使用垃圾字符、参数污染绕过。
shell又上线了,但是依然找不到可以提权的点。。。有点僵住了
当前用户权限很低,除了/tmp其他目录都只有只读权限,提不了权搞个gg。
于是,反过来看fastjson...借鉴了零组的资料,又参照了下网上内容。。
测了之后感觉这玩意貌似就没有漏洞。。要么就是靶场设计的时候把相关漏洞修复了,要么就是防护太严格了。。根本就搞不进去。。(最大的可能是自己太菜。。qaq)
没办法,僵住了,还有其他事情要干呢。。先利用frp建个隧道,有空在搞。VPS搭建frp server,通过反弹shell,将frpc上传到目标服务器/tmp/目录。
本地使用proxifier代理,实现与靶机通信,发现靶机到的ssh开启,但是nmap没探测到,估计是没有往外映射。但是开了这也没啥D用啊(后面其实还是有点用)。
下班回家继续看了下提权的问题,8得行啊。。网上的工具也查了。。大哥们分享的方法也试了就是提不了。。
fastjson搞不了。。提权也提不了,你这玩意儿整得有点难啊。与此同时,公司的流量监测还咔咔的报我电脑在干坏事,安全保障的同事一顿质问我在干啥呢。。。
三、提权
内核提不了权,suid也不行,sudol滥用shell上没回回显。最后没办法了,根据大佬的提示说可以尝试在主机搜下遗留的配置文件,最后发现了一个tomcat-users.xml的文件,发现里面有一个账号密码!在tomcat配置文件中查看到tomcat/tomcat123456。
尝试ssh远程登录,连接成功。
这下sudo -l有回显了, 发现sudo命令存在root属主的权限,即sudo滥用,测试后可成果提权到root权限。
sudo python –c ‘import pty;pty.spawn(“/bin/sh”)’,成功提权并返回交互式shell
(这里有点坑,在反弹shell上sudo之后,输入tomcat的账号密码提示认证失败。。还需要ssh一下tomcat@127.0.0.1之后输入密码才能认证成功)
拿下目标服务器root权限。
四、内网移动
1、第一层内网环境探测
挂上代理,掏出goby扫描内网资产情况
同时kali挂上proxyhchains nmap探测内网存活
最后,整理到表格发现有五个其他存活IP
13是struts,10是fastjason,.3是运行了weblogic的,.17有apache flink。剩下的访问都是空白页面,尝试了一下应该是故意延误攻击队时间的。。。。。
2、.17的尝试
浏览器代理访问17的apache flink,且可上传jar包,这个洞是知道的,msf生成个jar网上一传,shell就来了
使用msf连接,查看资产IP,还有一层内网。。。。
为docker环境,无法逃逸:
3、.3的尝试
看下版本号,这里要说下goby,这工具是真滴好用,探测资产一谈一个准
尝试访问.3的weblogic,权限绕过路径
Nmap识别下系统类型
命令执行ping dnslog有回显,证明漏洞存在。
bp上命令执行,看了下当前用户,发现是管理员权限,鬼鬼。。这下没有提权的烦恼了(这里要注意下,修改poc格式,要满足http协议的格式才能有返回)
接下来就是拿到shell了,但是在bp里尝试下载exe马始终找不到文件去哪儿了。。后来看了下当前任务。。有某绒,怀疑exe落地就拜拜!本地免杀之后,用certutil下载文件依然是没有。。换了txt还是找不到,不知道咋回事儿。。。
但是dir等的命令都可以执行,那路径什么的就可以找到了,尝试下bp写文件1.txt,发现是没问题的。下不了马那就尝试bp写个webshell吧
C:OracleMiddlewareOracle_Homewlserverserverlibconsoleappwebappimages
哥斯拉免杀,成功上传了,某绒也没有杀。。但是奇怪的是访问image路径的jsp文件总是404页面,访问相同路径下图片却是没问题的
网上找了下相关的利用,都是直接传了就可以用。。但是我这儿是真不行。。image不行那就换到css目录吧!尝试在css目录上传shell,成功上传 ,发现是同样的情况!KAO!
回过头一想,为啥图片可以其他格式就不行?会不会是weblogic对文件类型有检测?那我直接在jsp码的文件头加个图片头试试。。。
哎!发现还真的好使。。没有对后缀做检验,检验的是文件头!接着哥斯拉上线,传个exe的免杀马,CS成功上线。
windows的系统,于是找了下域控,但是无果。。。。
4、第二层内网
查看网络信息:
搭建frp继续探测10.1.1.x网段主机:
扫描到10.1.1.3主机存活,泛微OA系统,存在泛微 e-cology 的BeanShell 未授权命令执行漏洞
漏洞是存在的,但是很多命令执行不了,exe马依然下载不了。。尝试搞个webshell也无果。。。
据说突破了这台以后,就可以摸到域控了,但是很可惜没有突破这一层,时间基本就结束了。
总结
五天时间,加上还有本职工作,时间还是有点紧的。结束之后问了下,fastjason这台机器大家都没拿下,docker本来也就是逃逸不了的。最后的泛微这条机器没有拿下,有点可惜,隔壁的大哥在我们刚找到泛微的时候就已经拿下了域控,也不知道用的啥方法,总结起来还是利用手段太少了,后续还需要积累。
个人的学习记录,欢迎大佬指点,不喜勿喷~
原文始发于微信公众号(学安全在路上):记一次红蓝对抗
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论