攻撃グループBlackTechによるF5 BIG-IPの脆弱性(CVE-2022-1388)を悪用した攻撃
2022年5月頃、JPCERT/CCではF5 BIG-IPの脆弱性(CVE-2022-1388)を悪用して日本の組織に攻撃を行う活動を確認しました。攻撃が行われた組織では、BIG-IP内のデータが漏えいするなどの被害が確認されています。この攻撃は、攻撃グループBlackTechの活動と関連しているものと推測しています。今回は、このBIG-IPの脆弱性を悪用する攻撃活動について紹介します。
BIG-IPの脆弱性を悪用する攻撃コード
以下は、今回の攻撃で使用された攻撃コードの一部です。この攻撃ツールを使用することで、BIG-IP上で任意のコマンドを実行することが可能です。
この攻撃コード内には、図1のように(図1のグレーアウトした部分)複数の国内のBIG-IPのIPアドレスが記載されており、攻撃のターゲットになっていました。
この攻撃コードは、攻撃者の使用していたサーバーから発見されており、サーバー上には攻撃ツール以外にも、攻撃グループBlackTechが使用するTSCookieやBifroseなどのマルウェアが確認されています。
このサーバー上からは、既知のマルウェア以外にも、これまで確認されていないマルウェアが発見されており、以降ではこのマルウェアについて紹介します。
Hipid
このマルウェアは、Linux OSをターゲットにしており、CPUアーキテクチャーがARMおよびx64に対応した2つのタイプが確認されています。これらのマルウェアは、どのようなデバイス上で動作を想定されて作成されたものなのかは不明ですが、IoT機器上での動作を想定している可能性もあるかもしれません。
このマルウェアは、C2サーバーから命令を受信し、任意のコマンドを実行する機能を持っています。ホスト名の名前解決には、システムコールではなく、hostコマンドを使用します。
また、送信するデータはRC4暗号化を行う場合とそのまま送信するタイプが存在します。そして、RC4暗号化を使用する検体の中には、暗号化に使用するS-Boxデータをサーバーに送信するという特殊な挙動を行うものが存在します。
不正なPyPIパッケージを使用したHipidの配布
BIG-IPの脆弱性を悪用する攻撃とは直接関係しませんが、上記で紹介したマルウェアと同種のマルウェアが、過去にPyPIの不正パッケージとして登録されていたことを、JFrog社が報じています[1]。図6は、不正パッケージのsetup.py
の内容です。攻撃者は、既存のパッケージを乗っ取ったわけではなく、PyPi上にマルウェアを設置して侵入したシステム上でこのパッケージをインストールした可能性があります。
マルウェア自体は、図7のようにBase32エンコードされた状態で、__init.py__
に含まれていました。マルウェアは、デコード後に/usr/sbin/syslogd
を上書きして、設置されます。
さらに、起動するマルウェアのプロセスは、図8のようにmountコマンドを使用して、プロセス隠蔽を行う処理が行われます。
おわりに
今回紹介したインシデントは、現在のところ収束しており、多くの環境では影響はありません。攻撃グループBlackTechは、近年外部からアクセス可能なシステムの脆弱性を悪用して攻撃を行うケースが多数確認されています。今回の場合も、脆弱性の公開から間もなく攻撃に悪用されており、引き続きパッチマネージメントは重要です。
インシデントレスポンスグループ 朝長 秀誠
謝辞
本調査に協力いただいたJFrog Shachar Menashe氏に感謝申し上げます。
参考情報
[1] JFrog Discloses 3 Remote Access Trojans in PyPI
https://jfrog.com/blog/jfrog-discloses-3-remote-access-trojans-in-pypi/
Appendix A: 通信先
- 139.180.201.6
- 108.160.138.235
- 108.160.132.108
- naaakkk.wikaba.com
- ntstore.hosthampster.com
- blog.mysecuritycamera.com
- 139.162.112.74
Appendix B: マルウェアのハッシュ値
- 9603b62268c2bbb06da5c99572c3dc2ec988c49c86db2abc391acf53c1cccceb
- cb1a536e11ae1000c1b29233544377263732ca67cd679f3f6b20016fbd429817
- 3d18bb8b9a5af20ab10441c8cd40feff0aabdd3f4c669ad40111e3aa5e8c54b8