
exim が CVE-2019-10149 に対して脆弱かどうかをテストするシンプルな Python ソケット接続。ペイロードは、単に /tmp/eximrce 内にファイルを touch するだけです。
exim が CVE-2019-10149 に対して脆弱かどうかをテストするシンプルな python ソケット接続です。 ペイロードは /root/lweximtest にファイルを touch するだけです。出力はサーバーの応答次第で遅くなり、 python のソケットモジュールを正しく使う方法を知らないためです。高速化する方法を教えていただけると嬉しいです。cPanel 環境でのみテスト済みです。
疑わしいサーバー上でローカルに実行します。侵害の兆候をチェックします。
curl -s https://raw.githubusercontent.com/cowbe0x004/eximrce-CVE-2019-10149/master/eximioc.sh |bash
リモートで実行します。リモートコード実行をテストします。
git clone https://github.com/cowbe0x004/eximrce-CVE-2019-10149
cd eximrce-CVE-2019-10149
python eximrce.py <HOST> <PORT>
サーバー上に /root/lweximtest が存在する場合、リモートコード実行が可能です。
exim を更新できない場合は、少なくともこの ACL を exim.conf に追加して、${run{ が実行できないようにしてください。
## change
acl_smtp_rcpt = acl_smtp_rcpt
## to
acl_smtp_rcpt = acl_check_rcpt
## after "begin acl"
acl_check_rcpt:
deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|] : ^.*\N\${run{\N.*}}
deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./ : ^.*\N\${run{\N.*}}
accept