
Einfache Python-Socket-Verbindung zum Testen, ob Exim anfällig für CVE-2019-10149 ist. Das Payload erstellt einfach eine Datei in /tmp/eximrce.
Einfache Python-Socket-Verbindung, um zu testen, ob Exim anfällig für CVE-2019-10149 ist. Das Payload erstellt lediglich eine Datei in /root/lweximtest. Die Ausgabe wird langsam sein, abhängig von der Antwort des Servers und der Tatsache, dass ich nicht weiß, wie man das Python-Socket-Modul richtig verwendet. Würde mich über eine Lektion freuen, wie man es beschleunigen kann. Nur auf cPanel-Servern getestet.
Lokal auf dem vermuteten Server ausführen. Dies prüft auf Anzeichen einer Kompromittierung.
curl -s https://raw.githubusercontent.com/cowbe0x004/eximrce-CVE-2019-10149/master/eximioc.sh |bash
Remote ausführen. Test auf entfernte Codeausführung.
git clone https://github.com/cowbe0x004/eximrce-CVE-2019-10149
cd eximrce-CVE-2019-10149
python eximrce.py <HOST> <PORT>
Wenn /root/lweximtest auf dem Server existiert, ist eine entfernte Codeausführung möglich.
Wenn Sie Exim nicht aktualisieren können, fügen Sie zumindest diese ACL in exim.conf ein, damit ${run{ nicht ausgeführt werden kann.
## 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