This post is also available in: English (英語)
概要
Unit 42のリサーチャーは、2020年8月から10月にかけ、興味深い攻撃傾向を観測しました。スキャン アクティビティとHTTPディレクトリ トラバーサルの悪用の試みが急増しているにもかかわらず、2020年初夏にオンライン上で最も一般的に悪用された脆弱性CVE-2012-2311とCVE-2012-1823はすでにリストのあがらないのです。新しい重要エクスプロイト、たとえばCVE-2020-17496やCVE-2020-25213 などが複数、2020年秋現在、一定割合で利用されています。ここで話をややこしくするのが「悪意のある攻撃者たちは、新たなエクスプロイトがなければないで、自分たちのやりたいことはやれると知っている」ということでしょう。8月から10月の3か月間の悪意のあるトラフィックの観測に鑑みるに、兵器化されたThinkPHPの脆弱性CVE-2018-20062やCVE-2019-9082は、攻撃者たちの新たなお気に入りエクスプロイト方法となったようです。
以下のセクションでは、スキャンのスパイク、HTTPディレクトリ トラバーサル攻撃とあわせ、エクスプロイト分析、攻撃の発信元、攻撃カテゴリの分布について詳しく見ていきます。
サイバー犯罪者が悪意のある活動を停止することは決してありません。ですが、パロアルトネットワークス製品をご利用中のお客様は、本稿で説明されている攻撃から次世代ファイアウォールにより保護されています。
データ収集
Unit 42のリサーチャーは、パロアルトネットワークス次世代ファイアウォールを境界センサとして活用することにより、2020年8月から10月にかけて行われた悪意のある活動を、無害なトラフィックから分離することに成功しました。悪意のあるトラフィックは、IPアドレス、ポート、タイムスタンプなどのメトリックに基づいてさらに処理されます。これにより、リサーチャーは各攻撃セッションの一意性を担保し、潜在的なデータの偏りを排除しています。次にこうして精錬したデータを他のアトリビュートと相関させることで時系列で見た攻撃傾向を推測し、脅威の状況を把握していきます。
攻撃の深刻度
さて、観測で確認された3,092,127件の攻撃セッションのうち、656件には固有の脅威トリガーがありました。
ここで私たちは、深刻度が「中」 (CVSS v3スコアに基づく) を超える悪用可能な脆弱性をもつものを確認された攻撃であるものとして扱っています。表1はそれぞれの脆弱性深刻度における攻撃セッション数と比率を示したものです。
深刻度 | セッション数 | 比率 |
Critical (緊急) | 1,559,512 | 50.4% |
High (高) | 1,317,901 | 42.6% |
Medium (中) | 214,714 | 6.9% |
表1 2020年8月〜10月の攻撃重症度分布率
表1に示すように、深刻度が高く重大なレベルの脆弱性の悪用は増加傾向にあります。これらのエクスプロイトは、それが本質的に破壊的であるのみならず、エコシステムに入り込んだ人気製品の脆弱性を兵器化にするにあたって重要となるものです。以下のセクションでは、悪用可能性 (exploitability)と影響の観点から注目に値すると思われるトップ5の攻撃にフォーカスしたいと思います。
最新の攻撃分析
これまで監視してきた深刻な攻撃の中でも、とりわけ次の5つのエクスプロイトは興味深いものでした。これらのエクスプロイトは、パッチが利用可能になる以前にすでに実地で悪用されていたか、セキュリティ アドバイザリの発表直後に悪用されていたため、多くのメディアで取り上げられました。これらのエクスプロイトがトップ5の攻撃カテゴリに含まれる理由は、耳目を集めたことにくわえ、深刻度レベルが「緊急」で、2020年に広く蔓延したという点にあります。こうした事実は、攻撃者たちが新たなツールや戦術にすばやく効率的に順応し、それによって狙ったターゲットを侵害していることを示唆しています。2020年8月から10月にかけ、実地利用されている状況が捕捉された新たな攻撃との関連が見られた80,528件のインシデントに基づき、私たちは以下のエクスプロイトを最近の脆弱性トップ5と評価しています。
1. vBulletinのリモートコード実行の脆弱性
- CVE番号: CVE-2020-17496
- 深刻度: 緊急
vBulletinのリモートコード実行の脆弱性に関連する悪意のあるセッションが捕捉されています。このベンダは広く使用されており、深刻度は「緊急」です。私たちからは2020年9月にCVE-2020-17496に関する調査結果を公開済みです。
2. WordPressのファイル マネージャ プラグインのリモートコード実行の脆弱性
- CVE番号: CVE-2020-25213
- 深刻度: 緊急
WordPressには、wp-file-managerプラグインにリモートコード実行の脆弱性があり、これにより特定のディレクトリに任意のPHPコードを書き込むことができます。
3. Netteのコード インジェクションの脆弱性
- CVE番号: CVE-2020-15227
- 深刻度: 緊急
NetteはPHP/ComposerMVCフレームワークです。これは特定のURLパラメータを使用したコード インジェクション攻撃に対して脆弱です。この脆弱性は緊急で、リモートでコードが実行される可能性があります。
4. Artica WebのプロキシSQLインジェクションの脆弱性
- CVE番号: CVE-2020-17506
- 深刻度: 緊急
Artica Web Proxyは、fw.login.php内のapiキー パラメータのSQLインジェクションに対して脆弱なファイアウォール ソフトウェアです。Articaをバイパスし、SQLインジェクション脆弱性により管理者権限を取得する目的でこの脆弱性を利用することが可能です。
5. Oracle WebLogic Serverのリモートコード実行の脆弱性
- CVE番号: CVE-2020-14882、CVE-2020-14883、CVE-2020-14750
- 深刻度: 緊急
Oracle WebLogic Serverにはリモートでコードが実行される脆弱性があり、深刻なセキュリティ問題が発生する可能性があります。この不具合は攻撃条件の複雑さのレベルが低く、「簡単に悪用可能」であると強調されています。
全体的な攻撃の分析
次表2に示すエクスプロイトは、ボリュームの観点で2020年8月から10月にかけて最も頻用されていたものです。
CVE番号 | 脆弱性 | |
1 | CVE-2017-9841 | PHPUnitのリモートコード実行の脆弱性 |
2 | CVE-2019-9082 | ThinkPHPのリモートコード実行の脆弱性 |
3 | CVE-2019-12725 | Zeroshellのリモートコマンド実行の脆弱性 |
4 | CVE-2019-16759 | vBulletinのリモートコード実行の脆弱性 |
5 | CVE-2018-19986、CVE-2019-19597 | D-Linkのリモートコマンド実行の脆弱性 |
6 | CVE-2018-10561、CVE-2018-10562 | GPON ホームルータのリモートコード実行の脆弱性 |
7 | CVE-2020-17496 | vBulletinのリモートコード実行の脆弱性 |
8 | CVE-2018-20062 | ThinkPHPのリモートコード実行の脆弱性 |
9 | CVE-2018-7600 | Drupal Coreのリモートコード実行の脆弱性 |
10 | CVE-2020-15415、CVE-2020-14472、CVE-2020-8515 | DrayTek Vigorのリモート コマンド インジェクションの脆弱性 |
表2 2020年8月から10月にかけて最も頻用されたCVE
1. PHPUnitのリモートコード実行の脆弱性
- CVE-2017-9841
/vendorエンドポイントの露出により、リモートの攻撃者はターゲットに対し任意のPHPコードの実行を行えるようになります。この脆弱性は、4.8.28より前のすべての4.xバージョンおよび5.6.3より前の5.xバージョンに影響します。
2. ThinkPHPのリモートコード実行の脆弱性
- CVE-2019-9082
入力検証がないことが原因でThinkPHPフレームワークにはリモートコード実行の脆弱性があります。バージョン3.2.4未満のThinkPHPフレームワークには、URLのコントローラ名のチェックが不十分なためにリモートコマンド実行の脆弱性があります。
3. Zeroshellのリモートコマンド実行の脆弱性
- CVE-2019-12725
ZeroShellバージョン3.9.0にはリモートコード実行の脆弱性があります。ペイロードを改行文字でラップし、結果のペイロードをx590type HTTPパラメータに配置することにより、攻撃者は被害者のマシンで任意のコードを実行することができます。
4. vBulletinのリモートコード実行の脆弱性
- CVE-2019-16759
HTTPパラメータwidgetConfig[code]の検証がないことが原因でvBulletinバージョン5.0.0から5.5.4は、リモートコマンド実行の影響を受けます。
5. D-Linkのリモートコマンド実行の脆弱性
- CVE-2018-19986
D-Link DIR-818LW Rev.A 2.05.B03とDIR-822 B1 202KRb06デバイスはどちらもHTTPパラメータRemotePortの検証が不十分なためコマンドインジェクションの脆弱性があります。攻撃者はシェルのメタ文字を挿入して任意のコマンドを実行できます。
- CVE-2019-19597
D-Link DAP-1860デバイスにはHNAP_Auth HTTPヘッダ値の入力サニタイズが不十分なためのリモートコマンド実行の脆弱性があります。攻撃により、シェルメタ文字が挿入されて任意のコードが実行される可能性があります。
6. GPON ホームルータのリモートコード実行の脆弱性
- CVE-2018-10561
脆弱性のあるバージョンのDasan GPONルータは、URLを適切に処理していないために認証バイパスの影響を受ける可能性があります。この脆弱性は影響を最大化するためによくCVE-2018-10562と組み合わせて使用されます。
- CVE-2018-10562
Dasan GPONルータにはコマンドインジェクションの脆弱性があります。脆弱なバージョンはdest_hostパラメータをサニタイズしておらず、これが深刻な結果につながります。ルータはpingの結果を/tmpに保存しており、ユーザーが再訪したさいこの結果を送信してしまいます。
7. vBulletinのリモートコード実行の脆弱性
- CVE-2020-17496
vBulletin 5.5.4から5.6.2にはajax/render/widget_tabbedcontainer_tab_panelリクエスト内の細工されたサブウィジェットデータによるリモートコマンド実行脆弱性があります。
注: この問題は、CVE-2019-16759の修正が不完全なために発生しています。
8. ThinkPHPのリモートコード実行の脆弱性
- CVE-2018-20062
filter HTTPパラメータ内の特別に細工された値が原因でThinkPHPフレームワーク内で任意のコードが実行される可能性があります。この不具合は5.0.23とそれ以前のバージョン (5.0.23を含む) に影響します。
9. Drupal Coreのリモートコード実行の脆弱性
- CVE-2018-7600
Drupalには、複数のサブシステムに影響する問題が原因で、リモートの攻撃者が任意のコードを実行することができるという問題があります。原因はモジュールの設定ミスです。
10. DrayTek Vigorのリモート コマンド インジェクションの脆弱性
- CVE-2020-15415
1.5.1より前のDrayTek Vigor3900、Vigor2960、Vigor300Bデバイスは、text/x-python-scriptコンテンツタイプが使用されている場合に、cgi-bin/mainfunction.cgi/cvmcfgupload経由のシェルメタ文字を使うことで、ファイル名内にあるリモートコマンドの実行を許してしまいます。
- CVE-2020-14472
1.5.1.1より前のDraytek Vigor3900、Vigor2960、Vigor300Bデバイス上のmainfunction.cgiファイルには複数のコマンドインジェクション脆弱性があります。
- CVE-2020-8515
DrayTek Vigor2960 1.3.1_Beta、Vigor3900 1.4.4_Beta、Vigor300B 1.3.3_Beta、1.4.2.1_Beta、1.4.4_Betaは、cgi-bin/mainfunction.cgi URIへのシェルメタ文字を介し、認証なしでrootとしてのリモートコード実行を許可します。
特定のCVE番号が割り当てられた脆弱性にくわえ、私たちは、高頻度で発生するその他の脆弱性についても捕捉しています。以下がそのトップ5です。
- ThinkCMF ローカル ファイル インクルードの脆弱性
ThinkCMFにはファイル インクルードの脆弱性があります。これにより、リモートでコードが実行される可能性もあります。この不具合はバージョン2.2.3とそれ以下 (2.2.3を含む) のThinkCMFに影響します。
- D-Link DSL-2750B OSのコマンド インジェクション脆弱性
D-Link DSL-2750Bルータにはコマンドインジェクションの影響を受ける脆弱性があり、Miraiとその亜種がよく感染・伝播に悪用しています。
- MVPower DVRの未認証のコマンド実行の脆弱性
Miraiとその亜種は、MVPower DVRデバイスで、感染を目的としてこのコマンド実行の脆弱性を悪用することがわかっています。
- Zyxel EMG2926ルータのコマンドインジェクションの脆弱性
Zyxel EMG2926ルータにはパラメーター検証がなく、これがリモートコマンドの脆弱性につながります。これはMiraiマルウェアにより悪用されている脆弱性の1つでもあります。
- Netgear DGNデバイスのリモートコマンド実行の脆弱性
これは、setup.cgiのsyscmd関数に存在する入力サニタイズの欠如に起因する未認証リモートコマンド実行です。この脆弱性は、Netgear DGNデバイス DGN1000 (ファームウェアバージョン1.1.00.48未満のデバイス用) とDGN2200 v1に存在します。
攻撃カテゴリの分布
図2は攻撃カテゴリの分布を示しています。悪用可能性とアクセス可能性の詳細を知りたいので、攻撃カテゴリを分類し、トリガーの計算をしてみました。攻撃の46.9%はコード実行で、このカテゴリは依然としてネットワークへの露出リスクが高いことを示唆しています。攻撃の14.6%は特権昇格と見なすことができ、12.4%は情報漏えい攻撃です。つまり攻撃者は、継続的により高いアクセス取得を狙い、コード実行などのより強力な攻撃につながるエクスプロイト チェーンを確立しようとしているといえます。
HTTPディレクトリ トラバーサル攻撃
2020年初夏に観測された内容と対照的だったのが、HTTPディレクトリ トラバーサル脆弱性を悪用する大量の攻撃の試み (最大50万件) を特定したことです。この手の攻撃はネットワークトラフィックで最も一般的に見られる悪意のある振る舞いの1つですが、実際にこのように大量の攻撃が観測されることはまだまれです。
まず私たちはディレクトリ トラバーサルによる攻撃を受けた宛先ポート番号トップ10をまとめました。悪用の試みのほとんどは広く使用されているHTTPポート番号80(86.6%)および8080(2.4%)を対象としていました。
攻撃の起点
各ネットワーク攻撃の起点となった地域を特定してみると、その圧倒的多数が中国であることがわかりました。この後にロシア、米国が続いていました。これは中国、ロシア、米国の人口が多いこと、これらの地域でのインターネット使用量が多いことが一因である可能性があります。
結論
以上をまとめますと、攻撃者は、深刻度が高く、容易に悪用できる攻撃をはっきり好んでいることがわかります。これはおそらくはより大きなインパクトを狙ってのことと考えられます。彼らは既製の兵器化済みエクスプロイトを便利に使いつつ、新たに脆弱性や関連概念実証の情報が公開されれば一丸となって兵力増強に取り組みます。このことからも、組織が迅速にパッチを適用してセキュリティのベストプラクティスを実装する必要性が強調されます。
緩和策は次のとおりです。
- Best Practice Assessment(ベストプラクティス評価)を実行し、よりよいセキュリティ態勢のために変更すべき設定がないかどうか確認します。
- パロアルトネットワークスの次世代ファイアウォールを継続的に脅威防御コンテンツ(例: バージョン 8366-6505 またはそれ以降) で更新します。