未修补的Python和Java漏洞允许黑客通过FTP注入绕过防火墙
发布时间:2022-08-10 19:45:29 354
相关标签:

Java和Python这两种流行的编程语言包含类似的安全漏洞,可以利用这些漏洞发送未经授权的电子邮件并绕过任何防火墙防御。
而且,由于这两个缺陷仍未修补,黑客可以利用这一优势设计针对关键网络和基础设施的潜在网络攻击行动。
这些未修补的缺陷实际上存在于Java和Python编程语言处理文件传输协议(FTP)链接的方式中,它们没有对用户名参数进行语法检查,这导致了研究人员所说的协议注入缺陷。
Java/Python FTP注入用于发送未经授权的SMTP电子邮件

为了演示攻击,Alexander演示了如何在FTP连接尝试中通过SMTP(简单邮件传输协议)发送未经授权的电子邮件,即使FTP连接失败,因为FTP服务器确实支持身份验证,但不检查用户名中是否存在回车符(CR)或换行符(LF)。
Alexander总结道:“在这样一种情况下,这种攻击尤其有趣,在这种情况下,你可以从进行XML解析的机器上访问(不受限制,甚至可能没有垃圾邮件或恶意软件过滤)内部邮件服务器”。
Java/Python FTP注入允许绕过防火墙
然而,两天后,在另一份安全咨询中,Blindspot security的安全研究员蒂莫西·摩根(Timothy Morgan)提出了他的发现,显示了更具威胁性的攻击场景,Java和Python中的FTP URL处理程序都可以用来绕过防火墙。Morgan说,这种FTP协议注入漏洞可能被用来欺骗受害者的防火墙,使其在其“高”端口(从1024到65535)上接受从网络到易受攻击主机系统的TCP连接。
除了FTP协议注入攻击,FTP协议中还有一个十年前的安全问题,称为经典模式FTP;客户端-服务器FTP交互的不安全机制,但默认情况下,许多防火墙供应商仍然支持它。
启动经典模式FTP连接时,防火墙会临时打开一个端口–;通常介于1024和65535之间–;在端口命令中指定,这会带来安全风险。
利用Java和Python中的FTP协议注入问题,知道目标主机内部IP地址的攻击者可以启动经典模式FTP连接,攻击者可以将其用于邪恶目的。
Morgan已确定,攻击者只需三次请求即可在目标防火墙中打开一个端口:
- 识别受害者的内部IP地址–;这要求攻击者“发送一个URL,查看客户端的行为,然后尝试另一个,直到攻击成功”。
- 确定数据包对齐,并确保在正确的时刻注入端口命令,从而使攻击有效。
- 利用漏洞。
易于利用的协议注入漏洞
然而,研究人员警告称,他的漏洞可能被用于中间人(MitM)攻击、服务器端请求伪造(SSRF)、XEE攻击等–;一旦绕过防火墙,桌面主机即使没有安装Java,也可能受到攻击。攻击者只需说服受害者访问安装在服务器上的恶意Java或Python应用程序即可绕过整个防火墙。
Morgan说:“如果桌面用户在安装Java时被说服访问恶意网站,即使Java小程序被禁用,他们仍然可能触发Java Web Start解析JNLP(Java网络启动协议)文件”。“这些文件可能包含触发此错误的恶意FTP URL”。
“还要注意的是,由于Java在向用户提供任何安全警告之前解析JNLP文件,因此攻击可以完全成功,而无需向用户提供任何指示(除非浏览器本身警告用户Java Web Start正在启动)。”根据Morgan的说法,Python的urllib2和urllib库中也存在一个几乎相同的漏洞,尽管“这种注入似乎仅限于通过URL中指定的目录名进行的攻击”
协议注入漏洞仍未修补
Morgan表示,他的公司于2016年1月和2016年11月分别向Python团队和Oracle报告了FTP协议注入漏洞,但两家公司均未发布任何更新来解决该问题。Morgan开发了一个概念验证(PoC)漏洞,但目前正在推迟发布他的漏洞,直到Oracle和Python对披露和发布补丁做出回应。
Morgan的漏洞已经在Palo Alto Networks和Cisco ASA防火墙上成功测试,不过研究人员认为许多商用防火墙也容易受到FTP流注入攻击。
因此,在补丁可用之前,Morgan建议用户卸载桌面和浏览器上的Java,并在所有防火墙上禁用对“经典模式”FTP的支持。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报