最近一段时间,遇到不少朋友问我关于"恶意代码分析如何入门","应该哪些书","如何提升分析能力"之类的问题,断断续续回复了之后,我也思考了一些相关的内容,在这里整理成了一份《恶意代码分析基础技能表》分享给大家。主要是为刚刚开始学习恶意代码分析的同学一点点经验。 忙中难免出错,若文章有不对的地方希望各位大佬海涵。
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 原版下载: 09bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6@1L8$3!0D9i4K6u0W2M7r3g2V1K9i4W2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8X3c8W2P5q4)9J5k6r3c8W2N6r3q4A6L8q4)9J5k6o6p5$3y4g2)9J5k6h3S2@1L8b7`.`. 坛友改进: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
推荐阅读:d81K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2V1k6h3y4S2L8r3q4Y4k6g2)9J5k6h3W2F1k6X3!0Q4x3V1k6X3K9h3I4W2M7#2)9J5c8W2c8t1b7K6p5%4i4K6g2X3e0r3q4Y4j5h3c8W2j5#2)9#2k6V1#2S2j5%4u0G2i4K6g2X3f1r3g2K6N6q4)9#2k6V1y4G2L8Y4c8J5L8$3H3J5i4K6u0W2M7r3c8X3
https://bbs.pediy.com/thread-260953.htm
27bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0M7q4)9J5k6i4N6W2K9i4S2A6L8W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8X3W2f1P5W2A6s2d9$3E0j5d9K6b7^5e0W2t1^5h3g2b7I4e0#2c8%4i4K6g2X3f1b7`.`. b2cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6N6i4q4#2k6g2)9J5k6h3y4G2L8g2)9J5c8Y4l9I4N6i4b7H3i4K6u0r3M7i4c8E0k6%4W2^5i4K6u0r3k6%4y4&6N6r3g2^5
ef6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6N6i4q4#2k6g2)9J5k6h3y4G2L8g2)9J5c8Y4l9I4N6i4b7H3i4K6u0r3M7i4c8E0k6%4W2^5i4K6u0r3K9h3D9K6L8$3#2Z5i4K6t1K6h3h3u0^5c8g2l9`.
babK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6N6i4q4#2k6g2)9J5k6h3y4G2L8g2)9J5c8Y4l9I4N6i4b7H3i4K6u0r3M7i4c8E0k6%4W2^5i4K6u0r3K9h3D9K6L8$3#2Z5i4K6t1K6h3h3u0^5c8g2l9`.
f83K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6q4L8i4m8A6M7X3g2b7M7X3!0B7k6h3y4@1i4K6u0r3c8h3#2H3K9i4u0W2
诸如AgentTesla、njrat、Remcosrat之类的商业远控/窃密木马是目前灰黑产的主力军。d97K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0M7q4)9J5k6i4N6W2K9i4S2A6L8W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8X3g2K6e0o6g2n7g2%4g2h3N6@1V1^5i4K6g2X3h3W2A6V1d9@1q4z5g2f1N6r3k6H3`.`.
网银木马危害极大,更新迭代也很快,比较出名的有Emotet、Qbot、TrickBot等。出于利益的驱使,网银木马和勒索病毒通常比APT相关的样本更难对付。
自从Lazarus搞出震惊全球的wannacry事件之后,全球范围内的勒索软件就没停过。勒索作为当今网络安全中面临的一个难题,本文中不做过多介绍,关于勒索推荐关注正正大佬的公众号:<安全分析与研究>
国内外都有很多捆绑软件类型的恶意软件,这类软件比较烦人~ 有点打法律擦边球的感觉~~
笔者之前整理过一个常用的威胁情报来源 https://bbs.pediy.com/thread-265627.htm92cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6N6i4q4#2k6g2)9J5k6h3y4G2L8g2)9J5c8Y4l9I4N6i4b7H3i4K6u0r3M7i4c8E0k6%4W2^5i4K6u0r3L8h3y4Y4L8U0N6A6
威胁情报的来源是相当多的,作为个人而言,有限的精力不可能每天消化掉所有的资源,应该建立适合自己的数据处理体系,在众多数据中提取出有用的信息。
对于初学者而言,安全公司博客是一个不错的情报来源。博客里的文章都是全球各大安全公司研究人员的心血,通过阅读和练习这些文章,可以有效的提升自己的技术水平和见识。
Twitter也是一个不错的来源,很多安全研究员会在Twitter上分享自己最新捕获的样本和最新的研究结果。
想要了解有些恶意软件是如何传播的?不然通过tg打人受害者内部,看看恶意软件都从哪儿来。
vt应该是恶意代码分析过程中最直接、最丰富的数据来源,无论是对于个人用户还是企业用户,vt都发挥着至关重要的作用。
免费沙箱、开放了样本下载功能,目前应该是除VT以外最大的恶意样本来源。
由个人用户运营的恶意样本共享站点。
高级威胁,也就是常说的APT。 笔者之前整理了部分活跃APT组织的公开情报(适合初学者)da5K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6N6i4q4#2k6g2)9J5k6h3y4G2L8g2)9J5c8Y4l9I4N6i4b7H3i4K6u0r3M7i4c8E0k6%4W2^5i4K6u0r3M7X3N6^5z5h3N6C8
推荐阅读红雨滴团队年报883K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6@1K9g2)9J5k6i4q4A6j5h3&6^5K9h3&6Q4x3X3g2U0L8$3#2Q4x3V1k6#2M7r3I4G2j5h3c8K6i4K6u0r3x3U0l9J5x3g2)9J5c8U0l9J5i4K6u0r3x3o6S2Q4x3V1k6V1k6o6V1@1x3h3g2U0k6U0V1^5j5K6N6U0j5U0W2T1k6U0l9I4x3e0q4S2z5o6b7I4y4U0p5K6x3h3q4S2x3g2)9J5k6i4m8V1k6R3`.`.
关于恶意代码检测,鼎力推荐rhett大佬的文章:40fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6*7K9s2g2S2L8X3I4S2L8W2)9J5k6i4A6Z5K9h3S2#2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8U0x3#2x3U0l9H3y4o6j5^5x3g2)9K6c8Y4g2@1L8g2)9#2k6Y4y4G2N6i4u0U0k6g2)9K6c8s2N6W2j5$3S2S2N6q4)9#2k6Y4y4W2M7%4y4A6L8$3&6Q4x3U0k6S2L8i4m8Q4x3@1u0#2N6r3#2Q4y4h3k6E0k6h3c8A6N6h3#2Q4x3@1c8K6L8$3y4A6j5h3I4Q4x3U0k6S2L8i4m8Q4x3@1u0#2N6r3#2Q4y4h3k6G2K9g2)9K6c8o6M7#2x3o6R3J5x3U0x3K6z5e0f1@1z5e0p5H3y4U0p5%4y4W2)9J5y4X3q4E0M7q4)9K6b7Y4y4Q4y4h3k6J5i4K6y4p5x3l9`.`.
捕获未知样本的主要来源是VT,主要规则是yara规则。笔者之前写过一个yara规则入门贴:1cdK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6N6i4q4#2k6g2)9J5k6h3y4G2L8g2)9J5c8Y4l9I4N6i4b7H3i4K6u0r3M7i4c8E0k6%4W2^5i4K6u0r3k6i4g2T1k6o6W2$3 关于如何在VT上捕获样本,本文中不再赘述。
如果说yara规则在样本hunt中发挥着重要作用,那么snort规则在实际的红蓝对抗和防御中占据着重要地位。 snort入门:44eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2S2L8Y4q4#2j5h3&6C8k6g2)9J5k6h3y4G2L8g2)9J5c8Y4m8G2M7%4c8Q4x3V1k6A6k6q4)9J5c8U0t1J5x3o6f1K6z5b7`.`.
机器学习更多的情况下更像是用来查漏补缺,在恶意代码检测中,静态检测和动态检测还是占据了主导地位。关于机器学习,推荐《基于数据科学的恶意软件分析》
杀软引擎相关,进阶学习,此处不详细展开。
恶意软件常用的通信协议有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大佬系列文章:c68K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0L8X3u0D9L8$3N6K6i4K6u0W2j5$3!0E0i4K6u0r3x3e0N6T1k6s2N6Q4x3V1k6H3i4K6u0r3x3e0t1J5x3K6V1#2x3o6g2Q4x3X3g2Z5N6r3#2D9
调试工具 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编辑
,原因: 重新上传图片附件
上传的附件: