JPCERT/CCが公表した不審なIPをきっかけに、複数のサイトのアクセスログを手口から追い直した。7か月で1,015個のIPから43万5,064回。98%がMicrosoft Azureからで、足場はリージョンを数か月ごとに移っていた。探していたのは脆弱性ではなく、他人が残したWebシェルだった。ASNと手口を掛け合わせて見えた探索活動の違いと、守る側が見るものを整理する。
JPCERT/CCが公表した不審な送信元IPを、複数のサイトのアクセスログで探してみた。
15個のうち1個が、見つかった。
そこで終わるはずだった。ところが、そのIPがやっていた手口を、送信元を問わずに探し直したら、話が変わった。
そのIPは、約1,000個のうちの1個だった。
なお、本稿はJPCERT/CCが公表したIPアドレスをきっかけに行った独自のログ調査である。同注意喚起に掲載された侵害事案と、今回の探索活動が同一であることを示すものではない。
調べたのは、複数のサイトのアクセスログだ。最も長いものは、3月15日から10月12日まで、約7か月分が残っていた。以下の数字は、その7か月分のログのものである。
同じ手口は、ログの初日にはすでに来ていた。
同じ手口だと判断した根拠は、手順だ。確認した範囲では、どのIPも最初の2つの要求が同じで、順番まで同じだった。User-Agentは空で、その後に要求するのは.phpの名前ばかりである。この記事では、その最初の要求を送ってきたIPを数えている。
共通の道具か、共通の辞書による自動化と見ている。
ほかのサイトのログにも、同じ手口が来ていた。ログが1か月半分のサイトでは約60個。3か月分のサイトでは約130個。7か月分のログでは約1,000個。
どれだけ見えるかは、ログの長さと、見ているサイトの数で変わる。
公表されたIPを1個遮断しても、残りの約1,000個はそのまま来る。
43万回の中身を見て、考えが変わった。
この探索は、ほとんど脆弱性を突いてこない。
要求しているのは、ファイルの名前だ。Webシェル、つまり侵入した誰かが後から置いていく裏口の名前。それと、改ざんに使われやすいWordPress本体のファイルの名前。
自分で扉を開けに来るのではない。誰かが開けたままにした扉を、探して回っている。
要求された名前は、7か月で9,370種類あった。このログで初めて見る名前は、4月以降も毎月450〜2,300種類ずつ増えている。辞書が更新され続けているのか、大きな辞書の一部ずつが届いているだけなのかは、このログからは分からない。
時間帯の偏りは小さい。24時間、ほぼ同じ調子で来る。
43万回のほぼすべてはGET、つまり「あるか、ないか」の確認だった。
例外は55回。約1,000個のうち6個のIPだけが、POSTを送っていた。この6個も、同じ手順の探索を行っている。
うち46回の宛先は、既知のWebシェルが命令を受け取る口として知られる場所だった。アクセスログには送られた中身が残らないので、断定はできない。ただ、Webシェルが残っていれば、その機能を使おうとした可能性がある。残りの9回は、いまは503しか返さない名前に向けたもので、目的は分からない。
55回への応答は、404、301、503のいずれかだった。
探す段と、使おうとする段。どちらも相手は、他人が開けた穴だ。
Azureからの要求のうち、サイト側がHTTP 200を返したものは3,000回に満たなかった。その応答先をすべて確認したところ、WordPressに最初から入っているファイルと、公開しているページやフィードだった。
少なくとも今回確認したアクセスログと応答先からは、Webシェルが発見された形跡は確認できなかった。POSTによる利用が成功したことを示す記録も見つかっていない。
Microsoftは、AzureのIP範囲をリージョン別に公開している。送信元をこれと照合して並べた。照合に使ったのは2026年10月5日版の一覧だ。IP範囲は更新されるので、過去の時点での所属を完全に証明するものではない。
カナダは3月から9月まで使われ続け、10月には消えた。欧州は一度消えて、8月に戻ってきた。
もう一つ気づいたのは、数が揃っていることだ。以下は、その月に観測したIPの数で、重複は除いている。4月の欧州は、7つのリージョンがそれぞれ21〜27個。5月は3つのリージョンがそれぞれ32〜35個。10月のアジアは11〜13個ずつ。
偶然集まったIPとは考えにくい。各リージョンに一定数の実行環境を配置する仕組みがあるように見える。
誰の契約で動いているのかは、外からは分からない。自前で借りたのか、侵害された他人の契約やクラウド資源を使っているのか、ログの見え方は同じだからだ。確かめられるのはMicrosoftだけである。IPと時刻の一覧を添えて、Microsoftに通報した。
日本のリージョンからも来ている。
Azureばかりなのは、この手口だけなのか。全アクセスを手口で分け、送信元のASN、つまりどの事業者のネットワークかと掛け合わせた。割合はいずれも件数である。
.env、.git、バックアップ):4〜6割がGoogle Cloud国別に並べると、これが全部混ざる。カナダ、インド、韓国、オランダ、フランスと並ぶだけで、何が来ているのかは分からない。
ASNと手口を掛け合わせると、異なる探索活動が見えてくる。
同じ攻撃者が動かしているのか、別々の集団なのかは分からない。
7か月、成果が見えないのに止まらない。
続けるコストが、ほとんどかからないからだと考えている。
自前で用意するものが、ほとんど無い。
前回の記事で、攻撃者が探しているのは鍵・鍵穴・地図が揃った「すぐ使える場所」だと書いた。この探索が探しているのは、その極端な形だ。
自分で鍵を盗む必要も、鍵穴を探す必要もない。誰かが残した裏口を見つければいい。
IP遮断や地域制限にも意味はある。JPCERT/CCも対策の一つに挙げている。
しかし、約1,000個のIPを使い、数か月ごとにリージョンを入れ替える探索に対して、それだけで十分とは言えない。日本のリージョンからも来ている。海外を遮断したから安心、という話ではない。
そのうえで、見るものがある。
攻撃は、開けに来るものだけではない。
開いたままの場所を、誰かが毎日確かめに来ている。
Aikido Community Japan
公開日: 2026/10/12
最終更新: 2026/10/12
セキュリティの最新情報をお届けします。