20145217《网络对抗》 恶意代码分析

20145217《网络对抗》 免杀原理与实践

知识点学习总结

进行恶意代码分析之前必须具备以下知识:编程、汇编/反汇编、网络基本知识、PE文件结构以及一些常用行为分析软件。

一、在一个已经感染了恶意代码的机器上如何找到病毒文件?

  • 找到恶意代码才能对其分析,找到恶意代码文件就是就是分析的第一步,一般来讲,恶意代码运行必然会创建一个进程,而这个进程就是我们找到他的突破口,一个打开的进程,可以通过任务管理器、Process Explorer等来找到其映像文件的地址,这样就能找到恶意代码文件了

  • 但是,现在的恶意代码可能其自身的进程隐藏,一般来讲,隐藏进程的方式就是“脱链”,在PEB中有三条链表,其中一条链表的指向进程,该链表的每一个元素代表着每一个进程,如果想对某进程隐藏,那么进行“脱链”即可。

二、如何通过静态基础分析获取一些相关信息?

  • 首先,我们用PEID查看一些基本信息,用PE explorer等软件查看导入表,一个程序想对你的电脑进行某些操作,那么它必然会调用系统API,而导入表可以告诉我们这个程序调用了哪些API,我们凭借这些导入函数,可以大致猜测一下这个程序作了什么。

  • 可以对我们提供有效信息的不是只有导入表,查看字符串也经常会有一些意外收获,这个时候我们可以使用微软提供的控制台工具Strings查看程序的字符串信息,通过查看字符串,可以获取很多提示。

三、如何确定恶意代码究竟干了些什么?

  • 这个时候那就需要用到动态基础分析了,别犹豫,上虚拟机,跑起来看看吧,跑之前我们先要打开一些行为监控软件,常用的是微软提供的Process Monitor、Process Explorer等这些软件可以监控到注册表、文件、进程、模块、网络、用户等等等等信息。还可以使用systracer拍摄快照并对比。

  • 很多后门和木马程序还会采用反弹式连接的方式链接到别的主机,这是可以采用nestat、wireshark等抓包工具进行抓包,确定其网络行为,发现攻击的主机,后期杀毒再做针对处理。

实验过程概述

一、virscan扫描结果分析

  • 编译器:visual C++5.0

  • 两大主要行为:网络行为和注册表行为,反弹连接一个IP并修改注册列表。

886760-20170328192526873-2118411090.jpg

二、peid扫描结果分析

  • 结果显然是没有加壳。在这里我们又见到了编译器信息。pied能够显示反汇编代码以及一些地址信息,不过最重要的作用还是查壳脱壳,对文件信息的分析不如接下来的两款PE软件好用。

886760-20170328193327967-456903860.jpg

三、Dependency Walker扫描结果分析

  • 这个软件把程序的dll层级调用列出来了,他调用了什么dll,那些dll又调用了哪些文件。

886760-20170328195443592-1825582850.jpg

  • 通过分析可以得到该程序对注册列表有改动的动作。

886760-20170328195757014-1698063547.jpg

四、PE explorer扫描结果分析

  • 文件头信息:可以看到文件编译时间,连接器等信息。

886760-20170328200138576-777380899.jpg

  • 表信息:这里主要查看第二个导入表,即调用了什么dll。

886760-20170328200558670-597980160.jpg

  • 分节信息:缺点是显示以ascll码表示,看不出所以然来。

886760-20170328200733108-527535627.jpg

五、systracer分析恶意代码回连前后情况

  • 运行程序:多了cad5217.exe这样一个进程。

886760-20170329201526873-583955261.jpg

  • 载入的dll文件:cad5217调用了大量dll文件,很多在之前的引入表中也能看到。

886760-20170329201951811-61265691.jpg

  • 开放端口:可以看到cad5217程序通过tcp连接一个192.168.150.132的443端口。

886760-20170329202151811-1014126913.jpg

六、wireshark分析恶意代码回连前后情况

  • 我们知道443端口是https服务端口,通常采用ssl/tls安全通信协议。这里的大量ssl包和tcp包数据部分都是乱码,是经过加密处理的。

886760-20170329202435639-1077289771.jpg

七、TCPview分析恶意代码回连前后情况

  • 易看出在回连后出现cad5217这个进程,PID为3617,并且具有网络行为是连接另一台主机的https端口。

886760-20170329205507826-293794512.jpg

  • TCPview不仅可以查看还可以结束这个进程,还可以告诉你这个程序在你的机器上那个位置,为清除提供方便。

886760-20170329205730373-892535994.jpg

  • 结束进程后,linux这边显示程序die了。

886760-20170329205738717-195181409.jpg

八、Process monitor查看恶意代码回连前后情况

  • 可以看到回连后程序信息,成功运行、日期时间

886760-20170330153907586-422995350.jpg

  • 可以看到父进程PID,查了一下是windows资源管理器

886760-20170330153912180-1148495445.jpg

886760-20170330153916430-800551094.jpg

九、Process Explorer查看恶意代码回连前后情况

  • 可以看到回连后程序信息

886760-20170329210034217-1772194664.jpg

  • Process Explorer更像一个详细版的任务管理器,把进程的各种信息都直观地展示出来。双击后可以查看各种属性。
  • 具有网络连接行为:

886760-20170329210244983-1292329013.jpg

  • 改程序跟ntdll.dll直接相关。ntdll.dll描述了windows本地NTAPI的接口。是重要的Windows NT内核级文件。

886760-20170329210256811-220933746.jpg

十、netstat查看恶意代码回连前后情况

  • 可以看到正在联网到192.168.150.132:443,连接时建立的。这个小程序并不是太好用,虽然可以通过建立新任务的方式让它在后台不停地进行记录,但并不详细,当有其他程序时显然用其他程序更好。

886760-20170329215710029-2426127.jpg

  • 还遇到权限不够的问题

886760-20170329222656811-1159531971.jpg

  • 权限解决:勾选以最高权限运行。

886760-20170330114415733-2045259550.jpg

  • 效果图

886760-20170330114545045-1836839577.jpg

十一、sysmon查看恶意代码回连前后情况

  • 安装失败了
    886760-20170329222743326-413026648.jpg

886760-20170329222836358-906554330.jpg

转载于:https://www.cnblogs.com/jokebright/p/6642187.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值