本記事について
本記事はセキュリティ研究および防御目的の情報共有を意図したものです。 観測されたIoC(IPアドレス・ドメイン)はディフェンス目的での記述であり、 攻撃手法の助長を目的とするものではありません。 記載内容の利用はご自身の責任でお願いします。
概要
国内NTT網のVPSに設置したT-Potハニーポットの観測記録です。 ローカル環境のELK Stackでログを可視化・分析しています。
| 項目 | 内容 |
|---|---|
| 観測期間 | 2026年3月11日〜17日(7日間) |
| 設置場所 | 国内VPS(NTT網) |
| 分析基盤 | ELK Stack(Elasticsearch + Logstash + Kibana) |
SSH ブルートフォース(Cowrie)
全イベントの約64%をCowrie(SSHハニーポット)が占めました。
よく試行されたユーザー名 TOP3
1. root
2. 345gs5662d34 ← SSHボットが世界中で使い回す定番文字列
3. admin
よく試行されたパスワード TOP5
1. 123456
2. 345gs5662d34
3. 3245gs5662d34
4. 1234
5. 123
345gs5662d34 / 3245gs5662d34 は、SSHブルートフォースボットが世界中で使い回している定番の認証情報です。Miraiの有名な61組リストには含まれていませんが、SANS ISC などのハニーポットでも頻出する文字列で、Polycom CX600 IP電話のデフォルト認証情報という説が有力です(確信度:中)。これを使った自動スキャンが大量に観測されました。
考察:345gs5662d34 という奇妙な文字列の正体
123456 や admin が試されるのは直感的にわかります。誰でも思いつく弱いパスワードだからです。でも 345gs5662d34 は違います。人間が思いつく文字列ではありません。これが2位・3位に食い込んでいるのは、それだけ多くのボットが同じcredentialリストをコピーして使い回していることの裏返しです。
出荷時のデフォルト認証情報が特定機器に埋め込まれ、それがボット間で共有され続けている、という構図です。攻撃者はこの値が「どの機器のものか」を理解している必要すらありません。リストに載っているから、ただ機械的に試しているだけです。
ここから読み取れる教訓はシンプルです。ボットは賢く考えているのではなく、膨大なリストを機械的に総当たりしているだけ。だからこそ、リストに載りようのない認証方式(公開鍵認証)に切り替えるだけで、この種の攻撃はまるごと空振りに終わります。
MITRE ATT&CK マッピング
| Technique ID | Technique Name |
|---|---|
| T1110.001 | Brute Force: Password Guessing |
固定のクレデンシャルリストを使い回している点では、パスワードスプレー(T1110.003)やクレデンシャルスタッフィング(T1110.004)の性格も帯びています。なお、ログイン成功後のシェルコマンド実行(T1059.004)やシステム情報探索(T1082)は今回の観測範囲では確認していないため、表には含めていません。
Suricata アラート傾向
Suricataのアラートをカテゴリ別に見ると、最多は Attempted Administrator Privilege Gain(45,805件) でした。一方で、シグネチャ単体での最多件数は次に挙げるRipple20関連アラート(61,000件超)です。しかも、この最大件数のアラートは攻撃ではなく誤検知でした。 件数が多い=攻撃が激しい、とは限らない——このSuricataパートは、その切り分けの話が中心になります。
国内NTT PC CommunicationsのホスティングIPからIPv6マルチキャストパケットによる CVE-2020-11899(Ripple20) のアラートが61,000件以上記録されました。ただし、これは攻撃ではなく誤検知(フォールスポジティブ)の可能性が高いと考えています。
考察:このRipple20アラートは誤検知だと考える理由
Ripple20はTreck社製のTCP/IPスタック(医療機器や産業機器など、表に出てこない組み込み機器に広く使われている通信ソフト)に見つかった脆弱性群で、CVE-2020-11899はそのIPv6処理における領域外読み取りです。最初はこれを狙ったスキャンかと思いましたが、中身を確認すると攻撃と解釈するには無理があります。誤検知を疑う根拠は次のとおりです。
- そもそも自分宛のユニキャストスキャンではない:観測されたのはIPv6マルチキャスト通信(
ff02::系のリンクローカルマルチキャスト)であり、特定のホスト(このVPS)を狙い撃ちにした探索とは性質が違う - IPv6マルチキャストは正常な通信である:IPv6では近隣探索(Neighbor Discovery)・MLD(マルチキャスト視聴者検出)・ルーター広告(RA)といったマルチキャスト通信が常時飛び交う。これはネットワークの正常な"挨拶"であって攻撃ではない
- このシグネチャはもともと誤検知が多いことで知られている:Ripple20系のIDSルールは、正常なIPv6マルチキャストパケットに反応してしまうことが報告されている
- 件数の出方が不自然:6万件が特定の1ホストから定期的に出ており、無差別スキャンというより定常的なネットワーク通信のパターンに見える
- そもそも遠隔から狙いにくい脆弱性である:CVE-2020-11899の攻撃元区分は「隣接ネットワーク」(CVSSの AV:A)で、インターネット越しの無差別攻撃には乗りにくい
つまりこれは「6年前の脆弱性が狙われている」という大げさな話ではなく、正常なIPv6通信をIDSが攻撃と取り違えたものと考えるのが妥当です(確信度:中〜高)。
ここから得られる教訓:アラートを鵜呑みにしない
ハニーポットやIDSは「疑わしきは鳴らす」設計です。だからこそ、出てきたアラートをそのまま「攻撃された!」と数えてしまうと、脅威の姿を見誤ります。
大事なのは、送信元・通信の方向・プロトコルの素性を一つずつ確認して、「これは本当に攻撃か、それともネットワークの正常な雑音か」を切り分けることです。今回のRipple20アラートは、その切り分けの良い練習台になりました。件数の多いアラートほど、まず疑ってかかるくらいでちょうどいいと思います。
おわりに
設置初週でこれだけのトラフィックが飛んでくるのか、というのが正直な感想でした。しかも中身を見ていくと、その大半は派手なゼロデイ攻撃ではなく、弱い認証情報の総当たりでした。一方で、攻撃に見えて実は誤検知だったアラート(Ripple20)もあり、観測データは「鳴った件数」ではなく「中身」で見る必要があると改めて感じました。
裏を返せば、防御側がやるべきことも地味です。
- SSHは公開鍵認証にして、パスワード認証を無効化する
- 使っていないポート・サービスは閉じる
- アラートは件数で驚かず、送信元と通信内容から「本物か誤検知か」を切り分ける
当たり前のことばかりですが、観測データはその「当たり前」が今もきちんと効くことを裏付けています。攻撃者の大半は、賢い標的型ではなく、機械的にリストを舐めていく無差別型です。だからこそ基本の徹底が、いちばんコスパのいい防御になります。
次回以降の観測記録では、こうしたトラフィックの中から「ノイズ(無差別スキャン)」と「気になる動き」をどう切り分けていくか、というところも書いていきたいと思います。
参考・使用ツール
- T-Pot by Deutsche Telekom Security GmbH — GitHub (GPL v3.0)
- This product includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com
2026-06-24 追記:考察セクションを加筆し、Ripple20(CVE-2020-11899)アラートに関する記述を「誤検知の可能性が高い」と見直しました。