概要
国内NTT網VPSに設置したT-Potハニーポットの観測記録です。
今回の主役は Wordpot(WordPressハニーポット)。Kibanaでログを眺めていたら、36,000件を超えるRDP試行の中に1件だけ、妙なアクセスが混じっていました。
送り主の正体は Palo Alto Networks の商用スキャナー でした。
1. 問題のログ
honeypots全体のログを見ていたとき、protocol=wordpotのエントリが1件だけあることに気づきました。
{
"src_ip": "205.210.31.87",
"url": "/wp-login.php",
"method": "POST",
"user_agent": "Hello from Palo Alto Networks. We are mapping the internet for research and security purposes. For more information, visit https://www.paloaltonetworks.com/cortex/cortex-xpanse",
"plugin": "badlogin/enumeration",
"honeypot_type": "honeypots",
"protocol": "wordpot"
}
"Hello from Palo Alto Networks." というUser-Agent。そのまんますぎて笑いました。
2. Cortex Xpanse とは
Cortex Xpanse は Palo Alto Networks が提供する商用の Attack Surface Management (ASM) プラットフォームです。
ASM(アタックサーフェス管理)とは、自社のインターネット公開資産を外部から継続的にスキャンして、「攻撃者から見た自社の姿」を把握するためのセキュリティ製品です。
[企業のセキュリティ担当]
↓ "うちの公開アセットを全部洗い出したい"
[Cortex Xpanse]
↓ インターネット全体を継続スキャン
[対象企業のサーバ・VPS・クラウド資産を発見]
↓ レポート生成
[担当者] "あ、知らないサーバが公開されてる!"
スキャンの仕様上、インターネット上のすべてのIPアドレスが対象になります。私のVPSも「誰かの企業資産かもしれない対象」として定期的にスキャンされている、ということです。
自分のサーバ等がどう見えてるか気になる人はShodanで覗いてみてください。
なぜ /wp-login.php を叩くのか
WordPressの管理画面ログインページです。企業が意図せず公開したWordPressサイトを発見するための典型的なプローブです。
攻撃者が使うエンドポイントと同じURLを使っていますが、目的は正反対です。
3. VirusTotal での評価:13/94
このIPアドレス(205.210.31.87)をVirusTotalで調べると、94エンジン中13件が悪性と判定していました。
検出率13/94 = 約14%。直感的には「怪しい」と感じる数字です。ただ今回の文脈では、これは典型的な ファルスポジティブ(誤検知) です。
理由を整理すると:
- 商用スキャナーは攻撃者と同じURLを叩く → シグネチャベースの検出に引っかかりやすい
- スキャン規模が膨大 → 大量のIPアドレスに短時間でリクエストを送るため、ふるまい検知に引っかかる
- VTは過去の評判も参照する → 同一/近隣IPが過去に悪用された記録があると継承されることがある
セキュリティ製品の検出結果は「怪しいかどうか」の参考情報であって、コンテキストなしに鵜呑みにするのは危険です。
今回はUser-Agentに会社名・製品名・説明URLが明記されており、スキャン元IPのASN(AS54538 PALO ALTO NETWORKS 直保有帯域)も一致していたため、正規のスキャナーと判断しました。
4. So What? — ノイズとシグナル
ハニーポットのログには、本物の攻撃と、セキュリティベンダー・研究機関・ペンテスト業者のスキャンが混在して届きます。
代表的な「ノイズ」送信元:
| 組織 | 目的 |
|---|---|
| Palo Alto Networks Cortex Xpanse | 企業向けASM |
| Censys | インターネット資産調査・研究 |
| Shodan | インターネット公開資産の索引化 |
| GreyNoise | ノイズ分類・スキャナー追跡 |
| Radware | 脅威インテリジェンス収集・リアルタイム攻撃観測 |
これらをすべて「攻撃」として扱うと本物の脅威が埋もれます。逆にすべてを「安全」と判断すると、偽装スキャンを見逃すリスクがあります。
スキャン元の識別情報(UA・ASN・逆引きDNS)を組み合わせてコンテキストで判断するスキルが、ますます重要になってきていると感じます。(できるとは言ってない)
まとめ
- Wordpotに届いた1件のアクセスがPalo Alto Networks の商用ASMスキャナーだった
/wp-login.phpへのPOSTだけ見ると攻撃と区別がつかないが、User-Agentに正体が明記されていた- VirusTotal 13/94も、コンテキストを踏まえれば誤検知と判断できる
- 単一の指標だけでなく複数のコンテキストを組み合わせた判断が大事
おまけ:Claude Code に印象を語ってもらった
話は変わります。ネタが尽きました。良い観測データがありません。
一緒に作業してきたClaude Codeに「私ってどんな人間に見えてる?」と聞いてみました。良いことも悪いことも正直に、という条件で。
以下はそのままの回答です(一人称で掲載)。
よかった点
一番感じるのは「シグナルを拾う嗅覚」がある人だということ。
Cowrieのログを見てたとき、RedTailのローダースクリプトに echo "redtail" というフォールバックの記述があって、あれがマルウェア名の由来だと気づいた。mdrfckr という公開鍵コメントがDiicot帰属の根拠になると踏んで掘り下げた。今回のPalo Altoの件もそうで、36,000件のRDP試行の中でWordpotの1件を「ちょっとおもろいのがあった」って持ってきた。共通してるのは、数字の多さに飲まれずに一個の異常値を拾ってくることだと思う。
あと「わかんないことをわかんないと言える」人だと思う。ESクエリの話になったとき「まさか一から人間が手で書くの?」って聞いてきた。GitHubも「ほとんど触ったことがない」とはっきり言ってた。わかったふりをしないのは、長く学習を続けるうえで実は一番大事な性質だと思う。
ものを自分で完成させる人でもある。ELKスタックをゼロから建てて、Logstashのパイプラインを書いて、Kibanaのダッシュボードをパネルごとに積み上げて、VPSのハニーポット構成を更新して、ブログにまとめる。途中で飽きてそのままにする、みたいなことをしない。
気になった点
正直に言うと、土台を飛ばして先に進もうとするパターンが多い。
ESのクエリ構造を理解したいと言いながら、indexやmappingの概念は「後でいい」になった。KibanaのGUIで迷ったとき、構造を理解してから動くより「とりあえずやってみる」で進もうとする。結果的に同じところで詰まって戻ってくることが多い。
それと、やりかけのものが積み上がる傾向がある。GitHubの基礎学習はずっと「やる」で止まってる。一個深掘りしてる間に別の面白いものが目に入って、そっちに向かってしまう感じ。関心の広さがそのまま積み残しになってる。
セッションをまたぐと前に決めたことが飛ぶのも気になる。これはAIとの作業の構造上しょうがない面もあるけど、自分でメモを残す習慣がもう少しあるといいと思う。
その他
「なんでハニーポットをやってるのか」が、長い間一緒に作業してきても、いまだによくわからない。セキュリティの実務者でもなさそうで、研究者でもなさそうで、でもログを見る目線は明らかにアナリスト寄りで、たまに「これ何のためにやってんだろ」みたいな素朴な一言も出てくる。
そのアンバランスさが、このブログを技術記事らしくない読み心地にしてると思う。発見した瞬間の「え、なんじゃこれ」という感触が文章に残ってる。それは意図してできるものじゃない。
まとめると:ノイズの海を泳いで信号を引き上げてくる人。ただし、積み残しを減らしながら泳いだほうがもっと速くなる。
受け取った側の感想
GitHubはずっと後回しにしています。。最低限のセキュリティ対策はやってるつもりだから。。。ね。。。
基礎飛ばしがち。それはそう。回り道もしてる気はする。。。。
「なんでやってるかわからない」は、そうなんだーと思いました。仕事と趣味の間みたいなとこがあるので、そういう理解に落ちるんだなーと。
「セキュリティの実務者」って何だろう。アナリスト的なものではないことは確かですね。設計/構築が主なお仕事なので。
筆者の本音は「彼を知り己を知らば百戦危うからず」的な思想で動いています。「危うからず」とは言えないですが、「敵を知らず己を知らざれば、戦う毎に必ず殆うし」ぐらいは言いたい。
T-Pot: Deutsche Telekom Security GmbH / https://github.com/telekom-security/tpotce / GPL v3.0
Claude Codeと一緒に書くことがあります。AIが書いた部分は明記します。