2021年11月4日

Windows JavaScriptに関連した脅威

近年、スクリプトベースの攻撃は大きな脅威となっており、全世界のサイバー攻撃の40%以上を占めるとも言われています。スクリプトには、システム設定やタスクの自動化など一般的な目的で使用される一連の単純なコマンドから、より高度で多層化された難読化されたコードまで、さまざまなものがあります。一般的に使用されているスクリプト言語には、PowerShell、VBScript、JavaScriptがあります。

その中でもPowerShellが最も悪意のあるスレットアクターに使用されていますが、WindowsのJavaScriptが同様の目的で使用されていることも事実です。Windowsは、カプセル化された形でJavaScriptを実行するブラウザ以外に、Windows Script Host(WSH)でJavaScriptを実行する機能を提供しています。Windows Script Hostは、wscript.exeおよびcscript.exeというWindowsプロセスの下でJavaScript(およびWindowsがサポートする他のスクリプト言語)を実行し、敵対者が悪用できる攻撃対象を提供します。

JavaScriptマルウェアは、追加のマルウェアを配信することを目的としたシンプルなドロッパーから、それ自体に十分な機能を備えた多目的マルウェアまで、さまざまな種類があります。

このブログでは、JavaScriptを利用した5つの著名なマルウェアの概要を紹介します。その中でも、コードの難読化を徹底し、コンパイル済みのバイナリを使用しないことで静的な検出シグネチャに挑戦することが多い「純粋な」JavaScriptマルウェアに重点を置いています。この記事は、それぞれのマルウェアの詳細な分析ではなく、各マルウェアのより高度なレビューであることに留意してください。

VJw0rm

"Vengeance Justice Worm "は、2016年に初めて発見され、高度に多機能でモジュール化されており、一般に入手可能な「商用マルウェア」、すなわち、様々なサイバー犯罪やハッキング関連のフォーラムやチャネルを通じて、関心のある人が購入することができるものです。

VJwOrmは、JavaScriptベースのマルウェアで、ワーム、情報窃取者、リモートアクセストロイの木馬(RAT)、サービス妨害(DOS)マルウェア、スパムボットの特性を兼ね備えています。

VJw0rmは、主に悪意のある電子メールの添付ファイルや、取り外し可能なストレージデバイスに感染することで伝播します。

犠牲者によって実行されると、非常に高度に難読化されたVJw0rmは、インストールされているドライブを列挙し、取り外し可能なドライブが見つかると、そうするように設定されていれば、VJwOrmはそのドライブに感染します。

VJw0rmは、オペレーティングシステムの詳細、ユーザーの詳細、インストールされているアンチウイルス製品の詳細、保存されているブラウザのクッキー、システム上のvbc.exeの存在(Microsoftの.NET Visual Basic Compiler、これは.NETがシステムにインストールされていることを示し、アクターの追加マルウェア配信の選択に影響を与える可能性がある)、システムが以前に感染していたかどうかなどの被害者情報を収集し続けます。

VJw0rmは、この情報をコマンド&コントロールサーバーに報告し、追加のマルウェアのダウンロードや実行、その他の数多くの機能の使用など、さらなるコマンドを待ちます。

最後に、VJw0rmは、レジストリの自動実行、システムのスタートアップフォルダ、スケジュールされたタスク、またはこれらの方法の組み合わせの形で持続性を確立します。

image.png

図1:難読化されたVJw0rmのスニペット

image.png

図2:VJw0rmが以前に感染したかどうかを確認する

image.png

図3:VJw0rmのコマンド&コントロールの接点

image.png

図4:VJw0rmがパーシステンスを確立する

WSHRat
Houdini、H-worm、Dunihi、その他いくつかの別名で知られるWSHRatもまた、「商用マルウェア」の1つであり、そのルーツをたどると、もともとVBSで開発されていた2013年にさかのぼることができます。WSHRatの亜種自体は、以前から知られていたHoudini/H-WormのJavaScriptベースのバージョンとして2019年に出現し、VBSで書かれていました。

