信息收集
直接上结果
192.168.8.120
为VM平台,也即目标靶机,本机ip182.168.8.121
经典22,80端口,apache服务
drupal的CMS,目录扫描部分结果如下
1 | [12:13:08] 200 - 3KB - /install.php |
先康康robots.txt文件
挺好的,还出来了登录页面/user/login
,其他的没权限康
寻找利用点
这时候注意到一个小细节
首页的Details点开会传GET参数nid,随手试了试/?nid=1'
发现回传页面不一样!
SQL注入!终于刷到了QAQ
这里图省事,sqlmap跑一波,先爆出数据库名儿(吐槽一下这不是dc8吗为啥要叫d7)
1 | sqlmap python3 -u <url>/?nid=1 --dbs |
- sqlmap python3 sqlmap.py -u
/?id=1 –dbs 查询数据库的库名 - sqlmap python3 sqlmap.py -u
-D 数据库名 –tables 查询数据库的表名 - sqlmap python3 sqlmap.py -u
-D 数据库名 -T 表名 –column 查找字段 - sqlmap python3 sqlmap.py -u
-D 数据库名 -T 表名 -C flag –dump 可显示flag
这两个数据库都分别进行查询其中在d7db库中发现了users
的表,展开发现结果如下
1 | sqlmap python3 -u <url>/?nid=1 -D d7db -T users -C name,pass --dump |
好家伙,,,爆是爆出来了,但是$S$说明它用的是自己定义脚本进行的hash转换。。。也就是说我们仅仅知道了用户名儿
name | password |
---|---|
admin | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z |
john | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF |
那现在就有俩思路
- 直接去web爆破admin和john的账号密码
- 使用
john the rapper
进行爆破这个哈希值
john the rapper解出来了john的密码john:turtle
。
hydra爆破也走了一波,,,哪怕我开了12线程,用kali自带rockyou.txt也非常慢,,,
所以直接走登录吧
漏洞利用
登录上去后,发现contact us的页面是可以修改编辑的,自然想到使用php格式写入一句话木马连webshell
因为上传之后没有上传的地址,所以webshell先暂时搁置
这里需要用户再次提交信息,才能触发php代码
那换一种方式
直接反弹shell
1 |
|
OK,有了!
本地提权
先检查SUID,确实有几个可以思考的方向,先码着
在输入sudo -l
,康康www-data有哪些无密码的root权限,发现并没有,但这算提示吗,虽然我看不懂
先试试exim4吧,46996.sh这个脚本
1 | exim4 --version |
诶,4.89好像符合诶
直接nc上传文件,同样还是在/tmp文件夹下,因为该文件夹权限较大
1 | kali |
chmod +x 46996.sh
给权限,留待使用
这个地方直接在/tmp文件下运行脚本会显示一个很奇怪的错误,这里参考了eson的文章:
exp的文本格式是 dos文件的格式 然后linux的格式是不能跑的
因为dos格式编写的是 CRLF 而mac是CR unix是LF
所以多出来的CR \r会导致命令执行错误 并且 在检查文件的时候 并不会看到 (这种字符是不可见的非打印字符)
解决方法是
1 | sed -i 's/\r//' 46996.sh |
之后再使用netcat方式提权
1 | bash 46996.sh -m netcat |
getshell!
尾声
之后我测试了一下一句话,确实不是/node/3/done
这个位置,也就是说,没有上传的位置,就无法连接webshell。
OK,DC系列应该只剩下一个DC-9了,加油ヾ(◍°∇°◍)ノ゙
- 本文作者: Isabella
- 本文链接: https://username.github.io/2021/02/27/DC8靶机渗透记录/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!