最近、Remcos、DcRAT、AgentTeslaなどの複数のスティーラーマルウェアが観測されました。 VIPキーロガーなど、ステガノグラフィーを利用した攻撃キャンペーンを通じて拡散されました。このキャンペーンのルーツを辿ると、以前から存在していたものの、その後は活発化していなかったことがわかります。このキャンペーンを興味深いものにしているのは、攻撃の組織化の方法です。
このブログでは、私たちが観察したキャンペーンを通じての Remcos と AsyncRAT の配布について説明します。
感染連鎖:
感染連鎖は フィッシング詐欺 Excelファイルを含むメールが、Excelの脆弱性を悪用し、.htaファイルをダウンロードするためのHTTPリクエストを発行します。.vbsコードで構成された.htaファイルは、貼り付けURLに接続し、別の難読化された.vbsスクリプトをダウンロードするバッチファイルを作成します。.vbsスクリプトは、パディングされたbase64エンコードされた第XNUMX段階の.jpgファイルをダウンロードします。 ペイロード (悪意のあるローダー)ファイルがデコードされ、スクリプトを通じて関数VAIが呼び出されます。ローダーファイルはURLと標的のプロセス名を引数として受け取り、逆順にBase64エンコードされたファイルをダウンロードします。このファイルをデコードすると、最終的なペイロードが生成されます。

フィッシングメール: 最初の攻撃ポイントはフィッシング メールです。フィッシング メールには、本物のファイルを装った悪意のある Excel ドキュメントが含まれており、ユーザーを騙して悪意のあるコードを含む添付ファイルを開かせようとします。

悪意のある ole パッケージを含む Excel ドキュメント:
このファイルは、脆弱性CVE-2017-0199を悪用するエクスプロイトです。ファイルを開くとHTTPリクエストを発行するOLE2埋め込みリンクオブジェクトが埋め込まれています。

.HTA スクリプト
.hta ファイルには、貼り付けられた URL に接続し、大量のガベージ コードを含むスクリプトである vbs ファイルをダウンロードするバッチ ファイルを記述する vbs コード (図 4) が含まれています (図 5)。

脚本にはこう書かれている VBS スクリプト2:

ジャンクコードを削除して簡素化すると、base64でエンコードされたスクリプトが作成され、次のように実行されます。 PowerShellの (図6)。


注意してください。ここで、VAI メソッドが呼び出されている間に、URL が $deject 変数に格納されている最初の引数で渡されます。また、5 番目の引数も重要です。これについては、後で 2 番目のペイロードであるインジェクター dll について説明する際に説明します。
同様に、 AsyncRAT 配布される際には、最初のチェーンは大体同じですが、遡って追跡することはできませんでした。AsyncRATの場合、vbsスクリプトはprnmngr.vbsを装い、プリンターやプリンター接続の追加、削除、一覧表示、そしてデフォルトプリンターの設定と表示を行う正規のスクリプトであるとユーザーを騙します。しかし、その間に、疑惑を逃れるための小さな悪意のあるコードが挿入されています。

