恶意代码的一般分析过程

电脑杂谈  发布时间:2020-05-17 05:25:14  来源:网络整理

恶意代码_android恶意锁机代码_竞价恶意点击软件

本文介绍了恶意代码的常规分析过程. (待更改)

一个菜鸟,可能写得不好或有错误,请纠正我.

首先,将恶意代码的生命周期分为三个阶段: 植入前,植入期间,植入后

大致有多种攻击方式:

1. 网页漏洞方法0天

2. 邮件方法附件,社工钓鱼等.

3. 聊天工具

4. U盘交叉使用等.

常用exe,dll

1. 建立虚拟环境(安全性)

2. 静态分析

3. 如果无法起飞,则进行动态分析

目标:

例如: 动态分析a.exe.

如果发布了新的c.dll或c.exe,则对发布的代码进行静态和动态分析(目标恶意代码是下载器等)

恶意代码是否是自启动资源配置(文件发布,注册表修改,注册服务等)-网络行为(连接到Web服务器以下载内容等)

运行a.exe,分析和监视a.exe中的PID 2503的过程行为(注入explorer.exe),并分析过程行为processmonitor(过程行为,注册表,文件,API调用(IAP挂钩),端口(专门列出端口的应用程序等)

对于c.exe-如果注册为服务,则以内核模式运行-使用挂钩(API调用)到内核层

持久控制(可靠控制),秘密控制

完成

(1)自启动: 修改注册表并注册services-sys(挂在内核中)

(2)资源配置: 文件释放

(3)网络行为: 连接到Web服务器并下载

此分析是一个示例下载链接:

首先,首先建立一个安全的虚拟环境,这里使用win10虚拟机进行样本分析.

第二,1.首先获取样本进行静态分析,使用PEid分析样本,并观察其是否包装了恶意代码. 如下图所示:

观察到没有包装,并且病毒本身是使用C#编写的. 入口点是0003008E.

2. 接下来,我们将进一步查看扩展信息,如下所示:

可以看出,这确实是一种尚未打包的病毒.

三,然后我们使用PEview查看PE文件头信息和每个部分的信息,如下所示:

图3.png

1. 首先说明各部分的信息:

竞价恶意点击软件_android恶意锁机代码_恶意代码

2. 首先分析IMAGE_FILE_HEADER字段,如下所示:

可以看出该字段的值为014C(对应的符号常量为IMAGE_FILE_MACHINE_I386),

所有要在Intel 80386和更高版本兼容处理器平台上运行的PE文件都应具有相同的值.

3. 然后是IMAGE_OPTIONAL_HEADER字段,如下所示:

子系统可以看到这是带有图形Windows界面的恶意代码

4..text代码段分析,如下所示:

5. 接下来是.data字节,它存储程序中使用的所有全局变量和符号常量,如下所示

6. 在SECTION .sdata字段中,我们在值中看到单词Auto clicker typer,并推测这是一个自动点击记录器. 如下图所示

四,使用Dependency Walker扫描32位或64位Windows模块(exe,dll,ocx,sys等),如下所示:

1. 首先,您可以看到该程序调用MSCOREE.DLL,而mscoree.dll是.NET Framework的相关组件. 在KERNEL32.DLL中,我们可以看到在导出的函数中有诸如RegDeleteKey之类的函数,表明可执行文件将删除注册表项和注册表项值,如下所示:

图10

2. 还可以在NTDLL.DLL中找到单词RtlIpv4AddressToString的功能,该功能可能与网络服务有关,如下所示:

图11

3. 同时,我看到了UnmapViewOfFile函数,该函数可以保存修改后的文件,如下所示:

图12

五,IDA用于反编译,但出现以下界面:

图13.界面

图14

我发现IDA无法反编译用C#编写的.NET程序,所以我在这里尝试了其他工具,并且在网上搜索后,我决定使用dotPeek

1. 用dotPeek反编译后,结果如下:

需要插入img

2. 我们可以看到该恶意代码调用了哪些库,如下所示:

需要插入img

3. 您可以看到此恶意代码中有4个表单,这些表单应对应4个界面,如下所示:

android恶意锁机代码_竞价恶意点击软件_恶意代码

需要插入img

4. 在Form1中向下看,您会看到许多吸引人的API,如下所示:

需要插入img

需要插入img

这些功能的功能再明显不过了. 例如,KeyPress()用于记录键盘,MouseDown()用于记录鼠标的点击,MouseWheel()用于记录鼠标的滚轮操作,等等.

5. 然后我们看一下Button1恶意代码,如下所示:

需要插入img

可以看出,单击button1之后,应禁用其他按钮DisableAll(),如下所示. 然后安装钩子InstallHooks()

需要插入img

进入InstallHooks()函数后,您可以看到它实现了对用户鼠标行为的监视,例如获取鼠标按钮的标志,如下所示:

需要插入img

获取用户单击鼠标的次数,如下所示:

需要插入img

创建鼠标事件,如下所示:

需要插入img

X和Y用于记录鼠标的位置,这是通过POINTAPI实现的,如下所示:

需要插入img

下一步是显而易见的键盘记录行为. 通过GetKeyboardState()函数获取键盘状态,然后将其转换为ASCII代码. 如下图所示:

需要插入img

6. Button2的按钮功能应与Button1的功能相对应,重新激活每个按钮,然后取下挂钩,如下所示:

需要插入img

7. 请注意,Button5具有保存文件和写入文件的功能. 首先,通过ShowDialog()显示目录,然后写入文件. 因此,此按钮可能会触发文件的释放. 如下图所示:

需要插入img

8. Button7,Button9等应仅触发其他Form函数. 如下图所示:

需要插入img

9. 我们来到Form2来查看几个按钮的功能,其中大多数按钮与Form1相关,例如打开目录等,如下所示:

需要插入img

10. 让我们看一下Form3. Form3中有很多ComboBox,其中一些包括创建注册表项(称为AutoClickerTyper),如下所示:

需要插入img

11. 在Form4中,您可以看到已设置了注册表项中的启动项,因此推测自启动以来就可以具有启动功能,如下所示:

需要插入img

12. 在键盘中,我们可以看到按键的枚举值常量,如下所示:

需要插入img

13. 在Win32中,我们现在还可以看到关键函数GetKeyboardState(),如下所示:

需要插入img

竞价恶意点击软件_恶意代码_android恶意锁机代码

准备软件工具包和恶意代码示例,并将它们放入Windows 10虚拟机中

需要插入img

对更改后的虚拟机进行快照并建立安全的操作环境,以便在出现问题时可以快速恢复虚拟机.

需要插入img

运行进程监视器,界面如图所示,可以在Windows下提供高级监视工具,以监视注册表恶意代码,文件系统,网络,线程,进程和线程行为.

·结合了文件监视器FileMon和注册表监视器RegMon的功能.

·监视所有可以捕获的系统调用->内存不足很容易

·通常不用于记录网络行为

需要插入img

您只能为恶意代码或特定的系统调用设置过滤. 如图所示,我们指定要测试经过测试的恶意代码.

需要插入img

运行恶意代码,因为它是一个.exe文件,只需双击即可运行它. 界面如下:

需要插入img

单击记录,发现显示了我的键盘输入和鼠标单击. 键盘以ASCII码形式记录,并记录了单击鼠标的方法.

需要插入img

点击“停止”以停止运行

需要插入img

单击选项具有启动和自动启动之类的选项

需要插入img

点击播放以重现整个录制过程.

单击清除以清除现有记录.

需要插入img

保存列表可以将现有的键盘记录程序存储在计算机上,如图所示:

需要插入img

打开列表可以打开现有的键盘记录器,如图所示:

需要插入img

单击自动列表以打开以下界面以提供真诚的键

需要插入img

热键用于设置热键,如图所示:

需要插入img

更改延迟可以设置延迟时间,如下所示:

需要插入img

过滤后,您可以看到恶意代码的处理行为.

需要插入img

首先检查注册表. 通过检查注册表更改,发现恶意程序在注册表上运行.

恶意代码_android恶意锁机代码_竞价恶意点击软件

需要插入img

需要插入img

检查信息后,我发现.pf文件是预读文件,可以加快程序的加载速度.

需要插入img

发现了许多修改注册表的行为

新删除的条件如下:

需要插入img

需要插入img

wininet.dll是Windows应用程序网络相关的模块,与网络连接有关.

WSOCK32.dll和WS2_32.dll是用于创建套接字的dll库. 显然,如果此程序引入的功能中不应该包含网络连接部分,那么仍然会有2个该库特别可疑

msvcrt.dll是C语言运行时执行文件,它提供C语言库功能(例如printf,malloc,strcpy)的特定实现,并为使用C / C ++(Vc)命令行参数编译的程序提供初始化)和退出功能.

需要插入img

上图显示了writefile函数的情况

通过这些功能,我们可以猜测到恶意代码已经修改了注册表,修改了内存信息并建立了网络连接.

需要插入img

流程浏览器(****流程浏览****)

主要功能

·列出所有活动进程,该进程加载的DLL,各种进程属性和整个系统信息.

·终止进程,注销用户,启动或激活该进程.

需要插入img

尝试查看我们的恶意代码,如下所示

需要插入img

发现他的详细信息被隐藏了

Regshot

在运行恶意代码之前,打开Regshot进行第一次拍摄并保存其快照

如图所示:

需要插入img

另存为:

需要插入img

需要插入img

接下来,运行恶意代码,一段时间后再拍照,然后两次比较注册表信息中的更改. 如下图所示:

需要插入img

比较前后的注册表比较,使用记事本打开比较结果

需要插入img

比较结果如下:

需要插入img

结论:

Auto Clicker Typer的主要功能是按键记录和鼠标操作记录. 它还包括再现记录和保存记录文件的功能.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-212736-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...