一次从外网 JoomlaCMS 渗透 Getshell,再到内网域渗透

VSole2022-07-16 06:19:33

简介

靶机作者:licong

靶机描述:域控中存在一份重要文件(获取域控权限) 靶机主机有5台:ubantu、win2008、win7、win2012、centos 攻击主机:KALI(192.168.93.128)、Win10(192.168.1.103)

拓扑图

其中 KALILinux 的 IP 会在文章中有变动,因为我搞这把靶场的时候中途关机过几次,随着开启启动VMwareDHCP会自动给它分配一个新的IP,所以我的 KALI 在文章中变成了 192.168.1.128192.168.1.129192.168.1.130

(小弟第一次做拓扑图,就这样吧...)

JoomlaCMS深入渗透

通过开放了 http 服务,我首先来看看 192.168.93.20 的 web,先是枚举了一下页面发现如下:

发现有一个 401 登陆认证的页面:

http://192.168.93.20/reports

经过一系列的 admin:admin、admin:admin123 ... 等等弱口令尝试后果断放弃!通过搜索了一下 Windows 2008 相关的漏洞发现有一个永恒之蓝

但是没啥用,这个先暂时缓缓,总不能在一棵树上吊死吧!

来到下一个 IP : 192.168.93.30 ! 继续我们的永恒之蓝看看能不能打下来:

看了没用啊,靶机还是有点"困难"的啊,原本以为这靶机存在永恒之蓝就可以打下了,事不如愿呐。

继续下一个 IP :192.168.93.100!通过再次的端口扫描所有详细信息后得知:

它开放了 22(ssh),80(http),3306(mysql),其中它 80 端口的 web 所使用的 CMS 为 JoomlaJoomlaCMS它是一套全球通用的CMS,所使用的脚本语言通常是 PHP

访问 http://192.168.93.100 发现页面上没有什么可以利用点:

通过使用 Joomscan 这款工具对它进行了一系列扫描:

https://github.com/rezasp/joomscan

扫描结果如下:

其中有利用价值的文件目录有这些:

http://192.168.93.100/administrator/
http://192.168.93.100/robots.txt
http://192.168.93.100/configuration.php

administrator 目录是一个登陆页面,尝试了它的默认密码以及弱口令无果:

来到 robots.txt 文件,没有发现泄漏了重要文件信息:

登陆Mysql数据库,管理员账号

但是 configuration.php~ 这个文件泄露了 mysql 的数据库连接信息:

如上图所示,我们得到了一个 mysql 的用户:

user:testuser 
pass:cvcvgjASD!@

用泄露的用户名和密码尝试登陆 mysql

mysql -h192.168.93.100 -utestuser -p
pass:cvcvgjASD!@

通过查询 joomla 数据库的 am2zu_users 表下的 usernamepassword 字段内容发现 administrator 用户的密码是加密的,而且不知道是啥加密,估计是加盐了。有知道的大佬麻烦告诉我,我会很感激的!

抱着试一试的心态去 cmd5 解密了一下无果:

额...那么换个思路!既然 admin 的密码拿不到,我们可不可以修改它的密码或者说添加一个管理员用户进去呢?

通过观看官方文档发现它可以通过 SQL 语句来添加一个新的用户:

https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F/zh-cn

Joomla拿到Webshell

通过插入 SQL 数据我们成功添加了一个 admin2 用户,密码是 secret,登陆它的 web

http://192.168.93.100/administrator/index.php

之后在模板新建一个 php 文件:Extensions -> Templates -> Templates

访问 http://192.168.93.100/templates/beez3/8888.php 得到一枚 SHELL

虽然得到了一枚 webshell,但是发现执行不了 shell 命令!但是呢可以切换目录,我切换目录到网站绝对路径下发现这些文件:

执行不了命令那么我通过疯狂翻目录文件找到了一个 test.txt 文件,里面好像是一个账号密码:

通过得到的密码尝试 SSH 登陆:

登陆成功后查看了一下内核

脏牛提权

发现内核版本大于 2.6.22 ,那么可以用脏牛提权(Linux kernel >= 2.6.22(2007年发行,到2016年10月18日才修复))

https://github.com/FireFart/dirtycow/blob/master/dirty.c

(到了这里我本来想放弃的,后来是问了团队的老哥给的思路方法才知道)

提权成功,我们来切换一下用户 firefart :

内网横向渗透

登陆成功!接下来通过 MSF 生成一个木马来得到一个 shell 进行后渗透:

通过 xshell 我发现上传不了文件:

后来通过 WinSCP 工具才上传成功的!

给 shell.elf 文件可执行权限,然后运行后 MSF 反弹回来一个 shell

之后先添加路由表扫描一下内网存活主机:

扫描存活主机使用的模块是这个:

这个时候扫描出来发现内网存活了这些:

192.168.93.1
192.168.93.10
192.168.93.20
192.168.93.30
192.168.93.100
192.168.93.120

但是不知道它具体是什么操作系统,那么可以通过这个模块来对内网进行探测操作系统:

auxiliary/scanner/smb/smb_version