以下は、前のケースで説明したのと同様に、ハードコードされたURL [hxxps://watchonlinehotvideos[.]top/omfg[.]jpg] からJPG画像をダウンロードするコードの一部です。


前のスクリプトでメモしたのと同じように、ここで渡される最初の引数は変数 $restoredtext 内の逆 URL であり、他の引数には意味不明な値/ランダムな文字列が渡されているように見えます。ここでも、5 番目の引数に留意します。
どちらの場合も、サンプルはステガノグラフィを利用しており、ダウンロードされたjpgファイル(図11)は、base64でエンコードされたマルウェアを含む無害な画像に見せかけています。図7に示すように、< >と< > 悪意のあるファイル全体を取得し、それをデコードします。

どちらのファイルも、内部ファイル名が「Microsoft.Win32.TaskScheduler.dll」である VB.NET dll ファイルであり、ユーザーを騙して Microsoft dll だと思わせるためのものと思われます。

どちらのDLLも難読化されていますが、その程度は異なります。Remcosキャンペーンから入手したDLLでは、一般的な.NET関数名の一部が難読化されていましたが、それ以外は一部はそのままでした。しかし、DLLのコードは同じで、同じ動作をしていました。
DLLコードは難読化されていますが、渡される引数は確認できます。脅威アクターは15個の引数を用いてVAIメソッドを呼び出しました。渡された引数に基づいて、メソッドはプロセスホロウイングによる別のマルウェア実行ファイルのロード、パーシステンスの作成などの機能を持つことになります。

メソッドを呼び出すときにスクリプトに渡される最初の引数 (図 7./図 10.) は、変数 $deject/$restoredtext に格納されている URL で、ここでは QBXtX として渡されます。
永続化される値はnullまたは意味不明な値であり、渡されるもう1つの値は11にデコードされ、Delegate0.smethod_0に渡されてブール値を返します。したがって、最終的な値はXNUMXとなり、条件は失敗します。したがって、永続化を維持するためのアクティビティは発生しません。

引数QBXtXで渡される逆URLは「text5」に格納されており、Webクライアントの助けを借りて「text6」文字列(Base64で逆順にエンコードされたデータ)をダウンロードします(図14)。これが最終的なペイロードであり、「caspol.exe」/「msbuild.exe」(第64引数)のパス「C:\Windows\SysWOW219」(Class10577.smethod(15)からデコード)と共に「Tools.Ande」関数に引数として渡されます。この関数は、第XNUMX引数として指定された標的プロセスを用いてプロセスホロウリングを実行します(図XNUMX)。

上記のように、CreateProcess APIを使用して、サスペンド状態で新しいプロセスが作成されます。新しく作成されたプロセスは、NtUnmapViewOfSectionを使用してマッピング解除され、VirtualAllocExを使用してメモリが割り当てられ、そこに悪意のあるコードが注入されます。SetThreadContextを使用して、注入されたコードにエントリポイントが追加され、最後にResumeThreadによってプロセスが再開されます。
私たちの場合、取得した最終的なペイロードは、Remcos と AsyncRAT のサンプル (図 16) です。

最終ペイロード: Remcos
Remcosは2016年の登場以来、マルウェアの世界で常に存在感を示してきました。バージョン1.0から最新バージョンに至るまで、Remcosが依然として存在感を保っているのは、その中核となるコマンド&コントロール機能の扱いにあります。リモートコントロールおよび監視ソフトウェアとして販売されていたクローズドソースツールとしてスタートしたRemcosは、長い道のりを歩んできました。
Remcos は主に、一連の設定を含む設定ブロックを持ちます。この設定ブロックは暗号化され、「SETTINGS」というリソースセクションに保存されます。起動時に復号化され、Remcos はこの設定ブロックを使用して初期化されます。


RemcosはC&C通信のためにC2に接続し、攻撃者から送信されるコマンドを待機します。抽出された設定データの主な詳細は次のとおりです。
C2: interestingthingsforkissinggirlwithloves[.]duckdns[.]org
ファイル名: Remcos.exe
ボットネット名: zyno007
ミューテックス作成: Rmc-IB3RDF
さらに、Remcos が AgentTesla のようなマルウェアを展開しているケースも確認されています。
最終ペイロード: AsyncRAT
AsyncRAT C# で書かれたリモート アクセス型トロイの木馬 (RAT) であり、キーストロークの記録、追加のペイロードの実行/挿入、コマンド アンド コントロールなどの機能を含む、標準的な RAT および情報窃取機能を備えています。
バックドアは、埋め込まれた設定に基づいた機能を備えています。下の図(図19)に示すように、実行はスリープ期間を定義するDe_lay関数から始まります。これは主にサンドボックスを回避するために行われます。

ここでの InitializeSettings() 関数は、AES で暗号化されたすべてのハードコードされた構成にアクセスします。

最後に、verifyhash() 関数 (図20) は、サーバー証明書とサーバー署名を使用して、設定が有効かどうかを確認します。抽出された設定データの主要な詳細は次のとおりです。
ポート:7878
ホスト:148[.]113[.]214[.]176
バージョン:1.0.7
MTX: asasasas2242dqwe
ペーストビン: null
グループ:ディアマ
Pastebinの値は「WebClient.DownloadString」API(図21)によって使用され、Pastebinや他のドメインから追加のリソースやその他のペイロードをダウンロードできます。今回のケースではnullなので、設定からホストとポートを選択し、ソケット接続を使用してC2と通信します。

IOCS:
| レムコスIOCの |
| 9d66405aebff0080cc5d28a1684d501fa7e183dc8b6340475fc06845509cb466 |
| 42813b301da721c34ca1aca29ce2e4c7d71ae580b519a3332a4ba71870b6a58e |
| f67c6341bfe37f5b05c00a0dda738f472fdabd6ea94ca8dc761f57f11ce12036 |
| aed291c023c3514fb97b4e08e291e03f52de91a2a8d311491b4ab8299db0aa0f |
| faed55ed0102b1b2e3d853e8633abecbb9cec6a5f41c630097d8eaeefafba060 |
| C2: interestingthingsforkissinggirlwithloves[.]duckdns[.]org |
| C2: freebirdkissingonmylipswithnicefeelings[.]duckdns[.]org |
| AsyncRAT |
| b8fc29c02005c84131f34de083c2e81cdf615ff405877f9e73400bf35513c053 |
| 2d4ab87f9ea104075d372f4c211b1fb89adec60208d370b8fb2d748e1a73186c |
| b2e8f720740bbd46f6ae3f450f265ace1044fe232141fbd84f269eafeb290812 |
| a582e7e5b3ac37895e7cf484aaa8ea477deb90d99b47b2d9bfc018c604573889 |
| C2: 148[.]113[.]214[.]176 |
検出:
バックドア.Remcos
バックドア.MsilFC.S13564499
Trojan.loaderCiR
MITRE攻撃のTTP:
| 戦略 | テクニックID | 名 |
| 初期アクセス (TA0001) | T1566 | フィッシング詐欺 |
| 実行(TA0002) |
T1204 |
ユーザーの実行 |
| 永続性 (TA0003) | T1547.001 | レジストリ実行キー/スタートアップフォルダ |
| 防御回避(TA0005) | T1055 | プロセス射出 |
| T1027 | 難読化されたファイルまたは情報 | |
| T1036.004 | 偽装タスクまたはサービス | |
| ディスカバリー (TA0007) | T1614 | システムロケーション検出 |
| 窃盗 (TA0010) | T1041 | コマンドアンドコントロールチャネル経由の流出 |
| コマンドアンドコントロール (TA0011) | T1001.0012 | ステガノグラフィー |
まとめ:
このブログでは、最近のステガノグラフィ攻撃における攻撃チェーンの全容について解説しました。一見無害に見えるJPGファイルに、悪意のある機能を持つインジェクターDLLが含まれていたことが明らかになりました。また、各悪意のあるペイロードがいかに綿密にダウンロードされ、非常に組織的に実行されたかについても調査しました。この攻撃は、経験豊富なユーザーでさえも欺くことのある高度な偽装技術を多用していました。よくあるように、一連の攻撃は、エクスプロイトを仕込んだフィッシングメールから始まり、複数の段階を経て最終的にRemcosRAT/AsyncRATを展開しました(同様の方法で他のRATやバックドアが拡散される可能性もあります)。今回のケースでは、コマンドアンドコントロールサーバーが追加のペイロードを展開する能力を備えており、被害者のシステムをさらに侵害します。
このキャンペーンは、私たちの安全とデータの完全性を守るために、警戒を怠らず、強力なサイバーセキュリティ対策を導入することが極めて重要であることを強調しています。
著者:
キルティ・クシャトリヤ
共著者:
マノジ・クマール・ニーラメガム



