在这篇文章中,我们将采取高级和低级的小马木马,通过最近的垃圾邮件活动提供。

在我们的案例研究期间,我们展示了一些在垃圾邮件活动中分发的恶意样本。
使用这种分发方法,恶意软件通常会被发现附加到电子邮件中:

  • 可执行文件(也是压缩的,即。邮政编码rar.出租车归档),有时假装是一种不同的文件格式,就像dyreza.
  • 一个文档(通常是PDF或一些MS Office格式)-就像这样Dridex下载器

这次我们将呈现一个具有比特不同递送方法的样本。攻击者决定只发送链接并说明用户下载恶意软件:

hsbc_pony_spam.

这种骗局是为了让用户对意想不到的资金转移感到好奇,导致他们点击其中一个链接并下载相关文件。他们点击哪个链接并不重要,因为他们都提供相同的样本。

download_scr

在下载过程中,浏览器可能会显示一个典型的可执行图标。这个不寻常的扩展只是另一个迷惑用户的把戏,用户可能会更加警惕可执行程序但当遇到SCR。克拉扩展名用于屏幕保护程序 - 但尽管名称不同,但它们是正常的可执行文件,并且它们可以以同样的方式运行。

下载的文件通过使用著名的adobereader图标和文件名“security”或“infos”,试图使其看起来可信。

security_scr.

一旦执行,它就会在系统上部署小马木马。有关检测此恶意软件的更多信息,请点击下面的链接:

MD5 =8 a55ecad10a7cf3dad3630ac40e420a1

对于那些只知道该文件是恶意的就感到满意的人,可以在看到后停止阅读毒议报告.但是,如果您对此恶意软件家庭的功能感兴趣,而且它用来隐藏其真正的使命,请继续阅读!

涉及的元素

原样品- security.scr.只是个外包装,用来迷惑人的。它将另一个完全独立的可执行文件加载到内存中:Pony Loader。

小马装载机

几年前,小马装载机(bot)的源代码1.9还有“小马建设者”(Pony Builder,机器人配置程序)泄露到网上。后来版本也发生了同样的事情2.0.这两套软件都可以在各种论坛上下载。在分析过程中,我会将当前的样本与泄漏的材料进行比较,以识别攻击者所做的更改。

混淆技巧

让我们来看看入口点:

pony_entry_point.

正如我们所看到的,流程被滥用。基本块之间的转换是使用众所周知的技巧进行的:PUSH-to-RET,它模拟对推入堆栈的地址的调用。但在Pony中,这种技术以更复杂的方式使用,因为在PUSH和RET之间添加了一些垃圾指令,以及从未执行的虚假条件跳转。

由于这些技巧,有时常用工具无法正确解释代码。例子如下:

failed_interpret.

Ollydbg将推送的地址解释为字符串

这个恶意软件使用的另一个技巧是延迟执行。例如,恶意软件执行GetTickCount循环,直到得到一个满足特定条件的值。这个技巧背后的算法很简单。返回的值GetTickCount被预定义的数字除。当余数等于另一个预定义值时,循环终止。作为一个结果GetTickCount在执行可以继续之前运行伪随机数。

PONY_DELAY.

这种特殊的功能与小马1.9中的模式匹配:

MainEntryPoint: AntiDisasmTrick .WHILE TRUE调用GetTickCount mov ecx, 10 xor edx, edx div ecx如果edx == 5 .BREAK .ENDIF .ENDW调用DoWork调用ExitProcess, 0

字符串

恶意软件的作者并不关心混淆字符串或API调用。在这个阶段,我们可以清楚地看到它们。
其中一些字符串与分析的样本中的字符串相同(或建议等效功能)2013年MalwareMustDie.然而,当前的示例似乎没有那么令人反感,例如,它不像前一个那样包含许多引用密码窃取的字符串。

你可以在这里看到完整的(和注释的)字符串列表:https://gist.github.com/hasherezade/1f3199b7b752db5d46c6

目标识别

源代码中的特定模块根据定义的标志被包括或排除。当前分析的样本有以下模块包括-被用于目标' NetSarang XFTP ':