扫描出来有三台主机,其实探测出来的和我们NMAP信息搜集出来的结果八九不离十,只不过是我们知道了靶机 IP 的情况下才探测出来操作系统,而现在是通过横向渗透才知道的:

[+] 192.168.93.20:445     - Host is running Windows 2008 Datacenter SP2 (build:6003) (name:WIN2008) (domain:TEST)
[+] 192.168.93.10:445     - Host is running Windows 2012 R2 Datacenter (build:9600) (name:WIN-8GA56TNV3MV) (domain:TEST)
[+] 192.168.93.30:445     - Host is running Windows 7 Professional SP1 (build:7601) (name:WIN7) (domain:TEST)

以上三台主机是有 TEST域的,说明他们在一个里!我通过MSF 爆破 Windows 2008 这台主机的 smb 登陆凭证爆破成功:

user:administrator
pass:123qwe!ASD

接着我先把它的流量代理出来,使用 socks4 代理:

auxiliary/server/socks4a

设置完毕后,配置 proxychains 在 /etc/proxychains.conf 这个文件,在末尾吧端口更改为刚刚设置监听的 1080 端口:

socks4 	127.0.0.1 1080

为了验证我们是否代理流量成功,我扫了一下 192.168.93.20(Windows 2008)这台主机的端口开放情况:

proxychains nmap -T4 -P 80,1433,3306,3389 192.168.93.20

扫描成功!这个时候就可以在扫它内网了!然后我本来想用 Socks4的,但是失败了不知道为啥,后面我又把它换成 Socks5

在扫它内网之前我需要吧 KALI 这台主机的流量给代理出来,下面我用到的 socks5代理,工具是 SSF:

Win10:ssfd.exe -p 1050
KALI:./ssf -F 1051 -p 1050 192.168.1.103

获取域控密码拿到Flag

代理成功后我们通过 wmiexec 去连接 windows 2008

wmiexec.exe administrator:123qwe!ASD@192.168.93.20

查看 Windows 2008 的 ip 后发现 dns 为 test.org,接着 ping test.org 获取到了域控制器的 IP :

这个时候尝试抓取 test.org 域里的 administrator 密码,先上传一个 mimikatz 到 windows2008

之后本来想用 mimikatz 读取密码的,但是在 dos 下进入不了 mimikatz 的交互界面...还是太菜了!我接着 MSF 生成了一个木马得到了 Windows 2008 的shell,然后直接运行 getsystem 得到了 SYSTEM 权限 :

然后上传了一个 mimikatz 直接读取到了明文密码:

最后通过 smb 连接到了2012机器拿到 flag

这一篇文章就到这吧。

外网ip
本作品采用《CC 协议》,转载必须注明作者和本文链接
信息收集首先针对?子域名 IP段 端口?
Freebuf的这篇文章http://www.freebuf.com/vuls/92016.html讲了GPP的应用场景和与之对应的安全问题。
信息收集首先针对?子域名 IP段 端口?
Part1 前言 大家好,我是ABC_123,不知不觉,我一个人已经连续写了51篇原创文章了。本期复盘一次
日前,中央信办、国家发展改革委、工业和信息化部联合印发《深入推进IPv6规模部署和应用2022年工作安排》(以下简称《工作安排》)。通知要求,坚持以习近平新时代中国特色社会主义思想特别是习近平总书记关于网络强国的重要思想为指导,深入实施《关于加快推进互联网协议第六版(IPv6)规模部署和应用工作的通知》,突出创新赋能,激发主体活力,打通关键环节,夯实产业基础,增强内生动力,完善安全保障,扎实推动
web、PC、DC都处于同一域环境内,需要手动开启weblogic服务
记一次内靶场学习
2021-12-15 15:56:44
记一次内靶场学习
渗透合集(三)
2023-01-28 09:44:16
jsp端口转发渗透过程中,由于windows和linux的差别以及运行语言环境的限制导致端口转发经常出现问题。于是自己写了个简单的JSP的端口转发脚本。仿造 LCX的功能,具有正向、反向、监听三种模式。对于目前数量众多的JAVA WEB网站来说,可以比较方便的实现端口转发。在这里发布出来,小伙伴们使用过程中,如果发现什么bug欢迎提交哈~参数说明/KPortTran.jsp?lip = local ip / 本地ip //一般为内主机IP. lp = local port / 本地端口 //一般为内主机端口
因为 web 服务器同时连接了和内,所以必须首先拿下。这里有关 web 服务器的渗透不展开讲了,无非也就是利用漏洞,诸如:弱口令、上传漏洞、远程代码执行、各种 cms 漏洞,总之都是可以找到写入 webshell 的方法。成功写入 webshell 后,接着就要上传木马控制 web 服务器,这里可以用 Metasploit或 Cobaltstrike。
在全面推动IPv6的大背景下,天融信积极响应国家政策,持续加大研发力度,全部产品均已支持IPv6协议,多款产品获得IPv6 Ready Logo 认证,涵盖传统网络、云计算、大数据、物联网、车联网、工业控制、移动互联等多种业务环境。
VSole
网络安全专家