2018-08-01 恶意代码分析

基本动态分析

    基本动态分析——沙箱,沙箱是一种在安全环境下运行并记录样本行为的系统,具有自动化、批量的优点,但也有不能带参数、不可能覆盖所有运行所需条件、环境等缺点。几个常用的沙箱网站:http://www.virustotal.com/、https://malwr.com/、http://www.malwaretracker.com/、http://www.document-analyzer.net/、http://www.threatecpert.com/、http://totalhash.com/search/、http://camas.comodo.com/、https://b-chao.com/index.php/Index/indec、https://fireeye.ijinshan.com/

    基本动态分析——监控,Process Monitor,一款集注册表、文件、进程、网络监控于一体的监控工具;设置过滤条件、运行样本、分析监控日志;使用Process Monitor监控一个样本。

    基本动态分析——进程分析工具,Process explorer,包含进程名、id。cpu使用、描述等,显示进程关系、显示一些隐藏进程,查找加载的dll、句柄等数据,查找进程文件路径,查找进程网络信息。

    基本动态分析——文件快照。通过对比运行样本前后,系统内文件的变化,定位样本新增、删除、修改的文件。1、创建快照,2、运行样本,3、对比快照。

    基本动态分析——注册表快照,RegSnap。创建快照1,运行样本,创建快照2,比较快照1和快照2。

    基本动态分析——系统文件、注册表信息储备。文件,熟悉系统正常文件、了解系统运行产生的正常变化;熟悉恶意代码经常入驻的系统目录;熟悉恶意代码经常仿冒、伪造的系统文件名称。注册表,熟悉注册表键值功能、了解系统运行产生的正常变化;熟悉恶意代码经常新增的键值;熟悉一些特殊的功能键值,如:clsid启动。

    基本动态分析——网络劫持。在分析中经常遇到样本联网行为,但是有些服务器已经失效,或者我们不便于公开联网分析。请求域名连接的:ApateDNS(需.Net环境),模拟并设置本机为dns服务器;修改host文件列表,C://WINDOWS//system32/drivers/etc/hosts。直接连接IP地址的:使用Connect Hook,设置劫持ip、端口,选择劫持的进程,注入!

    基本动态分析——网络抓包。网络抓包工具wireshark,过滤条件的使用;流量数据包分析。

    基本动态分析——本地server。HTTP服务器,可搭建http服务,支持下载;网络军刀,可回复网络数据,测试通信。

关联样本分析

    单一样本的局限:一个Hash;最多几个域名和C&C;一篇单一样本分析报告;由于线索不足可能忽略了一次综合事件。

    从单一样本关联发现整体事件,基于关联基因,从最开始仅一个样本逐渐关联、跟踪,最后发现一个攻击事件。

    text段hash,vt高级情报搜索sectionmd5:“hash”,google也可以,不过没有vt准确。

    ssdeep,模糊哈希的主要原理是,使用一个弱哈希计算文件局部内容,在特定条件下对文件进行分片,然后使用一个强哈希对文件每片计算哈希值,取这些值的一部分连接起来,与分片条件一起构成一个模糊哈希结果。在vt中通过ssdeep搜索相似样本,直接这样输入即可similar-to:"hash",google也可以,去前hash前几位检索,根据结果适当增减取得位数。

    import hash,研究人员发现相似功能的样本,导入表函数名称和顺序几乎完全一致,因此在2014年,Mandiant提出一种基于导入表函数名称和顺序计算的md5值。

    文件名。根据文件名vt中检索关联样本,name:"";google直接搜索也可以。

    根据文件大小在vt中搜索。例如:size:200(不加单位默认是byte),size:200+,size:120kb+。

    时间戳关联。vt中搜索时间戳的格式,指定:pets:2012-08-21T18:38;大小小于:pets:2012-08-2100:00:00+:,pets:2010-08-2100:00:00-;区间:pets:2012-08-2100:00:00+ pets:2012-08-2200:00:00-。

    字符串。google、vt中直接搜索,content:"test"

    病毒名:根据已知病毒进行家族搜索,一般只用VT高级搜索(支持的比较全面)。

    域名、IP。通过域名、IP找到相关联的样本;主要通过google、vt。

    通过c&C IP关联出的信息。同样的仅通过一个C&C进行关联、跟踪,可以发现一个僵尸网络。

    动态行为关联。样本运行产生的动态行为,一些特殊的行为可作为关联点;VT中行为搜索格式:behaviour:"explorer.exe";behaviour:"www.go2000.cn";behaviour:"HKEY_CURRENT_CONFIG\Software\Microsoft\windows\CurrentVersion\Internet Settings\ProxyEnable。

    VT搜索的一些其他方法。fs,首次上传时间:2009-01-01T19:59:22-;ls,最后上传时间;la,最后分析时间;positives,检出家数;name,上传时的文件名;tag,标签:tag:"cve" 0158;submissions,提交次数;submitter,上传者地理位置;lang,文件语言类型,支持PE和文档。

    VT搜索 PE专用修饰符。sigcheck,数字签名,只支持PE:sigcheck:"google.inc",sogcheck:"Google Update Setup";ep,PE入口点,ep:20908;section,节名:section:".xxx"。

    关联分析小结:海量数据;持续追溯;二次关联;关联点选取:强基因:hash、特殊注册表键值、互斥量、加密密钥;弱基因:文件名、家族;人工确认。

高级静态分析

    静态/动态基本分析,只能是通过样本静态信息和动态监控到的行为来简单分析下表面现象,但这是远远不够的。很多时候样本会有条件判断、环境触发、内部解密等很多基本分析解决不了的问题,这时候就需要静态高级分析和动态高级分析才能分析出内部逻辑。

    x86体系是冯·诺依曼结构,主要包括CPU、内存、输入输出系统,在逆向分析中主要关注cpu和内存数据。

    内存布局。数据,存储一些静态值,比如全局变量;代码,包含cpu执行的指令;堆,一些动态分配的内存,给程序动态使用;栈,局部变量、参数、控制程序执行流,后进先出。

    汇编指令。指令,人类易读的指令,push、mov、lea、jmp、call...;操作码,机器读取的指令,汇编指令:mov ecx,esi 机器码:8BCE;字节序,x86,小字节序。

    寄存器。4个数据寄存器(EAX、EBX、ECX、EDX);两个变址和指针寄存器(ESI和EDI);两个指针寄存器(ESP和EBP);六个段寄存器(ES、CS、SS、DS、FS和GS);一个指令指针寄存器(EIP);一个标志寄存器(EFlags)。

    栈。压入、弹出指针;通常在函数调用前,会将参数压入栈:参数顺序为逆序压入;参数可能是多重指针;参数可能是一个结构体。

    比较和跳转。test,zf标志位;cmp,zf、cf标志位;jz、je、jg、jl、jmp。

    IDA Pro。交互式反汇编器IDA是非常强大的反汇编器,几乎能分析所有架构的文件;使用带有hex-Rays decompilers插件的;最新版本6.8。选中line prefixs,这样可以显示虚拟地址,结合其他分析工具快速定位代码。对于一些IDA不能自动识别的语言,可手动加载符号库文件,这样IDA就可以识别出函数名称。交叉引用是一个非常好用的功能,它能告诉你一个函数、变量都被谁调用。选中一个目标右键,或按快捷键x。

    加密算法。攻击者会采用各种方法保护他们的恶意代码,加密算法是一种快速而有效的手段。恶意代码经常使用加密算法:保护代码、数据,防止关键数据被发现;加密调用函数,阻碍分析和检测恶意行为。常见加密算法:xor,各种自定义的异或;加减;密码表替换;base64;RC5/6

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容