好友
阅读权限10
听众
最后登录1970-1-1
|
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子! 病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途! 禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 ReverseZ 于 2017-10-21 15:22 编辑
来也匆匆,去也匆匆,感恩15pb,望15pb越来越好
0x01基本信息
文件: C:\Users\15pb-win7\Desktop\004.vir
大小: 631810 bytes
修改时间: 2017年9月29日, 8:19:09
MD5: 81FE61EC3C044AA4E583BA6FF1E600E8
SHA1: D7C9D1E5A2FA2806A80F9EDBCDD089ED05D6B7D8
CRC32: 2EBCCBF8
加壳情况:未加壳
0x02简介这是一个针对用户浏览器、FTP软件,窃取系统及个人信息的木马。
0x03被感染系统症状
创建C:\Users\用户名\AppData\Roaming\5F1832文件夹,并将木马以不同名称2728C2.exe复制到其中,其中名称5F1832和名称2728C2为木马随机产生,接着修改木马的文件属性为隐藏。用户系统中浏览器、FTP等软件本地存储密码会被上传到指定服务器。木马尝试在注册表中添加启动项但是失败。
0x04详细分析
当木马运行后,会进行如下操作:
1. 检测操作系统是否运行在虚拟机(wmware等)中,系统进程列表中是否有安全工具(windbg等)和杀毒软件,如果发现自动终止运行。
2. 加载RC数据中的名为1000的资源到内存并其进行解密
3. 加载Icon资源类型下的所有资源到内存,并使用之前RC中名为1000的资源的数据对其进行解密
第一次解密
第二次解密
此时木马的主体已经暴露在外,将其dump出来,保存为可执行文件
4. 接着木马程序获取自身路径以挂起的方式创建对应的子进程,并获取对应的线程上下文CreateProcessW(0,自身路径,0,0,0,4,0,0,buf1(大小0x44), buf2(大小0x10));
5. 将子进程的主模块数据卸载
6. 创建一个内存段对象,将当前进程和子进程的指定位置指定大小的内存与之“绑定”
(1)首先创建一个内存段对象
(2)两次调用下面的函数,将当前进程内存地址为0x16E000和子进程内存地址为0x400000,大小同为0xA2000(也就是释放的恶意PE的IMAGESIZE)的内存空间同时和上面创建的SectionHandle“绑定”到一起。
此时在当前进程中修改0x16E000后的内容就会间接的修改了子进程0x400000后的内容。
7. 将之前解密出来的恶意主体在当前进程中PE展开(实现PE文件加载到内存)
此时当前进程和子进程的内容应该都如图所示
8. 接着主进程恢复子进程的主线程,并结束自身进程
9. 接下来就是分析之前dump出来的主体untitle1.exe了,下面是基本文件信息,.x段很可疑
程序使用hash值获取函数地址
字符串都是局部变量字符数组,隐蔽性很强
10. 获取"SOFTWARE\Microsoft\Cryptography"下的"MachineGuid"项的键值"f9117a5d-b155-4a3e-b6c9-5ae181247d3b",加密之后,得到"5ED09A55F1832728C292E32429D73569",最后截取前0xc个字节,返回"5ED09A55F1832728C292E324",如果获取键值失败则采用结合一个固定值产生字符串。以本机为例,之后创建互斥体和之后生成的文件夹名和文件名都和"5ED09A55F1832728C292E324"有关
11. 防止自身多启动
12. 尝试窃取几乎所有的浏览器、FTP客户端中等软件保存的用户帐号: 下面是执行窃取操作的循环
这里简单分析下第一个函数调用:火狐密码的窃取(1)首先,由注册表获取到路径0012FB78 00271CB8 UNICODE "SOFTWARE\Mozilla\Mozilla Firefox\53.0 (x86 zh-CN)\"(2) 获取关键文件夹并用于初始化
(3)初始化之后就是读取
的这三个文件获取密码
然后就关闭
10. 接着获取当前用户是否具有管理员权限,当前虚拟机未打开管理员权限网络文献:以上Delphi检测用户是否具有administrator权限(OpenThreadToken,OpenProcessToken,GetTokenInformation,AllocateAndInitializeSid和EqualSid)http://www.cnblogs.com/findumars/p/5281970.html 11. 将以上所有收集到的信息发送至指定服务器其中.x段存储着服务器地址xor 0xFF后的值,每次均从中获取对应的网址
获取服务器地址
发送数据
12.接着就是移动文件到指定文件夹(并在这个过程中改文件名),并设置文件属性
13. 之后就是循环上传
14. 执行流程图
15.木马的缺陷:未能正确添加启动项
这其间获取服务器地址使用一个奇怪的函数,函数内部首先使用RSA相关的函数解密一块内存空间,然后又将释放的恶意PE的.x段与0xFF异或,之后将xor的结果覆盖到之前解密的部分,而这之间没有任何对解密部分的使用,也就是说白解密了.一开始以为是混淆,直到又看到一个函数SHRegSetPath,一开始看到就觉得应该是设置启动项,函数第一个参数是主键HKEY_LOCAL_MACHINE,但是第二个参数竟然是服务器地址,结果就是这个木马不能正确添加到启动项那么,为什么呢?往SHRegSetPath上面看看,会发现刚刚说的那个那函数,跟进去会发现它还是首先解密一块空间,
解密后就是\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,这正是SubKey应该的字符串,但是之后被服务器地址无情的覆盖了,所以最后就悲剧了.这里猜测可能是作者是想改将服务器地址改为自己的(跟到过解密后的字符串,除了这个注册表的都是网址),他可能是在原来的RSA解密函数内部改的(你会发现有很多nop),在其中使用汇编将自己添加的.x段异或0xFF覆盖到返回地址,但是他没有注意到添加启动项也使用了这个函数也用于解密"\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"字符串.
整个木马详细的分析过程在附件中(真心详细),欢迎下载
链接:http://pan.baidu.com/s/1qYbpdZu 密码:mqiw 解压密码:111 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|