一、信息收集
1、查询本机ip及目标靶机ip
本机ip:192.168.56.104,利用nmap查询同网段存活的ip
nmap -sP 192.168.56.1/24
扫描出靶机ip:192.168.56.110
2、收集靶机开放端口
输入nmap -sS -sV -T5 -A 192.168.56.110 搜索相应开放的端口及服务还有版本
发现22、80、111端口存在 ,并且从整体详细信息可以看出80端口运行着web服务,该框架是Drupal的cms框架,22端口的ssh,目前不清楚用户名及密码,先暂放一边,先对web端进行信息收集
3、对应端口进行尝试
发现了登录界面,尝试对其进行目录爆破,就一个robots.txt,查看后发现也没啥东西可用
二、Web渗透
打开msf,搜索drupal可用的模块,设置相关参数进行run
建立连接了,输入
shell
which python #查看是否安装python
python -c 'import pty;pty.spawn("/bin/bash")'
发现了flag1.txt,根据提示需要找到配置文件。
对其他文件夹进行查看后,发现sites里的settings.php中发现了flag2及数据库的用户和密码,flag2说爆破和目录攻击不是唯一获得访问的方法。
有了数据库和密码,就可以利用mysql -udbuser -pR0ck3t登录数据库查看相关用户信息了
查看到了用户名和密码,但是这个密码不知道是如何加密,故不太能暴力破解
这边有两种方式,一种是将admin的密码修改了,另一种是利用攻击脚本新添加一个用户。下面是第一种,更换密码。
搜查后发现,Drupal可以利用password-hash.sh文件来生成此种加密的结果,退出数据库搜寻相应的脚本,在scripts文件夹中发现password-hash.sh
将该值复制,并修改admin的密码
修改成功,返回登录,登录管理员账户,发现flag3
第二种方式,新开一个窗口搜索drupal的攻击脚本,有很多,其中有一个,利用sql injection新添加一个admin用户
利用该方法,新增一个admin3,密码也是admin3
python2 /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.56.110 -u admin3 -p admin3
利用新增用户登录后也可查看到flag3
根据提示,让我们找到passwd,那就是在/etc/passwd,还有PERMS以及FIND,得知了后面可能有SUID提权,关于SUID提权可以看我之前的文章(CVE-2021-4034漏洞原理解析)
返回我们那会的shell
发现存在一个flag4用户,这里可以直接find提权,或者可以试着爆破一下flag4用户,进行ssh连接看看
爆破出来,利用flag4用户登录,看到flag4.txt的提示,最终的flag需要root权限
然后搜索一下-prem 4000的都有啥
发现了find竟然也有SUID的提权,那就直接
find /var/www/ -exec "/bin/sh" \;
然后去到root目录下读取最终的flag
本次的DC系列第一个靶机就这样结束了,其实有很多种玩法,可以去探索。后续DC系列的靶机渗透将会继续更新,还有其他的靶场也会相继更新!希望能给需要的同学带来帮助!
渗透最主要的还是信息收集,老生常谈,前期的收集工作做的好,渗透过程中就会有更多的思路!
努力学习,每天进步一点点!