逆向分析熊猫烧香,学习交流贴
1.样本概况1.1 样本信息病毒名称:熊猫烧香大小: 30001 bytes修改时间: 2007年1月17日, 12:18:40MD5: 512301C535C88255C9A252FDF70B7A03SHA1: CA3A1070CFF311C0BA40AB60A8FE3266CFEFE870CRC32: E334747C病毒行为:“熊猫烧香”,是一款拥有自动传播、自动感染硬盘能力和强大的破坏能力的病毒,它不但可以感染系统中的exe,com,pif、src、html、asp等文件,他还能终止大量的反病毒软件进程,并且会删除扩展名为gho的系统备份文件,使用户的系统备份文件丢失。被感染的用户系统中所有.exe可执行文件全部被改成熊猫举着三根香的模样。1.2 测试环境及工具系统:WIN7 x32虚拟机工具:PEID OD IDA 火绒剑 PCHunter321.3 分析目标病毒行为分析,编写专杀工具。2.具体行为分析2.1 样本提取模拟真实场景,在虚拟机中运行样本。病毒执行后,删除样本,开始提取样本需要观察的情况使用ARK工具查看可疑进程使用ARK工具查看启动项(注册表、计划任务等)使用ARK工具查看驱动、服务等可疑项使用ARK工具查看其它杂项使用抓包工具查看可疑流量直接给他最高权限运行进程查看工具:procexp顺利运行了运行一会儿差不多可以了重启了一下虚拟机工具:PCHunter32查看可疑进程,先看蓝色的进程,为用户级进程结束掉了进程查看启动项接着一一查看一下其他启动项可疑服务筛查:没有发现可疑进程可疑计划任务筛查:没有发现可疑计划任务驱动模块查看:快速看一遍,盯着厂商信息看,没有发现可疑驱动其他的都检查一遍,基本都没有异常。网络这里可以发现很多病毒进程的端口找一些被感染文件,使用PEID查看一下文件特征,发现入口点都是154,都有FSG2.0的壳。猜测被感染文件是被覆盖了。手工查杀到这里就结束了。抓包查看一下:工具:WSExplorer刚刚病毒进程都结束了,还得重新运行一下。竟然还有地方接收这个程序发出的包。样本提取出来了,更改一下样本病毒的后缀名,防止误操作再次运行病毒。手工清理机器总结:结束可疑进程spo0lsv.exe删除可以进程启动项程序安装目录下呗感染的exe变成了熊猫烧香图标,手工无法清除,当运行被感染程序时,病毒再次复活。(手工无法清除此病毒,需要进一步进行详细分析) 2.2 行为分析获取样本后,在虚拟机中,使用工具监控样本的运行。待执行病毒后,分开查看病毒行为。分析监控到的日志,主要观察的点:文件操作,主要看文件创建、修改、删除等操作注册表操作,主要看注册表设置、创建等操作进程操作,主要看创建进程、写入内存等操作网络操作,主要看网络连接地址、写入内存等操作其他行为,以及人肉看样本运行后的反应工具:火绒剑设置监控行为说,已经默认全选了动作过滤,详细查看查看文件被修改动作与文件写入动作创建了一些文件,有一些文件与样本大小一致,病毒样本有自复制,感染了很多exe文件。过滤注册表设置,创建动作,进行分析有创建建值,设置启动项的操作进程操作动作,有枚举进程,启动自己释放的进程,打开设备,查找窗口。设置网络动作监控过滤,网络操作,主要看网络连接地址,ID,可以看到有局域网连接,外网访问,URL访问。执行监控中,有CMD的操作。人肉观察:图标被更改,文件被覆盖。 行为分析总结:分析监控的日志以及人肉之后,可以分析出样本的恶意行为,自我复制样本到C盘Windows/driver/目录下,启动C盘/Windows/driver/spo0lsv.exe,在每一个目录下创建了Desktop_.ini,里面是当前日期。在C盘根目录创建了autorun,inf文件,里面指定了自启动的文件为根目录下的setup.exe。对程序目录下的exe进行了感染,图标变为熊猫烧香,打开exe时,自动打开病毒。设置注册表启动项为C:/Windows/driver/spo0lsv.exe。设置注册表键值,隐藏文件不显示。样本自创建了一个注册表的项,在其中写入了信息。修改注册表的IE浏览器代理连接设置。枚举进程、查找窗口、打开设备,连接局域网的一些地址,访问外面的一些网址。使用CMD的命令关闭网络共享。2.3详细分析通过行为分析后,可以知道熊猫烧香的一些恶意行为,接下来使用IDA与OD动静结合分析。使用查壳工具查壳,有壳先脱壳。使用IDA的签名工具可以更好的识别库代码,shift+F5添加合适的库签名,分析反汇编。使用IDA的F5转为C配合修改参数,变量类型,分析伪代码。使用OD动态调试样本,验证IDA中分析的猜测。在IDA分析完成后创建map文件,导入OD中使用,导入map文件后,OD名称与IDA同步。PEID查看一下壳,是个压缩壳。脱壳找到填充IAT位置OEP跳转在OEP处将程序dump下来,然后用ImportREC修复一下dump文件用exeinfo查看了一下,属于Delphi程序使用sheft+F5,然后插入,搜索delphi,OK后标签添加完成,为之后分析提供很多方便脱壳后OPE入口代码截图字符串分析,大致功能判断,进程遍历,线程遍历,模块遍历,cmd命令使用,接着把IDA的MAP文件同样加载到OD中,进行动静结合的办法分析病毒样本首先进项第一轮粗略的函数分析,猜测为样本程序的校验部分,其中包含了作者以及为作者提供帮助的人员信息,验证成功后会进入病毒启动部分。接着把IDA的MAP文件同样加载到OD中,进行动静结合的办法分析病毒样本首先进项第一轮粗略的函数分析,猜测为样本程序的校验部分,其中包含了作者以及为作者提供帮助的人员信息,验证成功后会进入病毒启动部分。第一个函数分析在OD中步过运行进行粗略查看为,对两个字符串进行比对,返回一个布尔值。(eax和edx是两个相同的字符串,“武汉病毒下载者”)配上退出进程的函数,猜测这两段为一个验证过程启动程序分析IDA中对sub_40819C的猜测分析下面一点部分基本都是对文件,字符串,进程的操作。sub_40819C的反汇编详细分析局部变量标号定义段总结:进行了路径字符串与文件字符串的拼接操作,然后判断文件是否存在,若存在,删除文件,继续执行。样本病毒将病毒信息读取到内存中的操作,其目的是复制病毒信息感染其他文件。继续运行。判断自身是否是第一次跳转 在这之前,多数都在执行重复性操作,这些操作的目的只有一个,在进程中找到样本程序并终止,然后再系统目录中删除,再对病毒文件进行伪装没然后启动,这是病毒程序第一次运行时需要执行的动作。第二部分:主要功能是感染
获取exe文件名,查找当前运行的程序,若该程序正在运行,放弃感染,若该程序是病毒程序,不感染读取exe文件,存储在内存中,在该exe文件中查找字符串"WhBoy",若存在WhBoy字符串,说明该文件已经被感染过了,不感染若不存在"WhBoy",则将病毒程序自身复制到exe文件中(此时,文件已经被修改成病毒文件,大小为124kb,病毒大小),然后将内存中的exe写入到被感染后的程序中(此时的大小为病毒程序+原程序)对感染后的文件写入格式化字符串(WhBoy+文件名+exe+02+十进制文件大小+1)函数三功能分析:主要为保护定时设置注册表,添加启动项解密网址,访问网址,下载内容创建计时器,启动进程,删除共享,并且调用了CreateT_ReadQQ_Mem2.4解决方案编写专杀工具3.解决方案(或总结)3.1 提取病毒的特征,利用杀毒软件查杀MD5特征:527B9DDF4964597EA2D0ED4AC813B4B9感染特征:文件名的末尾有字符串"WhBoy+ PathName+.exe+02+Size+1"编写思路:遍历所有文件,查找文件末尾是否存在感染特征的字符串,若存在,则在字符串中获取程序名、程序大小,读取感染文件的PE文件,读取的起始位置是病毒大小,读取的大小是字符串中获取的大小。3.2 手工查杀步骤或是工具查杀步骤或是查杀思路等。手工查杀:删除C盘System\drivers目录下的spo0lsv.exe病毒程序使用PcHumter结束病毒程序删除病毒启动项 "Software\\Microsoft\\Windows\\CurrentVersion\\Run"
画质感人{:9_372:} roger 发表于 2021-3-8 17:40
画质感人
确实模糊了 感谢分享,我会认真学习的! 感谢分享,我会认真学习的!
页:
[1]