• 2017-2018-2 20155309南皓芯 Exp4 恶意代码分析


    实验后回答问题

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

    答:我会使用sysmon工具来进行监控,可以每天晚上查看一下监控到的信息,还可以利用筛选工具对数据进行分析,监控网络连接,是否创建新的进程,注册表项目以及系统日志。

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

    答:最简单的方法就是使用Virscan等网站进行扫描进行分析,复杂一点的话,可以自己使用wireshark抓包然后再对抓到的数据进行分析,还可以将数据制表找到规律。

    实践目标

    1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。

    1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

    1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

    实践内容

    2.1系统运行监控

    (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

    (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
    参考:schtask与sysmon应用指导
    实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。

    2.2恶意软件分析(1.5分)

    分析该软件在

    (1)启动回连,

    (2)安装到目标机

    (3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件

    (3)读取、添加、删除了哪些注册表项

    (4)读取、添加、删除了哪些文件

    (5)连接了哪些外部IP,传输了什么数据(抓包分析)

    实验过程

    使用Windows计划任务schtasks监控系统运行

    输入命令:

    schtasks /create /TN 20155309netstat /sc MINUTE /MO 1 /TR "c: etstatlog.bat"

    创建计划任务netstat

    指令解释:

    TN:Task Name,本例中是netstat

    SC: SChedule
    type,本例中是MINUTE,以分钟来计时
    TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口

    此命令完成后,每1分钟就会监测哪些程序在使用网络,并把结果记录在netstatlog.txt文档里,为了显示日期和时间,我们通过bat批处理文件来实现。

    在C盘创建一个文件netstatlog.bat,内容为:

    date /t >> c: etstatlog.txt time /t >> c: etstatlog.txt netstat -bn >> c: etstatlog.txt

    保存后修改文件名为“netstatlog.bat”;

    粘贴到C盘中,这是需要用管理员权限;

    可以右键点击“编辑”用记事本查看bat文件内容。

    第三步:编辑任务操作:
    1.进入任务计划程序:“win+c”选择“设置”->进入“控制面板”->选择“管理工具”->进入“任务计划程序”

    2.找到我们的任务20155309netstat,双击点开

    3.点击下方“操作”->右侧所选项栏中“属性”->属性页面上方的“操作”

    4.双击任务进入“编辑操作”界面

    5.在程序脚本处点击“浏览”->选择刚才创建的“netstat.bat”,“参数可选项”为空

    6.点击“确定”完成修改,详细信息处如下图:

    7.查看netstat.txt文件,已经有了时间的记录,至此完成了任务的创建

    每隔五分钟监控如下图:

    等待一直两天;
    这里需要一直保持开机联网状态,才能持续监控。

    此外,如果发现netstatlog.txt没有每分钟更新一次,可能是因为设置时默认选择了“只有计算机使用交流电源时才启用此任务”,所以一旦我们不给电脑充电,任务就没法运行。解决方法就是在netstat任务属性的设置中取消选中该选项,如下图所示,然后就可以发现每隔一分钟命令行会闪现一下,其中包含netstatlog.bat中的三行指令,netstatlog.txt自己就随之更新了。

    接下来我们用excel分析数据

    我们要将netstatlog.txt的内容导入到Excel中。我使用的是WPS,依次点击:数据(选项卡)——导入数据——直接打开数据文件——选择数据源(找到netstatlog.txt所在文件夹,并选中)——打开。

    将文本进行分割成excel表。
    文件转换页面直接“下一步”

    文本导入向导步骤1 ,文件类型一定要选择分隔符号;步骤2,分隔符号选择空格;步骤三,选择常规。

    最后点击完成,就可以看到数据导入成功了

    第六步:对数据进行统计学分析:

    1.首先查看所有联网程序的联网次数,具体excel操作如下:

    ①首先选中我们要分析的列:

    ②其次点击上方“插入”->“数据透视图”

    ③默认选择在一个新工作表中生成

    可以发现生成了一个非常直观的数据透视表

    在其中,我们可以发现浏览器与蓝墨云笔记用的十分多。

    二、系统监控——Sysmon工具
    Sysmon是微软Sysinternals套件中的一个工具,能监控几乎所有的重要操作。

    • Sysmon安装配置
      1.根据在实验指导中的链接Sysinternals套件,下载Sysinternals Suite,然后解压。
      2.接下里,我们来新建并编辑配置文件C:Sysmoncfg.txt。exclude相当于白名单,里面的程序或IP不会被记录,include相当于黑名单,大家可以把自己想监控的写到黑名单中~
      3.下面,我们来安装sysmon:

    sysmon.exe -i Sysmoncfg.txt

    注:配置文件修改后,需要用指令更新一下:
    sysmon.exe -c config_file_name

    需要自己配置文件

    <Sysmon schemaversion="3.10">
      <!-- Capture all hashes -->
      <HashAlgorithms>*</HashAlgorithms>
      <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>
    
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <SourcePort condition="is">137</SourcePort>
    </NetworkConnect>
    
    <CreateRemoteThread onmatch="include">
      <TargetImage condition="end with">explorer.exe</TargetImage>
      <TargetImage condition="end with">svchost.exe</TargetImage>
      <TargetImage condition="end with">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
      </EventFiltering>
    </Sysmon>
    

    注:配置文件修改后,需要用指令更新一下:
    sysmon.exe -c config_file_name

    安装 sysmon

    依次次打开 :开始——事件查看器——应用程序和服务日志——Microsoft————Windows——Sysmon——Operational,既可以看到如下图所示的信息啦:

    不同事件ID分析
    5.可以看到系统一些具体活动。

    事件识别码1 :进程建立
    事件识别码2 :进程更改了文件创建时间
    事件识别码3 :网络连接
    事件识别码4 : Sysmon服务状态已变更
    事件识别码5 :进程已终止
    事件识别码6 :已载入驱动程式
    事件识别码7 :已载入影像
    事件识别码8 :创建远程线程
    事件识别码9 : RawAccessRead
    事件识别码10 :进程访问
    事件识别码11 :文件创建
    事件识别码12 :注册事件(创建和删除对象)
    事件识别码13 :注册事件(值集)
    事件识别码14 :注册事件(键和值重命名)
    事件识别码15 :文件创建流哈希
    事件识别码255 :错误
    

    这个的事件识别码是3,证明与本地的互联网建立了连接。

    这个事件识别码是1, conhost.exe是电脑触摸板相关程序。在使用触摸板时,建立进程。

    该进程事件识别码是5,终止进程,Scmd.exe是MirosoftWindowsVista桌面搜索协议信程序

    4.利用Sysmon具体分析日志的例子我选择了自己实验二中生成的后门20155309_backdoor.exe进行分析

    使用Systracer分析恶意软件

    直接用汉化版的就是爽啊。

    打开界面:

    点击创建快照,若如下图没有全选,可以选择——仅扫描指定项,然后将下面的全选,之后就可以点击开始啦,接着耐心等待,扫描结束之后会弹出一个框,点击OK,快照就会自己保存下来~

    接下来是有后门的分析

    然后做的是后门回连的分析

    接下来我们再做一个dir

    来一个keyscan_start的击键记录

    screenshot抓屏走起

    来进行差异分析:

    让我们再用process explorer来分析一下

    最后用peid分析一波

    大功告成。

    遇到的问题

    问题2:在安装Sysmon时,出现下图错误,显示我配置文件中的版本时3.10,但是实际下载的版本是4.00,不匹配导致安装失败。

    改用版本即可成功

  • 相关阅读:
    STM32 定时器用于外部脉冲计数
    幸福是怎么来的
    STM32 I/O的耐压问题,中断问题,以及如何在Keil (RVMDK) 中观察程序的执行时间
    STM32输入捕获简介
    STM32 直流减速电机控制
    2013 初始
    js 为字符串添加样式
    js 实现页面显示钟表
    JavaScript 入门总结
    ADO.NET基本数据库编程
  • 原文地址:https://www.cnblogs.com/nhx19970709/p/8867442.html
Copyright © 2020-2023  润新知