专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
目录
相关文章推荐
51好读  ›  专栏  ›  看雪学苑

分析PoSeidon下载器和键盘记录器

看雪学苑  · 公众号  · 互联网安全  · 2017-08-19 17:59

正文

请到「今天看啥」查看全文


本篇博文分析了一个Poseidon的示例(示例查看阅读原文下载)。初始示例是一个下载器,并携带着 正在 CnCs列表中在线运行的CnCs。然而因为有一个bug,这个恶意软件不能下载第二个阶段的可执行文件(键盘记录器)。


下载器


第一个实例是键盘记录器的下载器。他复制自己到c:\windows\system32\winsrv.exe并自动安装(它也会创建WinSrvWD的mutex令牌)。然后自动删除第一个exe文件并创建两个进程:

两个进程运行相同的可执行文件。Svchost.exe运行一个函数,万一进程死掉该函数会保护WinSrv.exe。


WinSrv.exe运行下载器的主代码


下载器主要工作是尝试连接CnCs列表:

当它解析到列表的域名后,会连接列表并发送主机信息(如果没有解析到,则继续尝试下一个网址):

这里出现了问题。当下载器连接到一个有效网址时,CnC应该回复一个它可以理解的结构体。但这有一个bug,服务器是有效域名,也是一个有效的http服务器,但它没有运行CnC服务,它会回复一些“not found”之类的错误(一个错误页)。这时,恶意软件找不到他需要的有效结构体,并一直重复尝试相同的网址,一直重复得到同样的结果。

所以,当下载器找到了一个有效的http服务器但不运行CnC服务时,下载器会进入死循环,一直连接相同的网址而不继续尝试其他网址(这样它就不会继续下载第二个可执行文件了)。

发现了这种情况,我必须欺骗下载器来继续连接下一个网址。最后它找到了一个有效网址并得到了CnC服务应答,这是服务器的回复:

正如我们看到的,它是一个有效网页,在恶意软件的结构体中显示“此网页不存在!”

从回复中我们可以看到一个可以下载第二个可执行文件的网址,和一个新的网址列表。

它会保存新网址列表到c:\windows\system32\winsrv.exe.cfg,并运行另一个svchost.exe的例子来注入(Process Hollowing,恶意软件常用的一种进程创建技术)下载程序POSNumBot_baked.exe。

在下载器中没有其他有趣的东西了。对CnC服务器的询问很容易,是明文且只用base64加密机器信息,写一个Python client并不难。


POSNumBot


下载器下载的第二个可执行文件是键盘记录器。下载地址。

它没有壳。双击就可以运行(不需要下载器加载)。

它创建一个窗口来接收键盘事件:



在这里记录键盘事件:

它会把键盘事件列为一个列表供另一个线程使用,这个线程负责与CnC通信:

线程与CnC连接:

它构成的一个查询如下所示:

oprat=2&uid=6922070704454700032&uinfo= ==&win=6.1&vers=13.40M&logs=

Uinfo表示用户信息,用base64编码(像下载器一样)。

Logs=parameter用来发送登录密钥。密钥简单的与0x2a异或进行加密,用base64编码:

这里的第二个可执行文件只能连接一个特殊的CnC网址。

我们用一个记事本触发键盘事件:

这是被捕获的发送给CnC的数据:

用下面的小脚本解密logs parameter中的数据:

得到以下解密结果:

如果将这些结果与记事本里内容作比较,会发现按键都包含在log中(顺便说一下,log中的单词“NUMERO”和“PAUSA”是西班牙语。我是通过虚拟机的西班牙语配置知道的)。


总结


PoSeidon看起来是简单的下载器+键盘记录器的组合,修复bug并不难。如果我没有在修复bug时遇到错误,下载器会一直有一个bug:如果连接到一个有效地址,提供http服务但没有安装CnC服务时,下载器就不会继续下载第二个可执行文件了。


引用


  • https://www.riskanalytics.com/blog/post.php?s=2017-07-07-coming-to-a-break-room-near-you-point-of-sale-malware

  • https://otx.alienvault.com/pulse/5963cf360c598200ceaea232/

  • https://otx.alienvault.com/pulse/5963420fd5df7633ca659237/





本文由看雪翻译小组 Green奇 编译,来源@vallejo

转载请注明来自看雪社区



热门阅读







请到「今天看啥」查看全文