はじめに
AWS上に構築したWOWHoneypotを、Application Load Balancer(ALB)経由でインターネットへ公開しました。
収集した生ログはすべて Splunk Enterprise へリアルタイム転送し、ダッシュボードを作成して攻撃の傾向を分析してみました。暇だったので。
公開して間もないにもかかわらず、スキャンや既知の脆弱性を狙った無差別なアクセスが大量に確認できました。
今回は、実際にハニーポットで観測できたデータをもとに、インターネットの裏側でどのような攻撃が行われているのか、具体的なログを交えて見ていきます。
1. 作成した Splunk ダッシュボード
今回、収集したログをリアルタイムに可視化・分析するために、Splunkで以下の要素を含む専用ダッシュボードを作成しました。
- 攻撃元IP Top10
- 攻撃元の国(ジオロケーション分析)
- User-Agent 分類
- User-Agent(Other)のディープダイブ
- 狙われた脆弱性・URI Top20
2. 攻撃元IP Top10
公開直後から、多数のIPアドレスから継続的にアクセスされていました。
上位だけでも100回以上アクセスしているIPが複数存在しており、これらは人間による手動のアクセスではなく、ボットによる自動スキャンであることが一目で分かります。
案の定、多数の報告がされているIPアドレスでした。
3. 攻撃元の国(GeoIP分析)
今回観測されたアクセス元の国の上位ランキングは以下の通りです。
- 韓国
- カナダ
- アメリカ
- 日本
- 香港
- インドネシア
- ポーランド
- カザフスタン
- シンガポール
- 中国
ただし、IPアドレスの所在国はVPNや公開プロキシ、クラウドサービス(AWSやDigitalOcean等)を経由している可能性が高いです。
アクセス元ネットワークの踏み台所在地程度に捉えるのが適切だと思います。
4. User-Agent 分析と脆弱性攻撃の検知
① メジャーなスキャナボット
最も多かったUser-Agentは libredtail-http でした。これはボットや自動スキャナで広く利用されていることで知られるUAです。
その他にも、以下のような既知のツールやサービスが多数確認できました。
-
Chrome/Firefox/Safari(偽装または通常ブラウザ) -
curl/zgrab/zmap(汎用通信・スキャンツール) -
Censys/Palo Alto Cortex Xpanse(公開資産の調査サービス) -
Infrawatch/InternetMeasurement
特に Censys や Palo Alto Cortex Xpanse は、インターネット上の公開資産(シャドーITなど)を調査する有名なプラットフォームです。ハニーポットを公開した直後、またたく間にこれらに検知・インデックスされていることがわかります。
②User-Agent を悪用した脆弱性攻撃(Shellshock)の検知
分類できなかったUA(Other)を深掘りしていたところ、興味深いログを発見しました。
() { :; }; echo 7bf5056ed8a5e9fb
調査したところ、CVE-2014-6271(Shellshock) を狙った典型的な攻撃ペイロードであることがわかりました。
Shellshockは、GNU Bashが環境変数の末尾に記述された関数定義を不適切に処理してしまう仕様上の欠陥(OSコマンドインジェクション)です。
攻撃者は、User-Agentヘッダそのものを攻撃の足場として利用していました。10年以上前の古い脆弱性ではありますが、インターネット上では今なお無差別かつ継続的に試行されていることがわかります。
5. 狙われた URI と攻撃カテゴリの分類
アクセスされたURI(ターゲットURL)を分析すると、攻撃者の明確な意図が見えてきました。
狙われたURIの傾向(Top20抜粋)
特に目立ったのが、以下のようにディレクトリ構成を少しずつ変えながら執拗にアクセスしている点です。
/vendor/phpunit/src/Util/PHP/eval-stdin.php/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php/vendor/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
これは、「どこかに脆弱なPHPUnit(CVE-2017-9841: リモートコード実行)が存在しないか」を自動でシラミ潰しに探索していることを示しています。
また、データベース接続情報や各種APIシークレットが眠る /.envファイルを直接狙い撃ちするアクセスも多発していました。
攻撃カテゴリ分類テーブル
URIの特徴から、攻撃の意図を以下のようにカテゴリ分け(分類)して集計しました。
| カテゴリ | 件数 | 考察 |
|---|---|---|
| Homepage | 3,554 | トップページの探索。ブラウザやクローラによる初回アクセス |
| Other | 644 | まだ分類できていないアクセス。今後要分析。暇だったらやる |
| PHPUnit RCE | 234 | 最も多かった既知脆弱性攻撃(CVE-2017-9841)、古いPHP環境を探すボット |
| Favicon | 61 | ブラウザやスキャナによるアイコンファイルの自動取得 |
| .env | 41 | Laravel等の環境変数ファイルの窃取試行 |
| Admin | 20 | 各種Webアプリケーションの管理画面探索 |
| PHP Code Injection | 18 |
php://input を利用した不正なコード実行攻撃 |
| CGI | 9 | 古いCGI関連の脆弱性探索 |
| IoT Device | 8 | ルーターや防犯カメラなどIoT機器の管理画面探索 |
| Login | 6 | ログイン画面のURL探索 |
今回の分析結果から言えること
公開サーバーに対して行われる波状攻撃は、パスワードの総当たり(ブルートフォース)ではなく、「既知の脆弱性(RCE)の探索」および「設定ミス(.envの露出)の探索」が圧倒的多数を占めました。
公開したのは数日間だけなので、データが少なく明言はできませんが。
6. ID・パスワード試行(認証突破の試み)
今回の観測期間では、ログイン情報の総当たり(パスワードスプレー等)はそれほど多くありませんでしたが、以下のような特徴的なアクセスが確認できました。
/boaform/admin/formLogin?username=admin&psd=admin
これは主にIoT機器やブロードバンドルーターなどで利用される管理コンソール(Boaform)に対し、初期設定の認証情報である admin / admin を試す典型的なワーム・ボットの動きです。
インターネットにLinuxサーバーを1台「ポート80」で公開するだけで、瞬時に世界中のボットネットの標的になることが分かります。
まとめと今後の展望
AWS上にWOWHoneypotを構築し、わずか数日間観測しただけでも、自動スキャンの実態を可視化することができました。
セキュリティエンジニアとしての気づきは以下の4点です。
まあなんとなく予想はしていましたが。
- PHPUnitや.envなど、対策が甘くなりやすい「既知の隙」を狙うボットが激増している
- Censys等の資産探索サービスへのインデックススピードは驚くほど速い
- Shellshockのように、過去に大騒ぎされた脆弱性は今でも日常的にスキャンされている
- ログイン総当たりよりも、脆弱性を突いた一撃突破(RCE)を狙う探索の方が多い
インフラとしてはこれで一区切りとなりますが、まだ「Other(未分類)」に埋もれているログが多く残っています。
今後はこれらをさらに1つずつ紐解き、
- 攻撃カテゴリのさらなる細分化
- ASN(自律システム番号)や所属組織ごとの攻撃元プロファイリング
- 不審な通信のIOC(侵害指標)の抽出
- MITRE ATT&CK のマトリクスへのマッピング
などを進め、このAWS×Splunkセキュリティ基盤をさらに進化させていきたいと思います。
暇だったらですが。
長編となりましたが、最後までお読みいただきありがとうございました。
インフラ設計編・構築編も合わせてぜひご覧ください。





