Shellshock Attack SEED-LAB

本文档详述了Shellshock漏洞的利用和防御,通过实验环境搭建,展示了如何利用bash环境变量发动攻击,包括通过浏览器和curl工具传递数据。实验涉及通过CGI程序注入恶意命令,获取反向Shell,以及在打补丁后的bash中攻击无效的情况。
摘要由CSDN通过智能技术生成

实验官方文档链接SEED Project

环境搭建

  1. DNS设置

    在我们的设置中,web服务器容器的IP地址为10.9.0.80。服务器的主机名为www.seedlab-shellshock.com。我们需要将此名称映射到IP地址。请将以下内容添加到/etc/hosts。您需要使用root权限来修改此文件

    10.9.0.80 www.seedlab-shellshock.com
  2. 容器设置及相关命令

        在lab官网下载labsetup到虚拟机中,使用以下命令解压缩        

apt install -y unzip
unzip Labsetup.zip

        使用命令dcbuild设置实验环境,但是出现以下报错

ERROR: Service 'victim' failed to build : Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 127.0.0.53:53: server misbehaving

        解决办法:修改虚拟机的网络连接方式为NAT        c2762f3a46774c37928d0505a8926d2c.png

        接下来用dcup命令运行靶机容器

        3. Web Server and CGI

在本实验中,我们将对 Web 服务器容器发起 Shellshock 攻击。 许多 Web 服务器启用 CGI,这是一种用于在网页和 Web 应用程序上生成动态内容的标准方法。 很多CGI程序都是shell脚本,所以在实际的CGI程序运行之前,会先调用一个shell程序,这样的调用是由远程计算机的用户触发的。 如果shell程序是一个易受攻击的bash程序,我们可以利用易受攻击的Shellshock获取服务器权限。

在我们的 Web 服务器容器中,我们已经设置了一个非常简单的 CGI 程序(称为 vul.cgi)。 它使用 shell 脚本简单地打印出“Hello World”。 CGI 程序放在 Apache 的默认 CGI 文件夹 /usr/lib/cgi-bin 中,它必须是可执行的。

#!/bin/bash_shellshock
  
echo "Content-type: text/plain"
echo
echo
echo "Hello World"

CGI 程序使用 /bin/bash shellshock(第一行),而不是使用 /bin/bash。 此行指定应调用哪个 shell 程序来运行脚本。 我们确实需要在本实验中使用易受攻击的 bash。

要从 Web 访问 CGI 程序,我们可以使用浏览器输入以下 URL:http://www.seedlab-shellshock.com/cgi-bin/vul.cgi,或者使用以下命令行程序 curl 做同样的事。 请确保 Web 服务器容器正在运行。

curl http://www.seedlab-shellshock.com/cgi-bin/vul.cgi

a2656bc7b7674dcfabfa905abd854a97.png

task 1:experimenting with Bash Function

在bash_shellshock上设计一个实验验证该shell

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值