萌新一枚,这是面试过程中面试官要求分析的另外一个病毒程序,整理成文,发表出来,供大家参考学习,一起进步!如有不当之处,也希望大佬批评指正,晚辈一定虚心受教。由于考虑到时间问题还有个人能力的原因,我只将病毒关键功能模块进行分析说明,勒索算法部分没有详细分析,也请大家见谅,不懂之处欢迎提出,我也尽量解答,加油!
环境:Oracle VM VirtualBox、Windows 7 Service Pack 1(x64)工具:PEID V0.95、OD、IDA、火绒剑
为了方便测试,更改病毒名称为1,拖入PEID查壳发现乱码节区,判断程序采用了加壳方式来保护自己,壳的类型未知接着观察1的字符串信息和导入表,没有发现什么值得注意的信息
为了节约时间,这里就不截图展示了,基本思路是拖入火绒剑监控程序运行,常见的操作和推测可参考之前的文章
程序一拖入OD会弹出一个控制台窗口,后面程序会得到控制台窗口句柄进行隐藏,其中sub407410()函数会再内存中解密一堆数据接着来到sub406D00()函数,程序首先获得得到kernel32.GetProcessHeap和ntdll.RtlAllocateHeap函数地址,和其它病毒程序常采用GetProcAddress函数来获取其它函数地址有所不同的是,这个恶意程序通过未文档化函数LdrGetProcedureAddress来获取其它函数地址然后程序遍历ntdll的导出表,加密函数名作对比得到所需要的函数RtlDecompressBuffer调用RtlDecompressBuffer函数,解压数据得到新的PE文件,dump下来命名为PE1待解压的数据解压后的PE数据下面获取一些所需的函数之后调用VirtualAlloc函数分配新的内存空间将解压出来的PE文件复制过去并存储所需的API最终储存的函数地址修改此程序的内存保护属性,将数据清空之后将解压出来的PE数据复制到原进程空间跳到新的程序入口点开始执行程序为了方便分析,我直接分析dump下来的PE1文件
先进入入口点程序首先初始化COM库,得到9个随机字符并创建了一个COM对象然后拼接出PE1:Zone.Identifier文件名并删除,是为了运行时候,没有弹窗警告接着得到kernel32.dll的基址,获取Wow64DisableWow64FsRedirection,Wow64RevertWow64FsRedirection地址,为了关闭和恢复64位程序和32位程序之间重定位问题然后程序解密出一些后面所需使用的字符串数据加密文件后缀网络相关信息操作命令相关信息恶意域名相关信息勒索文本信息然后得到访问令牌信息下面得到6个随机字符串,和特殊目录路径拼接出新的文件名,将自身复制过去,设为隐藏属性,创建一个进程运行新创建的文件,并删除自己复制文件创建进程运行程序因为会创建新的进程运行程序,这里我nop掉,往下看创建互斥体8_8_8_8提升进程权限下面有6个函数第一个函数sub40FB80()得到特殊文件路径第二个函数sub402960()创建注册表写入加密数据第三个函数sub40FF30()设置开机自启动并提升当前进程访问资源管理器进程网络共享权限第四个函数sub40FC00()在特殊目录下创建一个TXT文件并写入加密数据第五个函数sub402430()找到xxxxxxxx位置,填入数据,完善勒索信息第六个函数sub40FE80()初始化GDI信息接着创建一个线程来加密文件,病毒会加密两个部分,一部分是主机文件,一部分是网络资源文件加密部分,首先对目录判断,是目录就迭代,然后对比三个系统关键目录,是的话跳过,之后在目录下留下勒索信息截图和勒索信息文本并通过shell32.execute打开它们不是目录的话和之前解密出来的后缀进行对比,符合的话开始加密,加密算法部分就不分析了,按照勒索信息文本来说病毒程序采用的是RSA-4096非对称加密算法,写入了三段加密数据然后枚举网络资源文件进行加密加密文件之后也会在桌面创建截图和勒索信息文本并打开之后创建新的线程来删除备份数据生成的卷影副本,防止数据恢复接着又创建一个线程来发送加密后的主机信息最后删除自身至此病毒程序的运行流程分析完毕,加密数据部分没有详细分析,自己关于算法方面的逆向能力不太足,怕分析起来浪费时间,得不偿失
1、个人电脑、服务器应及时打补丁,修复漏洞2、对重要的数据文件定期进行非本地备份3、不要点击来源不明的邮件附件,不从不明网站下载软件4、尽量关闭不必要的文件共享权限5、更改账户密码,设置强密码,避免使用统一的密码6、GandCrab勒索软件会利用RDP(远程桌面协议),如果业务上无需使用RDP的,建议关闭RDP
http[:]//drlarrybenovitz.com/qhcka/templates/binarystings.phphttp[:]//holishit.in/wp-content/plugins/wpclef/assets/src/sass/neat/grid/binarystings.phphttp[:]//starsoftheworld.org/cgi-bin/binarystings.phphttp[:]//hknsjsu.org/wp-content/plugins/profile-builder/assets/lib/wck-api/assets/js/tiny_mce/utils/binarystings.phphttp[:]//vtc360.com/wp-content/themes/vtc360_maxf3d/ReduxFramework/ReduxCore/inc/extensions/wbc_importer/demo-data/Demo2/binarystings.phphttp[:]//grosirkecantikan.com/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/binarystings.phphttp[:]//88fga.ketteaero.com/FE4A8D7E1E829B86http[:]//2bdfb.spinakrosa.at/FE4A8D7E1E829B86http[:]//uj5nj.onanwhit.com/FE4A8D7E1E829B86MD5:9d3dbe44445624abb04bdb3bdace4fc2SHA-256:7829ae7240eb4c6f5fe33c5af43e6d388f0439011c27cf609cc4d1a8b6092ec1SHA-1:0ffc994e247d2b108910e8bb6de3ef57439c51af
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
pureGavin mark,一般公司给出的恶意文件不应该算是公司的数字财产么??楼主直接放在论坛里,不会被领导批么??
tDasm 病毒样本也是公司财产?除非这个病毒是你公司写的,那么这个公司应该负刑事责任,而不是知识产权。
PanzerT 给沭阳歇大锅点个赞[em_65]
沭阳 谢特哥加事[em_63]