はじめに
この記事の内容は2022年6月および2022年9月時点での解析で確認したQbotについての記事です。
Qakbotのリソースセクション
Qakbotをアンパックした後のPEファイル内には二つのリソースが含まれている。
このリソースにはQbotのキャンペーンIDとC2通信先がRC4で暗号化された状態で含まれている。サイズが小さいほうのリソースにキャンペーンIDが、サイズが大きいほうのリソースにC2通信先が含まれている。
このリソースの復号の処理は次の通りである。
リソース全体をRC4で復号した後、復号したデータの20バイト以降のSHA1ハッシュ値と復号したデータの20バイトまでのデータを比較している。
RC4の復号に使われる鍵は、検体内に暗号化されて格納されている文字列をSHA1でハッシュ計算したものである。2022年6月や9月の検体では次の文字列であった。(ハッシュ値は2fbafdc0451de65322a9aee65f28be319ad9574e
)
\System32\WindowsPowerShel1\v1.0\powershel1.exe
C2のリソースを復号すると次のようなデータとなる。0x01
で区切られて、「IP」、「ポート」の順番となっている。
検体のC2はこのように抽出可能だが、検体を外に出してもよければ「Tria.ge」や「CAPE」などのオンラインサンドボックスを活用するのが早い。
厳格な環境であればこの記事の内容をもとにスクリプトを組むのは容易いだろう。私が作成したスクリプトは以下に置いておくので必要に応じて参考・使用してもらえれば
検体のハッシュ値 (2022/10/5追記)
今回のブログを書く上で確認した検体のハッシュ値は次の通り
- 2022/6の検体:117a60cb0cde4199a78f99d4f6eb5f50
- 2022/9の検体:3fd6ff929bb62358cee961d45ff1471d