20145216史婧瑶 《网络对抗》 恶意代码分析

20145216史婧瑶 《网络对抗》 恶意代码分析

实验回答问题

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

    • 监控的操作:
      • 监控系统的运行状态
      • 注册表信息的增删添改
      • 系统上各类程序和文件的行为记录以及权限
      • 实现网络连接的进程,使用的IP地址和端口号等
    • 监控方法:
      • 使用计划任务,运行一段时间后分析文件,找出所有连网的程序
      • wireshark进行抓包分析,查看系统到底进行了哪些网络连接
      • 运用TCPview工具查看系统的TCP连接信息
      • 使用软件查看注册表信息的改动是否合理
      • 用sysmon来监视和记录系统活动,并记录到windows事件日志,得到有关进程创建,网络链接和文件创建时间更改的详细信息

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

    • 使用tcpview工具检测有哪些程序在进行网络连接 查看该程序是否恶意修改了我们的注册表信息
    • 使用PE解析软件查看可疑进程的详细信息,查看其是否加壳,分析调用的DLL及其函数用途
    • 使用Process Monitor查看实时文件系统、注册表和进程/线程活动
    • 使用Process Explorer查看有关进程已打开或加载哪些句柄和 DLL的信息  

实验总结与体会  

  经过了这几周的实践,对恶意代码的生成、免杀和分析都有了一定的了解,发现恶意代码其实没有想象中的那么复杂,不过我们接触的也都是些简单的恶意代码,但是不可否认的是恶意代码很普遍的存在于我们的电脑中,因此我们应该学会分析恶意代码,掌握这项技能。

实践过程记录 

恶意代码静态分析

    • 通过网上查毒平台查看软件报告
      • 首先在http://www.virscan.org/这个网站上扫描一下自己上次实验生成的小恶意程序sjytest.exe,结果如下
      • 点开文件行为分析,查看该程序实现了什么操作
      • 由上图我们发现sjytest.exe这个程序是由UPolyX v0.5加的壳,它的网络行为为建立到一个指定的套接字连接,与此同时它会检测自身是否被调试,还会创建事件对象,并且自行删除了注册表键和注册表键值
    • PE explorer
      • 使用PE explorer打开我们的sjytest.exe,界面如下
      • 目前显示的是PE文件头的信息,我们可以看到文件的编译时间为2009年9月21日15点25分34秒,链接器的版本号为6.0
      • 接下来我们点击一下上面的“导入表(Import)”,查看一下这个程序都调用了哪些dll文件
    • PEiD

      • 使用PEiD打开sjytest.exe来查看一下这个程序有没有加壳或是用什么来编译的
      • 在界面左下部分显示什么都没找到,查看其他同学博客发现有些会直接显示编译器名称,没有找到可能是PEiD版本原因 

恶意代码动态分析

    • sysinternals工具集
      (1)Tcpview

      • 用于查看进行tcp连接的进程信息:

         (2)sysmon工具

      • 首先打开命令行,输入sysmon -accepteula –i -n 一键安装
      • 显示需要管理员权限,右键cmd程序在菜单中选择以管理员身份运行,安装成功
      • 输入sysmon -c 5216test.xml 指定配置文件
      • 显示版本号不对,改成3.10,配置成功
      • 输入命令启动sysmon,但显示我已启动
      • 查看服务,sysmon已启动
      • 分析一下sysmon的日志内容
      • 因为日志数量太庞大了,现在设置一下筛选条件,我设置为24小时内的ID为1的事件,也就是进程创建事件
      • 分析进程创建事件1
      • 该日志表示百度拼音这个进程的创建
      • 分析进程创建事件2
      • 表示爱奇艺影音进程的创建
    • SysTracer工具

      • 在附件中下载SysTracer这个工具的安装包,默认安装即可
      • 打开SysTracer,使用快照工具以对比恶意代码攻击成功后系统的变化,kali和win 7虚拟机的IP地址如下: kali虚拟机IP:172.16.47.130 windows虚拟机IP:172.16.47.128
      • 在正常情况下,我们在win7虚拟机下快照保存为Snapshot #1;
      • 打开攻击机msfconsle,开放监听,在win7下快照保存为Snapshot #2;
      • win7下打开后门程序,回连kali,win7下再次快照,保存为Snapshot #3;
      • Kali显示win7虚拟机磁盘目录,在win7下快照保存为Snapshot #4;
      • Kali对win7虚拟机进行截图后,在win7下快照保存为Snapshot #5;
      • 2和3比较,发现注册表里面出现了新的表项,开放了新的端口
      • 3和4比较,注册表信息再次发生变化,并且增加了新的请求
      • 4和5比较,文件发生了变化
    • wireshake

      • 对回连过程进行抓包
      • 可以看到靶机与攻击机三次握手建立连接,还有大量的TCP连接数据包
    • 计划任务

      • 进入计算机-管理-任务计划,创建一个任务计划,命名为netstat5216,设置触发器,选择每隔5分钟执行一次,持续时间一天
      • 在C盘下创建一个文件夹:5216,在5216文件夹下创建一个netstat5216.txt,保存后我们将文件的后缀改为bat,即netstat5216.bat,将任务计划的操作选项栏的启动程序设为我们的netstat5216.bat,参数为>>c:5216 etstat5216.txt,这样我们的网络记录信息netstat5216.txt就会保存在C盘5216文件夹下
      • 打开5216文件夹下的netstat5216.txt,显示如下信息
原文地址:https://www.cnblogs.com/sjy519/p/6647170.html