文章来源|MS08067 恶意代码分析实战班作业
本文作者:Qber(恶意代码分析1期学员)
T1-配置Win7虚拟机
Step1:启动虚拟机
Step2:配置虚拟机-安装常用软件
Step3:拍摄快照 T2-探索文件后缀名 T3-编译代码并运行
Setp1:对于文件后缀的个人理解
Step2:常见的文件后缀
Step3:不常见的文件后缀
Setp1:Java
Step2:Go
Step3:C++
Step4:Python
T4:运行并观察恶意代码
T5:安装并配置Vs Studio
Step1:安装 .Net Framework>4.6
Step2:选择C++开发组件
Step3:配置Vs Studio
T1-配置Win7虚拟机
Step1:启动虚拟机
安装好vmware软件,下载百度网盘上的虚拟机,找到VMX文件,打开,启动window7虚拟机。
Step2:配置虚拟机-安装常用软件
配置:退出域控,切换成本地管理员账户,便于后续的操作。
域控账户密码 bbs.enweb.cn/bbs.enweb.cn
软件:除了老师已经安装好的软件,还安装了一些顺手的工具,Sublime Text4,lisbary(快捷启动器,类似terminal),chrome浏览器,vs studio 2022
Step3:拍摄快照
打上一个快照,如果后期不小心把环境弄崩溃了,可以随时还原,快照类似一个系统还原点,如果还是不放心,可以把配置好的vmware文件,打一个压缩包,保证绝对备份系统完整安全。
T2-探索文件后缀名
Setp1:对于文件后缀的个人理解
百科:文件扩展名(Filename Extension)也称为文件的后缀名,是操作系统用来标记文件类型的一种机制。扩展名几乎是每个文件必不可少的一部分。如果一个文件没有扩展名,那么操作系统就无法处理这个文件,无法判别到底如何处理该文件。
个人理解:文件后缀名是用于文件格式的一种标记,便于系统找到对应的程序去打开它,如果系统找不到,其实我们手动指定打开方式也可以。
我们将一个txt文件,改名为.tx文件,直接双击,系统已经无法正常的打开它。
我们选择使用记事本程序打开,可以正常打开。
结论:文件后缀只是一个便于程序识别其对应文件的索引,在linux中,一切皆文件,无格式之说。我以前总认为一个mp4能播放,是因为他叫mp4文件,后来随着学习才能明白,是因为它本身就是一个媒体文件类型,与mp4这个后缀没有根本关系。
可执行文件:
可执行文件 (executable file) 指的是可以由操作系统进行加载执行的文件。在不同的操作系统环境下,可执行程序的呈现方式不一样。
在windows操作系统下,可执行程序可以是 .exe文件 .sys文件 .com等类型文件。
Step2:常见的文件后缀
图片类:jpg,bmp,jpeg,raw
视频类:mp4, avi, mkv, flv,
压缩包类:zip, rar, 7z,
文档类:doc, xls, ppt, txt, pdf,
这些都是不可执行的文件。
Step3:不常见的文件后缀
.log:日志文件,一般由系统或者程序产生的,类似txt,可用记事本打开,不可执行文件。
.swg:虚拟内存交换文件,由操作系统产生,不可执行文件。
.tmp:临时文件,一般由系统或者程序产生,不可执行文件。
.cert:证书文件,由机构发行,认证作用,不可执行文件。
文件后缀大全link:
https://wenku.baidu.com/view/a9534550f56527d3240c844769eae009581ba2b4.html
T3-编译代码并运行
因为电脑上正好装了一些IDE,就把电脑有的,都跑一遍了。
Java、Go、Python、C++
Setp1:Java
配置好IDEA后,直接新建一个class,记得类名与报名要一致,java每一行结束后需要分号,单引号和双引号也有区别,单引号是字符,双引号为字符串。
Step2:Go
这里使用的是Goland-IDE,直接写的Go,据说Go对多线程,高并发支持更优秀,也是抱着兴趣的角度,去学习了一下。
Goland直接运行是不会生成exe文件的,我们需要在Terminal下,手动go build一下,生成exe可执行程序。
Step3:C++
正好装了CLion,就用CLion写了一下。
我们可以在build文件夹中,发现打包好的exe程序,放在cmd运行,是为了避免一闪而过,双击运行也是可以的,需要加一个等待输入函数,不然容易看不到效果。
Step4:Python
这里直接运行的是Python脚本,如果想要生成exe,我们需要使用pyinstrller打包。安装pyinstaller
安装完成后输入,pyinstaller -F 路径/xx.py
这就是打包成功了,如果没加参数就是当前包的dist文件夹里面。
也可以加一些参数,使得其更像一个exe 程序,包括制定图标,名称等。
T4:运行并观察恶意代码
太恶意的软件,也没想不到什么,特别是win10下,很多恶意软件跑不起来,这运行一个用于内网渗透的代理转发软件,可能也不是很恶意,因为它也可以拿来做有用的事情吧。
首先,这是运行恶意软件前的 任务管理器与网络连接状况。
这里尝试运行一个frp代理文件。
可以看到任务管理器多了一个frp.exe进程,网络连接多了一个连接,并且外部地址是对应的代理服务器地址。
一般来说,一个程序运行,就会在系统里留下一些痕迹,比如进程,注册表,服务启动项,网络连接,tmp等,通过这些增改的变动,我们可以反推出这个恶意软件想要做什么,从而去针对性的分析它。
T5:安装并配置Vs Studio
Step1:安装 .Net Framework>4.6
Vs Studio安装程序,如果没有安装.Net框架,就会报错,需要根据报错信息,安装对应的框架。
Step2:选择C++开发组件
这里应该已经错过截图了,就没有图了,安装组件的时候,只选一个C++开发就好,这样的话,整个程序装完大概是8-10G,安装旺完成图,需要重启。
Step3:配置Vs Studio
工具-选项,配置相关设置,一般来说,我喜欢把字体调大一点,字体喜欢console字体,关闭自动更新,还有就是这个中文,看多了英文的IDE,这个中文看起来,觉得十分别扭。
跌跌撞撞,跑起来了第一个程序,还是有很多不适应,这个太大了,需要看教程慢慢学习。
恶意代码分析的分类:
恶意代码分析也可作为单独的安全专业类别来看待,不过总体是偏逆向方向的,希望的受众是逆向相关的就行了,比如以前只会逆向但是不会恶意代码的分析的,或者想提升自己能力的渗透测试人员。
面向受众:
想入门恶意代码分析的学生,想提升自己面对恶意代码能力的安全运维人员和安全研究人员。
学完可以收获什么:
学完之后的收获基本上就是学习基本的恶意代码的分析和处理流程,并且能对实战,不管是攻防环境还是真实生产环境下遇到的恶意代码做分析和处理。
恶意代码分析 实战班
课程费用
凡是MS08067旗下任意星球学员或其他培训课程学员,可享内部价1799;
上课时间
上课方式
讲师介绍
课程目录1.0版
第1天课 | 恶意代码分析基础 windows操作系统中的文件类型简介; 常见可执行和不可执行文件的类型; windows下运行代码的基本过程代码的编译; 执行过程,内存与cpu的关系; windows下恶意代码的常见类型和危害; 常见的恶意代码类型:木马、病毒; 常见的恶意代码中的行为有哪些以及为什么会有这些行为; |
第2天课 | 语言基础 C++基础内容、语言结构、变量和数据类型、控制语句、函数; windows API基础内容; windows api的作用; windows api的查询; windows api的使用; |
第3天课 | 汇编语言 语言结构; 变量和数据类型; 控制语句; 函数; |
第4天课 | 针对pe结构的恶意代码 静态分析1-pe结构; 常见的pe结构文件; pe结构的介绍; 使用pefile或peid工具查看pe结构(自动分析); 使用010edtor或winhex工具查看pe结构(手动分析); |
第5天课 | 针对pe结构的恶意代码 静态分析2-ida静态分析; ida的基础使用; ida的功能结构; ida的实际操作; ida的插件编写和使用; |
第6天课 | 针对pe结构的恶意代码 静态分析3-复杂结构恶意代码分析; 多分支的恶意代码分析; 网络协议的恶意代码分析; 多文件的恶意代码分析; 加解密的恶意代码分析; |
第7天课 | 针对pe结构的恶意代码 动态分析1-od的使用; od的基础使用; od的功能结构; od的实际操作; |
第8天课 | 针对pe结构的恶意代码 动态分析2-行为查看器的使用; promon和peoexp等工具的使用; wiershark等工具的使用; 威胁情报平台的使用; |
第9天课 | 针对pe结构的恶意代码 综合分析-完全实战案例; 综合利用之前的知识实战案例; |
第10天课 | 针对pe结构的恶意代码的应急响应以及防护 针对pe结构的恶意代码的应急响应措施; 针对pe结构的恶意代码的防护提升措施; |
第11天课 | 常见的pe结构的恶意代码加壳 常见类型; 加壳过程; 工具加壳; 手工加壳; |
第12天课 | 常见的pe结构的恶意代码脱壳 常见类型; 脱壳过程; 工具脱壳; 手工脱壳; |
第13天课 | 常见的pe结构的恶意代码反调试 常见类型; 反调试过程; 手工反调试; |
第14天课 | 常见的pe结构的恶意代码反反调试 常见类型; 反反调试过程; 手工反反调试; |
第15天课 | 针对宏的恶意代码分析基础 宏的使用; vba基础内容; 语言结构; 变量和数据类型; 控制语句; 函数; |
第16天课 | 针对宏的恶意代码分析 分析的思路; 分析的过程和重点; |
第17天课 | 针对powershell的恶意代码分析基础 powershell的使用; powershell基础内容; 语言结构; 变量和数据类型; 控制语句; 函数; |
第18天课 | 针对powershell的恶意代码分析 分析的思路; 分析的过程和重点; |
第19天课 | 针对综合结构的恶意代码综合分析-完全实战案例 综合利用之前的知识实战案例; |
第20天课 | 针对综合结构的恶意代码的应急响应以及防护 针对综合结构的恶意代码的应急响应措施; 针对综合结构的恶意代码的防护提升措施; |
第21天课 | ATT&CK以及人工智能的补充 att&ck的介绍; att&ck的使用; 人工智能在恶意代码中的介绍; 人工智能在恶意代码中的使用; |
你距离大佬,只差一个决定
课程报名请联系小客服
加入后邀请你进入内部微信群,内部微信群永久有效!
8