すべてのリモートアクセス型トロイの木馬(RAT)と同様に、WSHRatの主な目的は、マシンへのアクセスを維持し、リモートコマンドを実行し、追加のマルウェアをダウンロードすることです。

WSHRatは、主に悪意のある電子メールの添付ファイルによって伝播しますが、リムーバブル·ストレージ·ドライブにも感染することができます。

被害者によって実行されると、非常に高度に難読化されたWSHRatは、上記のVJw0rmと同様のコースを辿ります。すなわち、オペレーティングシステムとユーザーの詳細、インストールされたアンチウイルス製品の詳細を収集し、これをコマンドアンドコントロールで報告し、リムーバブルストレージドライブに感染するように設定されていれば実行し、さらなるコマンドを待ちます。

このマルウェアのVBSベースの亜種である "Houdini "は、最近報告された航空業界を対象とした非常に長期にわたるスパイ活動に関与していたことが知られています。

NJrat/BladabindiとRemcos RATは、Houdini/WSHRatの一般的なフォローアップペイロードです。

image.png

図5:難読化されたWSHRatのスニペット

image.png

図 6:WSHRat コマンド&コントロール·コンタクト

image.png

図7:WSHRatが持続性を確立する

STRRAT
STRRATは、2020年に発見されたJavaScriptのラッパー/ドロッパーを備えたJavaベースのRATです。その中核となるペイロード(.JARファイル)は、JavaScriptのラッパー/ドロッパーの中に数層の難読化とエンコードの下に含まれています。

STRRATは、悪意のある電子メールの添付ファイルによって伝播します。STRRATの機能には、標準的なRATの機能(リモートアクセス、リモートコマンドの実行)、ブラウザやメールクライアントの認証情報の取得、そしてランサムウェアに似た独自の機能があります。指示があれば、デバイス上のファイルに「.crimson」という拡張子を追加し、操作不能にします(ただし、コンテンツは変更されないため、簡単に復元できます)。

STRRATは、多くのJavaベースのマルウェアとは異なり、動作のために感染したシステムにJavaがインストールされている必要はありません。JavaScriptのラッパー/ドロッパーが実行される際に、適切なJavaランタイムのインストールが見つからない場合は、含まれるJavaペイロードの実行を保証するために、ランタイムがダウンロードされ、インストールされます。

image.png

