首页
社区
课程
招聘
[原创] 分享一份恶意代码分析方向的基础技能表
发表于: 2021-2-23 21:19 20881

[原创] 分享一份恶意代码分析方向的基础技能表

2021-2-23 21:19
20881

最近一段时间,遇到不少朋友问我关于"恶意代码分析如何入门","应该哪些书","如何提升分析能力"之类的问题,断断续续回复了之后,我也思考了一些相关的内容,在这里整理成了一份《恶意代码分析基础技能表》分享给大家。主要是为刚刚开始学习恶意代码分析的同学一点点经验。
忙中难免出错,若文章有不对的地方希望各位大佬海涵。

x86汇编
x86汇编依旧是目前恶意代码分析中可执行文件的主流,属于恶意代码分析中最重要的基本功。关于x86汇编的学习途径有很多,个人推荐是王爽老师的《汇编语言》
同时,论坛也有许多资料,比如https://bbs.pediy.com/thread-191802.htm,https://bbs.pediy.com/thread-216825.htm 可利用论坛进行搜索学习。

x64汇编
随着计算机的发展,x64汇编势必会逐渐成为主流,相比x86汇编,x64多了一些寄存器和指令,相对来说会复杂一些,可先熟练掌握x86汇编再对x64进行学习。
https://bbs.pediy.com/thread-43967.htm
https://bbs.pediy.com/thread-44078.htm
https://bbs.pediy.com/thread-206780.htm

ARM汇编/MIPS汇编以及其他汇编
对于恶意代码分析来说,x86-x64架构是主流,但诸如ARM、MIPS架构的恶意样本偶尔也会遇到,对于初学者来讲,这些架构不属于一上来就必须要掌握的范畴,但想要更上一层楼,这个技能点是必不可少的。

在恶意代码分析的时候,常常会遇到由不同语言编写的恶意软件,想要对其进行详细分析,就需要"掌握"这门语言。其中,有的只需要能读,有的则需要能写。

JavaScript
JavaScript通常出现在webshell中,但在windows平台的恶意样本中也经常会看到。js脚本通常会结合其他的脚本文件出现在攻击的第一阶段,调试js脚本可通过浏览器F12自带的控制台。

Powershell
Powershell作为windows强大的命令行shell工具。从诞生开始就不断被攻击者用来执行恶意操作。在实际攻击中,Powershell通常用于下载或加载后续payload,起到一个承上启下的作用。

不同的编译器所生成的代码大相径庭。为了在分析的时候能够更快的定位到关键代码,避免分析到库函数或者框架中,我们需要熟悉不同编译器生成样本的结构,最简单的方法就是使用不同的编译器编译出样本,然后分别去分析,查找自己写的代码,久而久之,在遇到不同编译器生成的恶意样本时,就能快速定位到恶意代码了。

推荐《WindowsPE权威指南》
https://bbs.pediy.com/thread-121488.htm

辅助工具
Stud_PE
v2.6.0.5 https://bbs.pediy.com/thread-125638.htm

LoadPE
工具下载:https://bbs.pediy.com/thread-161746.htm
练习文章:https://bbs.pediy.com/thread-77120.htm

CFF Explorer
原版下载: https://tool.pediy.com/index-detail-165.htm
坛友改进:https://bbs.pediy.com/thread-94129.htm

EXEINFO
0.0.5.7 B https://bbs.pediy.com/thread-257082.htm
0.0.5.2 https://bbs.pediy.com/thread-249128.htm

https://bbs.pediy.com/thread-261349.htm

推荐阅读:https://www.decalage.info/files/THC17_Lagadec_Macro_Pest_Control2.pdf

https://bbs.pediy.com/thread-260953.htm

https://mp.weixin.qq.com/s/iTzZGKkXK48NR8YT1OTw_Q
https://www.yuque.com/p1ut0/qtmgyx/gsytex

https://www.yuque.com/p1ut0/qtmgyx/ik3omh#YbxEP

https://www.yuque.com/p1ut0/qtmgyx/ik3omh#YbxEP

https://github.com/EmpireProject/Empire

诸如AgentTesla、njrat、Remcosrat之类的商业远控/窃密木马是目前灰黑产的主力军。
https://mp.weixin.qq.com/s/esL5BWuVwI8_ZZdKANUGFg

网银木马危害极大,更新迭代也很快,比较出名的有Emotet、Qbot、TrickBot等。出于利益的驱使,网银木马和勒索病毒通常比APT相关的样本更难对付。

