ハニーポッドサーバを稼働させたところ、公開から10分でさっそく攻撃されていました。
どこにも公開していないのに、IP総当たりで攻撃先を探しているのだと思いますが、すごい執念ですね。
攻撃ログを元にサンド環境を使って解析し、C&Cサーバを特定しましたのでhttps://www.virustotal.com/に報告しました。
ウィルスの挙動と、感染確認方法について確認した結果を簡単に記載します。
攻撃内容
JavascriptのObject.prototypeをオーバーライドして予定外のコードを実行させる手法(CVE-2023-46234)を足掛かりに使っているようです。
●OSインジェクションの挙動
①ペイロードシェルのダウンロード、実行
OSコマンドインジェクションを使って、ペイロードをダウンロード(wget先は下の通り)
ダウンロードしたペイロードは、実行権限を追加して実行
②バックドアの設置
ncコマンドでリバースシェルを確立させ、バックドアを設置
③痕跡削除
ダウンロードしたペイロードシェルを削除して痕跡消滅
海外サーバからペイロード付きのshを自動でダウンロードして実行した後、ダウンロードしたファイルを削除するという構成になっており、強い悪意を感じられるコードでした。
●接続先等の情報(FW等の定義に使用してください)
ペイロードシェルのダウンロード元 91.92.241.10(オランダ)
リバースシェルの確立先(バックドアの接続先) 193.142.147.209(セーシェル)
接続先DBサーバ(MySQL) 31.214.244.19(ドイツ)
●ダウンロードしたペイロードプログラムの挙動
①起動
PC起動時に実行
./sysS99backup startup でウィルスを起動
※ファイルの保存場所 /etc/init.d/%s
②永続化
while true do %s startup & sleep 30 done
※30秒ごとに再起動を繰り返す
③侵入先
/etc/rc.local
/etc/profile
/root/.bashrc
/home/.bashrc
④痕跡削除
rm -f /etc/init.d/S99system
rm -f /etc/rc.d/S99backup
感染しているかの確認方法
完全かどうかはわかりませんが、次のコマンドで感染疑いの確認ができます。感染が疑われる環境の場合は次のコマンドで確認できますが、最終的には自身の判断でお願いします。
# 感染確認方法
# ① 起動スクリプトから不審なファイル名を検索
$ > ls -l /etc/init.d | egrep 'S99|backup|network|system|monitor|update'
$ > ls -l /etc/rc*.d | egrep 'S99|backup|network|system|monitor|update'
# 該当がなければ大丈夫
# ② 接続しているIPの確認
$ > ss -tpna
:
LISTEN 0 70 127.0.0.1:33060 0.0.0.0:*
LISTEN 0 32 *:21 *:*
LISTEN 0 4096 [::]:22 [::]:*
:
# 91.92.241.10 や 31.214.244.19 あるいは他の海外IPと接続している状態になっていないか
# 127.0.0.1 は自分ですので心配不要
思ったこと
今回報告したIPは、すでに3年前から悪意のあるファイルの提供元として報告済みのIPということでしたが、
http://{ipアドレス}/{ウィルス名}
という形式のURLでIP直下にウィルスを配置して配布しているサイトです。
バーチャルドメインではないようなので、IPの契約者≒行為者 だと思うのですが、どうにかならないのでしょうか。ウィルスの配布が罪にならない国だとすると対応が取れないのかもしれないですね。