図8: STRRATコア·ペイロード·スニペット(エンコードおよび難読化されたもの

image.png

図9:STRRATの "Bring Your Own JRE "機能

image.png

図10:STRRATによるペイロードの展開と実行

BlackByte ランサムウェア
BlackByteは、最近発見されたランサムウェアで、 .NET DLLコアのペイロードをJavaScriptでラップしています。このランサムウェアは、JavaScriptのラッパーと.NET DLLコアの両方に高度な難読化を施しています。

JavaScriptのラッパーが実行されると、このマルウェアはコアのペイロードの難読化を解除し、メモリ内で実行します。コアの.DLLがロードされると、BlackByteはインストールされているオペレーティングシステムの言語をチェックし、東欧の言語が見つかった場合は何もせずに終了します。

さらに、アンチウイルスやサンドボックス関連の.DLLの存在を確認し、AMSIのバイパスを試み、システムの復旧を妨げるためにシステムのシャドーコピーを削除し、Windowsファイアウォールを含むその他のシステムサービスを変更して、システムを暗号化するための「準備」を行います。システムの暗号化の「準備」が完了すると、システム上のファイルを暗号化するために使用される対称鍵ファイルをダウンロードします。このファイルが見つからない場合、マルウェアは終了します。

今日の多くのランサムウェアとは異なり、BlackByteは単一の対称暗号化キーを使用し、被害者のシステムごとに固有の暗号化キーを生成しません。つまり、マルウェアによって暗号化されたすべてのファイルの復号に同じキーを使用することができます。

これにより、BlackByteの開発者は鍵の管理が大幅に容易になりますが、その代償として暗号化方式が弱くなり、被害者システムの復旧が容易になります(管理する鍵が1つのオンラインポイントのみであるため)。

今日のほとんどのランサムウェアと同様に、BlackByteにはワーム機能があり、同じネットワーク上の他のエンドポイントにも感染させることができます。

image.png

図11:BlackByteの暗号化された.NETペイロードの一部を示しています

image.png

図12:BlackByteのAMSIバイパス

Carbanak/FIN7 JavaScript バックドア
Carbanak/FIN7は、ほとんど紹介する必要がありません。2014年に発見された彼らは、今日活動している中で最も多くの成功を収めている、金銭的な動機を持つ脅威アクターの1つであり、世界中の無数の金融機関に推定10億ドルの損失を与えています。 Carbanak/FIN7がマルウェアを拡散する主な手段は、高度に標的化された効果の高いスピアフィッシングメールで構成されています。 しかし、最近発見されたJavaScriptベースのバックドアは、Carbanak/FIN7の活動の方向性を示しているように見えます。これは、PowerShellベースのマルウェアを中心としていたものが、JavaScriptに移行したことを意味しており、セキュリティベンダーに検知されにくくすることを狙ったものと思われます。 バックドアが実行されると、サンドボックスによる自動検出を回避するために2分間の遅延(解析タイムアウト)が発生し、感染したマシンのIPアドレス、MACアドレス、DNSホスト名を収集してコマンド&コントロールサーバーに報告し、応答として受け取ったコードを実行します。 Carbanak/FIN7は、Cobalt Strikeを不正侵入後のフォローアップマルウェアとして採用していることが知られています。

image.png

図13:難読化されたCarbanakバックドアのスニペット

image.png

図14:Carbanakバックドアの遅延機能

image.png

図15:Carbanakバックドアが被害者の情報を収集する

image.png

図 16: Carbanak Backdoor Command and Control URL "constructor" function

image.png

図 17: Carbanak Backdoor コマンド&コントロールの連絡先

まとめ
JavaScriptの世界には、あらゆる種類のマルウェアが蔓延しており、非常にダイナミックです。これらは、無視できない重大な脅威となっています。

世界中の脅威関係者が、JavaScriptベースのマルウェアを開発·維持しており、その機能性や巧妙さは、Windowsでサポートされている他のスクリプト言語と同等のものが存在しています。

世界最高のマルウェア対策ソリューションのデモをご希望の方は、デモをリクエストしてください。

検査済みサンプルのIOC

VJw0rm

SHA256: 080069323805f67a898f62517b17786d46cc51e9894cd490ee0ba789271e1d9c

C2: 180.214.239.36:8050

WSHRat

SHA256: ec5d3e6da18db71027ea5a54ff0e4be63313b4986d3ef8b020a4a79ae3866571

C2: jahblessrtd4ever.home-webserver.de:1604

Drops Remcos RAT: 52cbc7b3e3c373b8857245207f0cfca50c35b6edc49255441f74fdf45a71ac46

(Remcos employs same C2 as WSHRat)

STRRAT

SHA256: 213c775b371b55c48308650f29ad041a889ef24bf58069d380b4be6e558b82e9

SHA256 (JAR): 6b723bd260b53c68c716ef218c78718d3e99ab4d4238a4bd823fd0cd6ec8007b

"bring your own JRE” URL: wshsoft.company/jre7.zip

C2: str-master.pw

BlackByte Ransomware

SHA256: 884e96a75dc568075e845ccac2d4b4ccec68017e6ef258c7c03da8c88a597534

Key file URL: 45.9.148.114/forest.png

Carbanak/FIN7 JavaScript Backdoor

SHA256: caa7667bfdbcb04ceb9d81df93fe805dfe4ac8a04b9dd3eaab7b5f7c87c4fc9c

C2: civilizationidium.com