首页
社区
课程
招聘
[原创]熊猫烧香分析(一)
2022-7-11 07:26 4697

[原创]熊猫烧香分析(一)

2022-7-11 07:26
4697



博客:https://qwer597.github.io/

行为分析

注册表随机数的修改操作
在命令行页有操作,此处去除硬盘共享和系统共享
文件创建成功

接下来对spoclsv.exe的行为分析发现大量对注册表run(自启动)的修改
其中包括google,macfee和windows等杀毒自启动项,甚至包括不常见的查毒程序

在注册表中创建隐藏项,并修改自己的自启动项
此处出现大量对tcp修改操作,验证了前面在网络行为监控中发现很多向外发送的信息的推断

创建inf自启动文件,和ini文件(类似注册表)

程序分析


在sub_403c98之前的这部分是delphi的初始化部分
Sub_403C98

函数的功能是生成字符串,被调用两次,返回值分别是两个不同的地址,并分别保存在第一个参数中,此图为两个地址对应的两个字符串
Sub_405360

Sub_4040BC只是对内存做lock锁定
其他函数都不重要仅仅是变量的处理,接下来的do-while循环是重点

将参数++戊+缓"叛聋+肛+删"蚊苜+兆++
依次与xboy中的一个字母xor解码

运行到紫色框位置时会出现一个地址00AE0078
这是setup.00403E2C函数的返回值
Set.00403ed4将“++戊+缓“叛聋+肛+删”蚊苜+兆++”的异或解密结果存在地址00AE0078
Sub_404018

此函数用来验证上边函数解码结果和武汉男生的字符串是否一样
我们可以在OD中看到两个字符串一样

这三个函数是病毒的三个主要功能
复制,传染文件并运行
感染其他文件
设置注册表,阻止杀毒软件查杀
这三大功能在前面的行为分析中都能看到

Sub_408024

 

Sub_40277C

通过GetModuleFileName获得本体路径
Sub_405684

此函数返回值是一个地址保存获取样本所在文件路径
Sub_403ED4

此函数拼接一个新的ini文件路径路径
Sub_4057A4

通过FindFirstFileA查找Desktop.ini文件,如果找到ini文件跳转,并结束函数
否则继续创建并写入内容

接下来程序要找到ini文件,通过SetFileAttributes更改ini文件属性0x80
Sub_403ECC

此函数的eax参数是一个pe文件首地址,delphi下字符串起始位置-4=字符串长度
此函数返回值也是EC00
Sub_40532c

转化参数字符为大写
判断感染

此处的strcmp函数是sub_404018,通过比较当前本体目录和spoclsv的目录判断自身是不是感染程序,此处在后边分析
Sub_4054bc

Eax参数保存地址中存放系统目录的路径
Sub_403f8c

此函数的两个参数,返回值保存spoclsv的路径
此函数将系统路径与两个参数拼接成新路径
并在下个函数转化为大写
Sub_40416C

参数eax=PE文件首地址,
Ebx=PE文件长度
此函数结束后,PE文件长度从EC00编成EBFF
Sub_4060D4

第一部分三个函数查明spcolsv.exe是否运行,下边有一个无条件跳转

无条件跳转到此位置,判断spcolsv是否存在,两种情况下都需要执行closeHandle函数关闭进程
虚线以上是不存在进程情况下的处理

接下来就出现很多重复函数,总体来说是构造spoclsv.exe的目录并创建文件
SetFileAttributes修改基本属性
并通过CopyFile填充文件,实现传染的目的
WinExec函数执行spoclsv.exe后推出

判断感染判断


接前文判断本体的跳转接着分析
跳转后需要对PE文件(前文出现的pe)的内容进行删改,其实也是样本自己

跟着jmp往下跳来到loc_4085D3
var_8保存和标记对比后的结果

总结

三大功能的第一个就分析完了,唉!样本分析还是要有耐心,如有不对的地方还请路过的大牛指点。


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

最后于 2022-7-21 01:13 被wx_好一脚头球编辑 ,原因:
收藏
点赞4
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回