共通する「1つの製品の穴」ではなかった — JPCERT/CCが整理した国内不正アクセスの4パターン
この記事は時点のニュースです。現在の提供状況とは異なる場合があります。誤りの訂正は随時行います。
ペンギン先生、「国内の組織で不正アクセスが相次いでいる」っていう注意喚起が出たって聞いたよ。これって誰が出しているの?
4つもあるの? 同じ製品の弱点がいっせいに狙われた、っていう話じゃないのかな?
ケースBの「スマホアプリを解析してAPIを特定する」っていうのは、どういうことなの?
いっしょに出てくる「NoSQLインジェクション」って、SQLインジェクションとは違うものなの?
じゃあ「ブラインド探索」っていうのは?
答えが画面に表示されなくても、応答の違いを手がかりに中身を少しずつ絞り込んでいく進め方だよ。注意喚起では「NoSQLインジェクションによるブラインド探索によってアカウント情報を特定」したと書かれている。エラーの内容を隠すだけでは足りなくて、クエリの組み立て方そのものを直す必要があるということだね。なお、ケースCで挙がっているMetabaseの脆弱性(CVE-2026-72898)は従来型のSQLインジェクションで、認証なしのリクエストで管理者権限を取得される可能性があると説明されているよ。
10月9日の更新で追加されたのがケースDなんだよね。何が書かれたの?
Webシェルって、置かれると何が起きるのかな?
攻撃されたかどうか、気づく手がかりは書かれているの?
不審な送信元IPアドレスが列挙されているよ。[.]は、本来のドットを括弧で囲んだ表記。誤ってリンク化されたりアクセスしたりしないよう、この記事でも元の表記を残しているんだ。ケースBでは9月ごろの 3.112.252[.]14 などに加えて、10月9日の更新で 31.76.91[.]2、136.117.40[.]140、136.85.58[.]5、141.11.187[.]186、207.241.172[.]54 の5件が追記された。136.117.40[.]140 と 136.85.58[.]5 は8月28日ごろに観測されたものとして注記されているよ。User-Agentの例も curl/7.88.1、python-requests/2.34.2 と書かれているね。ただしIPアドレスもUser-Agentも攻撃側で変えられる値だから、この一覧に載っていないことは「被害がない」証明にはならないよ。JPCERT/CCが挙げているのは「不正アクセス検知体制の点検と検知時の初動対応を見直す」ことで、Metabase側の注意喚起でも、インターネットからアクセスできる状態なら侵害の有無を調べるよう勧めている。どこを見るかの具体例としては、ATT&CKが挙げている「Webのディレクトリに想定外のファイルが作られていないか」が参考になるね。
対策はどんなことが挙げられているの? ぼくみたいに小さなサイトを持っているだけでも関係ある?
API向けには3つ挙がっているよ。短時間に繰り返されるアクセスや大量実行を防ぐレート制限、「非公開APIを含む各APIエンドポイントでアクセス制御を実施」すること、そして「APIトークンには適切な有効期限を設定し、長期間有効なトークンの使用を避ける」ことだね。そして汎用的な対策の3つめが、規模に関係なく効くものなんだ。「業務上必要のないサービスや機能がインターネットに公開されている場合、公開を停止する」。ケースAのように総当たりで穴を探されるなら、そもそも外から届く入口を減らしておくのがいちばん確実だよ。あわせて既知の脆弱性へアップデートを当てることと、検知したときの初動対応を見直しておくことも挙げられているね。
出典・確認した情報
- 直近で相次いでいる国内組織における不正アクセスに関する注意喚起(JPCERT/CC、JPCERT-AT-2026-0030)
発表日: 2026-10-08 / 確認日: 2026-10-10
- 2026年10月8日公開、2026年10月9日更新の注意喚起として掲載されている
- ケースAは「一つの共通するソフトウェアの脆弱性を悪用しているのではなく、標的ごとにさまざまな既知の脆弱性有無についてスキャンし、脆弱性を探索して悪用を試行」と記載
- ケースBは「アプリの管理用APIへの不正なリクエストによって、情報の不正な書き換え等が発生」とし、スマートフォンアプリ解析によるAPIエンドポイント特定、ユーザー権限の変更、不正なアカウント作成、「NoSQLインジェクションによるブラインド探索によってアカウント情報を特定」する手口を挙げている
- ケースBで確認された不審な送信元IPアドレスとして9月ごろの 3.112.252[.]14、54.95.112[.]6、69.10.51[.]162、172.86.91[.]7、210.149.87[.]120 を掲載し、10月9日の更新で 31.76.91[.]2、136.117.40[.]140、136.85.58[.]5、141.11.187[.]186、207.241.172[.]54 を追記
- ケースBのUser-Agentの例として curl/7.88.1、python-requests/2.34.2 を掲載
- ケースCはMetabaseのSQLインジェクション脆弱性(CVE-2026-72898)で、詳細は別の注意喚起 at260023 を参照と記載
- ケースDは10月9日の更新で追加され、「公開Webサーバーからアクセス可能なアプリケーションサーバー上にWARファイル(.war)が設置される」「WARファイルに含まれるJSPファイル(.jsp)は、悪性な簡易Webシェルとして動作」と記載
- ケースAでは10月7日ごろの不審な送信元IPアドレスとして 20.210.128[.]125 を追記
- API関連の対策として、短時間に繰り返されるアクセスや大量実行を防止するレート制限、「非公開APIを含む各APIエンドポイントでアクセス制御を実施」、「APIトークンには適切な有効期限を設定し、長期間有効なトークンの使用を避ける」を案内
- 汎用的な対策として、既知脆弱性への修正済みアップデートの適用、「不正アクセス検知体制の点検と検知時の初動対応を見直す」、「業務上必要のないサービスや機能がインターネットに公開されている場合、公開を停止する」を案内
- Metabaseの脆弱性(CVE-2026-72898)に関する注意喚起(JPCERT/CC、JPCERT-AT-2026-0023)
発表日: 2026-08-14 / 確認日: 2026-10-10
- 2026年8月14日(日本時間)公開の注意喚起で、脆弱性の種類はSQLインジェクション
- 影響を受けるバージョンは Metabase x.63.5より前、x.62.9より前、x.61.11より前、x.60.17より前、x.59.21より前、x.58.24より前
- 認証なしで細工したリクエストを送信され、アプリケーションデータベースに対して不正なSQLクエリが実行され、管理者権限を取得される可能性があると記載
- 海外の複数組織が被害を報告し、ゼロデイ攻撃が確認されていると記載
- 対策として開発者提供情報を参考にした早急なアップデート、インターネットからアクセス可能な場合は侵害有無の調査を推奨
- CWE-943: Improper Neutralization of Special Elements in Data Query Logic(MITRE CWE)
発表日: 2026-10-10 / 確認日: 2026-10-10
- 定義は「The product generates a query intended to access or manipulate data in a data store such as a database, but it does not neutralize or incorrectly neutralizes special elements that can modify the intended logic of the query.」
- 「While this weakness is most commonly associated with SQL injection, there are many other query languages that are also subject to injection attacks, including HTSQL, LDAP, DQL, XQuery, Xpath, and NoSQL languages.」とあり、SQL以外のクエリ言語も注入攻撃の対象になると説明(原文ではNoSQLが引用符付きで表記)
- 別名として「NoSQL Injection, NoSQLi」が挙げられ、Cassandra・ElasticSearch・MongoDB・Redisなどへの言及がある
- 攻撃者が選択条件を変えたり、追加のコマンドを実行したり、返される件数を操作できる弱点として説明されている
- Server Software Component: Web Shell(T1505.003、MITRE ATT&CK)
発表日: 2026-10-10 / 確認日: 2026-10-10
- 説明は「Adversaries may backdoor web servers with web shells to establish persistent access to systems. A Web shell is a Web script that is placed on an openly accessible Web server to allow an adversary to access the Web server as a gateway into a network.」
- 「A Web shell may provide a set of functions to execute or a command-line interface on the system that hosts the Web server.」とあり、コマンド実行や擬似的なコマンドラインを提供しうると説明
- 検知の例として「Unexpected file creation in web directories followed by web server processes (e.g., w3wp.exe) spawning command shells」「Web servers spawning abnormal processes post file upload into web directories」が挙げられている
- 上位テクニックは Server Software Component(T1505)で、目的は永続的なアクセスの確立とされている
- Packaging Web Archives(The Java EE 7 Tutorial、Oracle)
発表日: 2026-10-10 / 確認日: 2026-10-10
- 「A web module can be deployed as an unpacked file structure or can be packaged in a JAR file known as a Web Archive (WAR) file.」とあり、WARはWebモジュールをまとめたアーカイブ形式
- 「Because the contents and use of WAR files differ from those of JAR files, WAR file names use a .war extension.」と拡張子を説明
- 「The web module just described is portable; you can deploy it into any web container that conforms to the Java Servlet specification.」とあり、サーブレット仕様に準拠したWebコンテナへ配置できると説明
- Bottle Exploit Kitの活動観測(IIJ SOCチーム)
発表日: 2021-06-28 / 確認日: 2026-10-10
- 誤ってアクセスすることを防止するため、掲載URLの一部文字を変更したと説明し、[.]やhxxpsを使った例を掲載している
訂正履歴
- 2026-10-10:[.]表記の意味を補足し、公式資料に合わせて追加IPの件数・観測時期とWARの配備条件を訂正しました。公開日は変更していません。