;XFTP;http://www.netsarang.com/forum/xftp/list;测试:XFTP 4(Build 0077);测试:XFTP 4(Build 0083);sftp:实现了ifdef compile_module_xftp .data cxftppopdatadir db'\ netsarang',0 cxftpconfigfile db'.xfp',0 .code grabxftp proc流本地hdr_ofs:dword调用streewritemodule,stream,module_xftp,0 mov hdr_ofs,eax调用appdatacommonfilescan,流,偏移cxftpappdatadir,offset cxftpconfigfile,itemhdr_id或0调用streamupdatemodule elen,stream,hdr_ofs ret grabxftp Endif

网络通信

它没有花很长时间找到我们的PONY样本查询的URL:

queried_urls

第一个URL, windows update,在收集了关于系统的信息之后使用。恶意软件发送一个POST请求到如下地址。

Post4updates.

实际发送的数据是由Pony创建的未加密报告,列出了受感染系统的信息。该流量包含关键字“PWDFILE0”和“MODU”,以及恶意软件可能提取的任何被盗凭证。

posted_data

如果你想知道为什么这种类型的报告被发送到Windows更新服务器,我想知道同样的事情?为了找出答案,我引用了原始代码,以检查其背后的意图。正如代码所述,该函数应该将窃取的凭证发送到C&C!

;扫描和发送密码调用ScanAndSend

这种恶意软件的发布者似乎对收集凭据一点兴趣都没有,这就是为什么他们将信标URL设置为Windows Update地址,而不是C&C,后者可以收集和存储被盗信息。这可能是因为懒惰的编码员——他们没有删除这段代码,而是重定向发送到一个虚假的URL。

我们重建了如何使用PONY Builder所需的配置:

win_update

PONY也有下载的功能。

;运行loader IFDEF ENABLE_LOADER调用RunLoader ENDIF

其他url(以wp.php)是第二有效载荷的替代位置。他们有扩展名php,但它们提供由小马下载的恶意可执行文件,保存为可执行程序和运行。恶意软件会循环访问每一个网址,以找到一个活跃的网址。恶意软件使用硬编码的GET请求:

get_payload.

这些地址在PONY BUILDER中的“Loader”页面设置:

payloads_download.

密码破解

Pony Agent附带一个常用密码的小词典。

POMPOTOME_PASSWORD.

该列表与Pony 1.9泄露源代码中的列表相匹配:

;密码列表在Windows用户登录BruteForcorcer .data Cwordlist DB“123456”,0 DB“Passwear”,0 DB“PHPBB”,0 DB“QWERTY”,0 DB“12345”,0 DB“JESUS”,0 DB“12345678“,0 db”1234“,0 db”abc123“,0 db”letmein“,0 db”test“,0 db”love“,0 db”123“,0 db”password1“,0 db”hello“,0(...)

此字典用于攻击函数检索的本地帐户NetUserEnum

attack_admin

示例:恶意软件尝试以“管理员”登录,从字典中检查所有密码。

自动删除

最后,PONY以%TEMP%创建批处理脚本,具有奇异的格式化内容:

bash_script_added.

此脚本旨在在执行后删除PONY Loader(在循环中工作,以等待样本终止)。同样可以在PONY 1.9代码中找到:

. data szBatchFmt数据库' % d.bat ', 0 szSelfDelQuoteFmt数据库“% s”,0 szShellExecute db ShellExecuteA, 0 szBatchFile db 13日,10日,9日,9日,13日,10日,13日,10日,09年”:ktk”,13日,10日,13日,10日,13日,10日,“▽”,9日“% 1”,13日,10日,9日,“如果”,9日,9日,“存在”,9日“% 1”,9日,“转到”,9日,13日,“ktk”,13日,10日,“▽”,9日“% 0 0 szShell32Lib db‘二’,0

结论

这个样本似乎是从Pony 1.9的源代码中编译的——旧版本,没有最近的添加和改进。此外,原始源代码的一些特性被删除了(即与证书窃取相关)。似乎在这种情况下,Pony Loader主要用作下载器。

正如当前的例子所显示的,有时“新的”恶意软件样本并不是那么新的——只是它们被新的打包了包装工队/地穴

攻击者经常使用泄漏的源代码作为基础 - 但他们忽略了这个事实,同样的材料也可用于恶意软件分析师 - 让他们轻松揭示他们想要隐藏的一切。

附录

http://blog.malwaremustdie.org/2013/06/case-of-pony-downloaded-zeus-via.html.-小马装载机的描述@malwaremustdie