
Простое python socket-соединение для проверки уязвимости exim к CVE-2019-10149. Полезная нагрузка просто создаёт файл в /tmp/eximrce.
Простое соединение через python socket для проверки уязвимости exim к CVE-2019-10149. Полезная нагрузка просто создаёт файл в /root/lweximtest. Вывод будет медленным в зависимости от ответа сервера, а также из-за незнания того, как правильно использовать модуль socket в 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