Exp4 恶意代码分析

1 实验内容

2.1系统运行监控

netstat工具计划任务监控

使用netstat监控tcp、ip网络连接情况,结合windows的计划任务,每5分钟
执行netstat -bn命令,将结果重定向到文本文件中。注意用管理员身份打开命令行。

schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat指令创建一个任务,记录每隔两分钟计算机的联网情况。

收集到的日志文件如下:

我们用excel来分析一下数据。别小看了excel,他的功能很强大,我们平时用到的功能连1/10都不到。

sysmon工具监控

根据老师的博客,我修改到了监控器的配置文件,把微信,QQ加入白名单。

说明一下,exclude下面的是白名单,不用监控,include下面的是黑名单,需要监控。

接下来,用管理员身份运行命令行,用cd命令转到sysmon所在的目录下,使用sysmon.exe -i C:/Sysmoncfg.txt,安装sysmon。我的配置文件在c盘的Sysmoncfg.txt中保存。

输入eventvwr,打开应用程序服务日志。在下方打开详细信息的友好视图,可以查看程序名、使用时间、目的ip、使用端口、通信协议类型等等信息。

这是wps云服务,出现了好几次

这是360tray,出现的最多,不知道是干什么用的

这个是桌面搜索工具

2.2 恶意软件分析

2.2.1动态分析1—TCPView工具

我们通过TCPView工具可以获取后门程序的网络连接信息,发现实验环境下攻击机的IP地址

2.2.2动态分析2——Process Explorer

Process Explorer是一款增强型的任务管理器,你可以使用它方便地管理你的 程序进程,能强行关闭任何程序(包括系统级别的不允许随便终止的”顽固”进程)。除此之外,它还详尽地显示计算机信息:CPU、内存使用情况,DLL、句柄信息,很酷的曲线图。
本次实验,我们用它来监控Meterpreter进程迁移的行为。

在win10运行后门程序apple.exe ,在Process中找到它的进程:

我们找一个进程详细查看一下,这里选择notepad.exe,它的pid是7116.

接下来,在kali虚拟机里,我们把后门迁移到notepad++.exe中去,看看Process Explorer能否监控到这个行为。果然,多了2264和8636两个线程。
后门已经潜伏在这两个线程中了!!!

毫不留情的关掉这两个线程。

在kali攻击端,瞬间与靶机失去了联系,无法控制靶机了。

2.2.3 动态分析3——systracer工具

systracer是一款可以分析你的计算机文件,文件夹和注册表项目改变的系统实用工具。你可以在任何想要的时间获取无数个屏幕快照。

我们用它来分析后门的运行过程。

我的电脑文件有点多,每次快照都要花9分钟,三次快照半小时,崩溃……

1.给win10系统快照

2.运行apple.exe后门,kali连接到了靶机,然后快照。

3.在kali开启meterpreter持久化,run persistence,快照。

分析过程很简单,对三张快照进行compare。
我们发现,快照2比快照1多了apple.exe进程

快照3比快照2多了wkssvc这个文件,这个文件有什么用我暂时还不清楚,但肯定和持久化有关。

2.2.4 静态分析1——PEid查看加壳

PEid是什么呢?

PEiD专业的查壳软件哦! 几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。PEiD能检测大多数编译语言.、病毒和加密的壳,它主要利用查特征串搜索来完成识别工作的,各种开发语言都有固定的启动代码部分,利用这点可识别是何种语言编译的,被加壳程序处理过的程序,在壳里会留下相关加壳软件的信息,利用这点就可识别是保种壳所加密的,它提供了一个扩展接口文件userdb.txt ,用启可以自定义一些特征码,这样可以识别出新的文件类型,签名的制作可以用插件Add Signature来完成!

先分析一下我的apple.exe,显然没有加壳。

我在kali里面,用upx给apple.exe加壳,然后检测一下,被查出来了

上面写着,是用upx0.89.6加壳的。

2.2.5 PE Explorer工具

PE explorer,各位同学了解一下

PE Explorer是一款功能强大的可视化Delphi、C++、VB程序解析器。能快速对32位可执行程序进行反编译,并修改其中资源。可直接浏览、修改软件资源,包括菜单、对话框、字符串表等; 另外,还具备有 W32DASM 软件的反编译能力和PEditor 软件的 PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理 PE 格式的文件如:EXE、DLL、DRV、BPL、DPL、SYS、CPL、OCX、SCR 等 32 位可执行程序。

欲知详情,请看帮助文档

怎么用这个呢,很简单,把apple.exe拖进来,就能分析了

看起来和专业的样子,是不是,有时间日期戳,符号表指针,操作系统版本号等等。

依赖项扫描器,可以查出编译时用了什么库。我的ws2_32.dll都被扫描出来了。

还可以反汇编,但我汇编忘了大半,看不懂……

3 实验问题回答

(1) 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。

实践是检验真理的唯一标准,通过实践,我总结出以下几个方面。

  • 1.注册表项目
  • 2.网络连接
  • 3.开机启动项
  • 4.系统日志
  • 5.是否创建新的进程

(2) 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

  • 1.查看进程是否加壳。用PEid等查壳工具内先查壳,通过入口特征和区段特征来识别,然后脱壳。
  • 2.查看网络连接情况。用TCPView、Wireshark等网络工具查看是否存在可疑连接
  • 3.拍摄系统快照。与之前的快照进行对比,查看哪些文件,注册表发生了变化。
  • 4.用任务管理器监控进程的迁移。Process Explorer发现进程的异常行为。

4 实验总结与体会

上次刚做完了后门的免杀,使后门程序逃过杀软的法眼。
这次,又要用恶意代码分析的照妖镜,使恶意进程原形毕露,无处藏身。

有了upx加壳工具,就会有PEid查壳工具、脱壳工具;

有了后门进程的迁移,就有了进程监控来监视各个进程的一举一动;

有了恶意代码的tcp反弹端口连接,就有了TCPView、wireshark工具来检测各进程网络连接请求和端口号。

俗话说,道高一尺,魔高一丈。恶意代码的伪装与分析是矛与盾的关系,这两种斗争无处不在,无时不有,异常激烈。他们相互竞争,相互制约, 同时又促进了各自的发展。矛盾的对立与统一关系,在网络攻防中体现的淋漓尽致。

我们只有多实践,多总结,多观察,才能准确把握矛盾的规律,更好地指导网络攻防的实践与应用。

posted @ 2018-04-16 23:23  besti5332  阅读(235)  评论(0编辑  收藏  举报