本文讲的是Java & Python 未修复漏洞导致跨越防火墙大混乱,发现该漏洞的程序员说:当你找到进入邮件服务器的路时,事情就变得好玩了。
Java & Python有个可以用来翻越防火墙的漏洞。因为俩漏洞都还没被补上,或许今儿是催促你公司开发人员的好日子。
该Java漏洞意味着,通过其FTP实现进行的协议注入,可欺骗防火墙放行互联网TCP连接接入内部主机。
亚历山大·科林克和 Blindspot Security 公司的蒂莫西·摩根,对这两个漏洞有进一步的阐述。
科林克的发现是:Java的 XMLeXternal Entity (XEE)错误处理了FTP连接,因为它没有对Java传到服务器的用户名进行语法检查。
特别是,cr和lf应该是拒绝接受的,但却被放行,让非FTP命令得以注入到连接请求中。科林克的证明展示了如何在FTP连接尝试(即便连接失败)中发送SMTP电子邮件。
EHLO a
MAIL FROM:a@example.org
RCPT TO:alech@alech.de
DATA
From: a@example.org
To: alech@alech.de
Subject: test
test!
.
QUIT
越来越糟
科林克认为,该攻击在特定场景下尤其有趣——从执行XML解析的主机上访问(不受限的,甚至没有垃圾邮件或恶意软件过滤的)内部邮件服务器时。
摩根的贡献,则是实现了用同样的动作经过几步过程突破防火墙高位端口:
- 获取一个内部IP地址——这很简单:发个URL,看看客户端是怎么动作的,然后尝试另一个,直到攻击成功。
- 包对齐——这就是该攻击成功的秘诀了。FTP是同步的,意味着两边都在等待自己发出的每一条命令的响应。如果这里出错了,攻击失败!
摩根称他将暂时不公布概念验证脚本,先看看甲骨文(和Python开发者)是怎么回应本披露的。
不过,他设想自己的漏洞利用也可用于中间人攻击、服务器端请求伪造、XEE攻击等等——一旦越过防火墙,桌面主机即便没有安装Java也能被攻击了。
Python同样脆弱,其urllib和urllib2库就是入手点。不过,该注入似乎仅限于在URL中指定目录名的攻击。
至于缓解办法,摩根建议:在桌面和浏览器中禁用Java;在所有防火墙上禁用“经典模式”的FTP。
原文发布时间为:二月 22, 2017
本文作者:nana
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛
原文链接:http://www.aqniu.com/threat-alert/23038.html