
在2013年末-2014年初,我们曾经发现一个开放源码的 FileZilla FTP 客户端(我们称之为“StealZilla”)遭到了黑客的恶意篡改。当时的黑客修改了客户端的代码、 对客户端进行了重新编译,并在客户端中植入了木马,最后托管在web服务器上来诱使用户下载。在最新的这次攻击活动中,黑客仍然使用了相同的技术,篡改了开源软件-Telnet/SSH客户端-PuTTY的源代码;并且黑客同样利用了手中掌握的web服务器来托管虚假的Putty下载页。所以说,这次攻击活动几乎就是“StealZilla”攻击的再现。PutTTY中植入的木马首先会窃取凭据,然后把收集到的信息发送到一个收集服务器上。这种攻击方式也与StealZilla攻击完全一致。并且,窃取操作的执行过程非常迅速且隐蔽。木马会利用一个HTTP GET请求,一次性地把用户的登录信息发送给黑客。
感染方式:用户搜索PuTTY,得到一个虚假的链接,用户点击链接,进入一个伪装成合法PuTTY页面的网站,最终用户下载到植入木马的PuTTY。黑客还使用了搜索引擎优化技术来增加用户下载到恶意PuTTY的机会。托管在恶意服务器上的虚假HTML页面会提供Mac版PuTTY和安卓版PuTTY的下载链接,有些页面上的显示信息则相当奇怪,甚至会有洗发水的购买链接。恶意PUTTY.exe (MD5 b5c88d5af37afd13f89957150f9311ca) 与原版PuTTY一样,都是PE格式。这个植入了木马的PuTTY同样具有和原版类似的用户界面和功能。但是,因为恶意PuTTY的二进制文件是使用不同版本的 Microsoft Visual c + + 编译的,所以恶意PuTTY的用户界面也与原版的稍有区别。此外,点击"关于"按钮还能看到修改信息,显示为“Unidentified build, Nov 29 2013 21:41:02.”(未知编译版本,2013年11月29日,21:41:02.)。上述的编译时间仅仅是在PuTTY v0.63发布后的几个月中。然而,原版PuTTY v0.63版本的“关于”信息则显示为 “Release 0.63”。


上图是恶意PuTTY, 下图是原版PuTTY
SSH 会话启动时,木马就会收集凭据,然后发送给黑客。 使用的格式都与StealZilla攻击相同,只不过,这次攻击使用的协议是SSH,而不是FTP。
"ssh: / /
然后,木马使用Base64来编码这段字符串,并添加到URI;最后发送HTTP GET 请求。这是能从二进制文件中唯一发现的恶意网络流量。
hxxp://ngusto-uro.ru/get/index.php?record=

这个恶意PuTTY使用的指令也曾经出现在StealZilla攻击中
恶意服务器上托管的HTML页面都是山寨的合法页面,但是与原版网页还是有区别,在假冒的网页上会有一些词语来吸引用户的注意,甚至还有PuTTY版本的图片。所有的虚假网页都储存在恶意web服务器上的一个putty目录下。web服务器上其他目录中的内容则与PuTTYH和SSH客户端没有任何关联。下面是一些URI 结构实例:
/putty/super-magnetic-putty.html
/putty/garnier-putty.html
/putty/putty.html
我们对web服务器的投递设施进行了进一步地调查,结果发现了一些有趣的现象。我们发现多个论坛上的帖子都提到了一个IP地址146.185.239.3;这个IP地址出现在了一个JavaScript注入代码中,而多个遭到入侵并包含有PHP框架的网站上都使用了这个注入代码。目前,发动StealZilla 和 MalPuTTY攻击的黑客都把恶意域名解析到了 这个IP 地址;他们先前使用的IP地址是144.76.120.243。其中一些域名就包括目前的MalPutty域名 (ngusto uro.ru), 与之前出现的 go upload.ru 和 aliserv2013.ru。StealZilla攻击中也都曾经使用过这些域名。这个javascript 注入脚本使用的URI结构是: hxxp://146.185.239.3/sTDS/go.php;似乎运行的是基于TDS框架的sTDS(一个俄罗斯项目)。在木马世界中,TDS服务并不是什么新鲜事物。很多恶意活动中都会使用TDS服务, 例如在漏洞套件的投递过程中就可能用到这种服务。这个javascript 代码似乎能辨别设备的特性,然后生成一个密钥,发送给TDS服务,最终判断设备的路由方式。当然,黑客也能利用FTP和SSH攻击获取到的可用凭证,来入侵合法的web服务器。目前,我们还无法进一步了解黑客使用TDS系统的最终目的。
虽然,这种攻击类型非常简单,但是确相当有效。因为用户在下载文件时并不会在意文件有没有签名或者有没有通过验证,所以黑客就有了可乘之机。官方网页上都提供有合法PuTTY的哈希值,但是由于无法在Windows安装中生成加密算法,所以普通用户还无法解决这一问题。
PuTTY官方提供了一种验证方法 (参阅 http://www.chiark.greenend.org.uk/~sgtatham/putty/keys.html); 但是,这个验证过程存在几个问题。即使在理想条件下,手动验证哈希值也是没用的。因为 Windows 并没有提供任何计算 MD5/SHA 哈希的机制。即使Windows提供了计算机制,在虚假的PuTTY镜像中提供虚假的哈希也不是什么难事。用户真正需要的是,验证二进制文件是不是与提供的RSA/DSA签名相匹配。但是,一般的Windows系统管理员都不会操作,普通用户就更没希望了。另外,用户也不知道用来验证签名的RSA/DSA密钥是不是合法的,还是虚假镜像提供的。最后,当前版本的GPG并不能使用PuTTY的现有合法RSA/DSA密钥,因为这些密钥的签名都是MD5,这种签名已经弃用了。因此,即使是安全意识极高的用户也没有能有效验证PuTTY合法性的途径。
入侵标识(IOC) :
PUTTY.exe
Windows PE File
MD5 b5c88d5af37afd13f89957150f9311ca
SHA1 51c409b7f0c641ce3670b169b9a7515ac38cdb82
SHA256 d3e866e5bf18f2d9c667563de9150b705813e03377312b6974923f6af2e56291
C2 域名:
ngusto-uro.ru MalPuTTY
go-upload.ru StealZilla
aliserv2013.ru StealZilla
IPV4 地址:
144.76.120.243 Previous
193.227.240.131 Previous
146.185.239.3 Current
硬编码的用户代理字符串:
Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.9.168 Version/11.51
stc-castelnaudary[.]fr/putty/
holidaystennisclub[.]com/putty/
stonarov.wz[.]cz/putty/
stabryl.home[.]pl/putty/
mohsenfeshari[.]com/putty/
nwedigital[.]com/putty/
kangasquads.com[.]au/putty/
sistemaysoporte[.]es/putty/
straydogwinter[.]com/putty/
snailmailrecall[.]com/putty/
steveacker[.]com/putty/
starsretail[.]com/putty/
podspeak[.]net/putty/
stephensimmer[.]com/putty/
biznetbrokers[.]com/putty/
ofbcorporation[.]com/putty/
spriebel[.]de/putty/
siteweb.olympe[.]in/putty/
yumyums.comcastbiz[.]net/putty/
prfc.com[.]au/putty/
helpmydiabetes[.]info/wp-includes/
(责任编辑:安博涛)