如何学习逆向分析-老工程师的经验
一直想学习逆向分析,先攒点资料吧 摘自:http://www.freebuf.com/articles/system/119374.html
从事搬砖(逆向分析)这行也有好多年了,期间分析各种不同类型的样本,从最开始的window时代的鬼影第三代到第六代,蠕虫病毒,输入法,感染型,灰鸽子远程,熊猫烧香,游戏盗号,QQ盗号等样本,到后面Android时代的各种截持短信,流氓推广,弹广告,刷流量,刷ROM,以及后面手机端蠕虫,敲诈者,百脑虫,FakeDebugger,GhostPush,ios/mac上WireLurker,XcodeGhost,YiSpecter,ZergHelper,BackStab,KeyRaider,TinyV的等样本,以及现在linux上的一些恶意样本等,做为一名从业人员,有些是公司要求分析的,有些是自己觉得好玩下载分析的,我简单说说一些学习技巧与方法,需要的知识点,以及分析的大致流程。
(1)拿到一个样本,不管是什么,先弄清它是什么文件格式,这里就要求你要对不同的文件格式有所了解了:window(PE),linux(ELF),android(dex,ELF),ios/mac(mach-o)
(2)然后看样本有没有壳或加密,如果有壳就脱壳,有加密就看能不能解密
(3)脱完壳,解完密,后面就是动+静态分析了 动态调试:window(od,windbg),linux(gdb,edb),android(jeb,ida),ios/mac(lldb) 静态调试: ida,010Editor,readelf,objdump,string等
(4)网络抓包工具 wireshark,tcpdump,Charles,BrupSuite
(5)当分析一个样本,有可能程序很大,我们要有快速定位问题的能力,针对不同的样本,要分析不同的功能点,真正工作过程中分析一个样本,是需要一个快速响应,解决问题的能力的,同时在最快的时间内输出相应的分析报告,这个就要靠平时多锻炼了,有一种“阅片无数”的感觉
(6)分析系统级的样本的时候,我们还需要对相应的系统有一个大致的了解,了解相应系统的启动过程,每种系统的自启动方式以及注入方式都不同,我们要对这些不同的系统都比较了解。
(7)有了上面的一些基础,就是多实战了,可以从各个渠道下载不同类型的样本进行练习,积累经验。
从事这行需要的一些知识点,我也简单的列一下吧,师傅带进门,修行靠个人了:
(1)熟悉C/C++/Java/Python等语言,会一些简单的编程
(2)熟悉PE,ELF,Mach-O文件格式
(3)熟悉各个平台下的动态调试技术,以及ida的使用方法
(4)了解各平台下的系统原理,知道它是如何加载一个程序的,自启动服务项,底层加载过程等
(5)熟悉主流的一些黑客技术,攻击方式,各平台注入,hook等手段,以及工具的使用方法
(6)熟悉tcp/ip网络协议,会使用各种抓包工具,分析数据包内容
(7)简单的英语能力,至少会看的懂相应的英文文档
(8)“翻墙”能力,这个不用多说了,去买个vpn吧
(9)学会使用google,gmail等工具,加入一些gmail组邮件,会不定期发送一些样本,同时关注一些恶意样本下载网站,也会定期更新,如contagiodump.blogspot.com等,自行google吧……
(10)到github上去fork一些好的关于安全的主页,想做安全这行,还是得多用心去关注这个行业的吧,如: https://github.com/rshipp/awesome-malware-analysis https://github.com/secmobi/wiki.secmobi.com
其它的自行github吧…… 好吧,需要的基本知识也就这些了,这条路很苦逼,只能带你入门,修行还是靠个人,很多时候大牛们都很忙,根本没时间教你,还是靠自己多努力吧,其实大牛们也是这么过来的,也没人手把手教他们,所以相互理解吧,我一般也不敢打扰那些大牛,都是自己去摸索,实在不行了,就问一下大牛们,不过最后还是得靠自己解决,随着网络安全的发展,我们需要去了解和学习新的网络安全技术,路还很长,且行且珍惜吧! 网络安全发展到现在已经被云安全,IOT安全,移动安全等占据了主要位置,不管是云安全,还是智能移动安全,还是IOT安全,Malware恶胁总是无处不在,前段时间通过IoT和云服务器发起的大规模的DDos攻击,安全在未来不能去说有多么多么重要,但是安全总会一直在那存在着,因为有利益的地方,也就有“江湖”! 看了一下,网上也有一些关于这个样本的其它不同变种的分析报告,我按我的分析流程和思路,写的报告,绝对原创,这里把相关的链接也贴下,免得有些人又会说这个那个的,诶,不解释了,圈里大,唯有独善其身,大家也可以参考一下:
http://www.myhack58.com/Article/48/66/2015/59519_4.htm
https://blog.avast.com/2015/01/06/linux-ddos-trojan-hiding-itself-with-an-embedded-rootkit/
http://www.liuhaihua.cn/archives/110384.html
http://www.aptno1.com/YC/102.html
rkhunter及chkrootkit下载:
rkhunter;
chkrootkit