自从Lazarus搞出震惊全球的wannacry事件之后,全球范围内的勒索软件就没停过。勒索作为当今网络安全中面临的一个难题,本文中不做过多介绍,关于勒索推荐关注正正大佬的公众号:<安全分析与研究>

国内外都有很多捆绑软件类型的恶意软件,这类软件比较烦人~ 有点打法律擦边球的感觉~~

笔者之前整理过一个常用的威胁情报来源
https://bbs.pediy.com/thread-265627.htm
https://www.yuque.com/p1ut0/qtmgyx/mcgn7i

威胁情报的来源是相当多的,作为个人而言,有限的精力不可能每天消化掉所有的资源,应该建立适合自己的数据处理体系,在众多数据中提取出有用的信息。

对于初学者而言,安全公司博客是一个不错的情报来源。博客里的文章都是全球各大安全公司研究人员的心血,通过阅读和练习这些文章,可以有效的提升自己的技术水平和见识。

Twitter也是一个不错的来源,很多安全研究员会在Twitter上分享自己最新捕获的样本和最新的研究结果。

想要了解有些恶意软件是如何传播的?不然通过tg打人受害者内部,看看恶意软件都从哪儿来。

vt应该是恶意代码分析过程中最直接、最丰富的数据来源,无论是对于个人用户还是企业用户,vt都发挥着至关重要的作用。

免费沙箱、开放了样本下载功能,目前应该是除VT以外最大的恶意样本来源。

由个人用户运营的恶意样本共享站点。

高级威胁,也就是常说的APT。
笔者之前整理了部分活跃APT组织的公开情报(适合初学者)
https://www.yuque.com/p1ut0/qtmgyx/rgx9gk

推荐阅读红雨滴团队年报
https://ti.qianxin.com/uploads/2021/02/08/dd941ecf98c7cb9bf0111a8416131aa1.pdf

关于恶意代码检测,鼎力推荐rhett大佬的文章:https://zhuanlan.zhihu.com/p/352004681?utm_source=wechat_session&utm_medium=social&utm_oi=750822339549106176&s_r=0

捕获未知样本的主要来源是VT,主要规则是yara规则。笔者之前写过一个yara规则入门贴:https://www.yuque.com/p1ut0/qtmgyx/eubd9v
关于如何在VT上捕获样本,本文中不再赘述。

如果说yara规则在样本hunt中发挥着重要作用,那么snort规则在实际的红蓝对抗和防御中占据着重要地位。
snort入门:https://www.anquanke.com/post/id/220539

机器学习更多的情况下更像是用来查漏补缺,在恶意代码检测中,静态检测和动态检测还是占据了主导地位。关于机器学习,推荐《基于数据科学的恶意软件分析》

杀软引擎相关,进阶学习,此处不详细展开。

恶意软件常用的通信协议有Socket、FTP、SMTP、HTTP/HTTPS、DNS隧道等。在APT的攻击事件中,攻击者通常会通过构造特殊的请求包与C2通信以免出现异常流量。而在黑灰产样本中,特别是像AgentTesla之类的饿商业木马,更青睐使用第三方的免费邮件服务器来接收客户端上传的数据。这样做的好处是不用考虑ip和域名的成本,并且增加了溯源难度。

在恶意代码分析中,遇到的比较多的数据编码方式是base64系列的,包括base64、base32、base16等。
https://bbs.pediy.com/thread-251117.htm

base64不算是加密算法,主要的加密算法还是DES、AES、RC4、xtea、rsa、rotr13和一些古典加密算法,除此之外,攻击者还可能会自定义一些简单的方法,这些方法主要就是通过位运算实现的。

反汇编工具
IDA
推荐17bdw大佬系列文章:https://www.cnblogs.com/17bdw/p/12239505.html

调试工具
OD
x64dbg
windbg
dnspy

行为检测工具
火绒剑
systracer
Procmon
......

进程管理工具
PChunter
Procmon
火绒剑

文件格式分析工具
CFF Explorer
StudyPE
Winhex
010Editor

流量分析工具
wireshark
fakenet
tcpdump
BurpSuite


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2021-2-27 17:01 被jux1a编辑 ,原因: 重新上传图片附件
上传的附件:
收藏
免费 26
支持
分享
最新回复 (21)
雪    币: 968
活跃值: (6818)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
2
思维导图是在语雀创作的 https://www.yuque.com/p1ut0/qtmgyx/xwd9w0,转换为图片之后传上来可能有点模糊
2021-2-23 21:20
0
雪    币: 968
活跃值: (6818)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
3
最后,希望对逆向,或者威胁情报感兴趣的同学明白喜欢的<逆向>到底是什么。逆向并不是一个学科,只是一门技术。在此技术基础上,可以选择深耕软件破解、木马分析、漏洞挖掘、安全研发等多个方向。所以首先需要确定喜欢的的<逆向>属于哪一类,并花费一定的时间去了解和学习相关的知识。 提升分析能力最直接的方式就是不断的练习。目前网上已经有非常多完整的分析报告,在能下载到文章中样本的情况下,可以先独立对样本进行分析,分析之后对比自己的分析和原文作者的分析有何不同,进行查漏补缺。 只有先将分析能力提升起来,才能做更多有意义的事情。个人的一个小建议是可以尝试摒弃IDA的F5功能,尝试只阅读汇编代码试试看(别喷我这是回到石器时代~~),刚开始这样做是非常痛苦的,但对自身的成长和提升将会比上来就看F5代码要大的多。经过一行一行代码,一本一本书籍,一篇一篇笔记堆起来,自然就能水到渠成。
2021-2-23 21:30
0
雪    币: 47147
活跃值: (20450)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
顾何 思维导图是在语雀创作的 https://www.yuque.com/p1ut0/qtmgyx/xwd9w0,转换为图片之后传上来可能有点模糊
感谢分享!
原图以附件形式再上传一份,附件图片不失真。
2021-2-23 22:07
0
雪    币: 10837
活跃值: (4462)
能力值: ( LV12,RANK:404 )
在线值:
发帖
回帖
粉丝
5
醍醐灌顶
2021-2-23 22:17
0
雪    币: 968
活跃值: (6818)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
6
kanxue 感谢分享! 原图以附件形式再上传一份,附件图片不失真。
感谢段老师提醒,原图已上传
2021-2-23 22:19
0
雪    币: 968
活跃值: (6818)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
7
堂前燕 醍醐灌顶[em_63]
感谢大佬肯定
2021-2-23 22:19
0
雪    币: 6
活跃值: (1146)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
感谢
2021-2-24 08:33
0
雪    币: 1475
活跃值: (14652)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
9
收藏=学会  进我收藏夹吃灰吧
2021-2-24 09:26
0
雪    币: 3307
活跃值: (3524)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
10
优秀,可以根据这个图来查缺补漏了
2021-2-24 10:08
0
雪    币: 1319
活跃值: (1960)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
收藏=学会  进我收藏夹吃灰吧
2021-2-24 10:19
0
雪    币: 2157
活跃值: (12639)
能力值: ( LV12,RANK:312 )
在线值:
发帖
回帖
粉丝
12
感谢整理
2021-2-24 11:11
0
雪    币: 69
活跃值: (180)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Esc
13
2021-2-24 15:43
0
雪    币: 356
活跃值: (71)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
查漏补缺
2021-2-24 20:33
0
雪    币: 4885
活跃值: (2554)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
非常用,感谢分享!
2021-2-26 09:08
0
雪    币: 2325
活跃值: (2304)
能力值: ( LV6,RANK:89 )
在线值:
发帖
回帖
粉丝
16
顾何 最后,希望对逆向,或者威胁情报感兴趣的同学明白喜欢的到底是什么。逆向并不是一个学科,只是一门技术。在此技术基础上,可以选择深耕软件破解、木马分析、漏洞挖掘、安全研发等多个方向。所以首先需要确定喜欢的的 ...
感谢
2021-3-9 14:02
0
雪    币: 1058
活跃值: (1187)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
17
感谢分享
2021-3-9 15:08
0
雪    币: 183
活跃值: (6634)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
18
PC端反病毒研发方向呢?
2021-3-30 11:53
0
雪    币: 243
活跃值: (3311)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
19
vt是什么,网站么
2022-7-15 14:18
0
雪    币: 968
活跃值: (6818)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
20
wx_好一脚头球 vt是什么,网站么
https://www.virustotal.com/
恶意代码分析时的常用网站,可快速的查询样本的基本信息
2022-7-15 21:12
0
雪    币: 243
活跃值: (3311)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
顾何 https://www.virustotal.com/ 恶意代码分析时的常用网站,可快速的查询样本的基本信息
谢谢
2022-7-17 18:06
0
雪    币: 535
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22
感谢 收藏了
2024-6-24 17:12
0
游客
登录 | 注册 方可回帖
返回
//