zoukankan      html  css  js  c++  java
  • Exp4 恶意代码分析 20154301仉鑫烨

    20154301 Exp4 恶意代码分析

    20154301 仉鑫烨


    一、 实践内容

    1. 系统运行监控
    • (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
    • (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
    1. 恶意软件分析:分析该软件在
    • (1)启动回连时

    • (2)安装到目标机时

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

      读取、添加、删除了哪些注册表项?

      读取、添加、删除了哪些文件?

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


    二、 基础问题

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

    答:重启计算机,并对计算机的注册表,进程,端口,服务等内容进行检测,并使用抓包软件进行抓包,通过观察注册表,进程等内容的变化筛选出可疑的对象,然后针对可疑的对象在抓包过程中具体分析,看看有没有可以的建立套接字(也就是连接其他IP地址)的可疑操作,观察可以对象的流量是否异常,对数据包类型解析看看是否有可疑的内容。||| 方法:①注册表信息的增添修改删除。②用来进行网络连接的IP地址端口号。③程序的一系列行为。④可以使用wireshark抓包分析,分析网络连接状态;查看软件注册表信息;使用SysTracer等软件查看一段时间内系统注册表信息文件标化情况,将这些信息录入excel分析。。

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

    答:①使用systracer工具,动态分析注册表修改情况,分析原因,这样做的目的,查看文件修改情况和端口情况并分析原因。②使用Wireshark进行抓包分析,查看该程序传输了哪些数据。


    三、实验过程

    系统运行监控

    1. Windows计划任务schtasks
    • 为实现每5min记录下有哪些程序在连接网络,输入以下命令:
      schtasks /create /TN 20154301netstat /sc MINUTE /MO 2 /TR "cmd /c netstat -bn > c: etstatlog.txt"

    • 释义:TN是TaskName的缩写,我们创建的计划任务名是20154301netstat;sc表示计时方式,我们以分钟计时填MINUTE;TR=Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口,MO 表示隔两分钟进行一次。

    • 此命令完成后,每五分钟就会监测哪些程序在使用网络,并把结果记录在netstatlog.txt文档里,但是不显示记录的时间和日期,这可能不便于我们判断,要是想显示日期和时间,我们可以通过bat批处理文件来实现。

      在C盘要目录下建一个文件c: etstatlog.bat(先把后缀设为txt,保存好内容后把后缀改为bat)

      date /t >> c: etstat4301.txt

      time /t >> c: etstat4301.txt

      netstat -bn >> c: etstat4301.txt

    • 打开控制面板->任务计划程序,找到我们的任务20154301netstat

    • 双击点开,找到操作,点击所有项里的属性选项:

    • 可以对任务进行修改:找到操作选项卡,选择netstatlog.bat脚本。

    • 修改成功后,显示:

    • 问题:无法定时记录数据,需要打开最高权限。

    • 可以看到记录文件netstatlog.txt中的记录有了时间:

    • 接下来我们要做的就是等待,等记录项目够多了再进行分析。

    • 这里我选择用excel进行分析:

    • 打开Excel点击数据选项卡,在获取外部数据的方式上选择 来自文本,选择我们之前记录连接情况的文本netstatlog.txt:

    • 选择分隔符号:

    • 分隔符号全部选上:

    • 列数据格式选择常规:

    • 点击完成,在excel中格式见下图

    • 首先去掉重复值:

    • 最终删除1872个重复值,确定19项内容:

    • 分析其用途

    进程 应用 用途
    [vmware-hostd.exe] 虚拟机 实验
    [vmware-authd.exe] 虚拟机 实验
    [vmware.exe] 虚拟机 实验
    [YoudaoNote.exe] 有道云笔记 实验
    [WeChat.exe] 微信 唠嗑
    [360tray.exe] 360安全卫士实时监控程序 安全软件
    [360Game.exe] 360游戏大厅 ???他咋老弹出来
    [WINWORD.EXE] 微软Microsoft Word的主程序 实验存图
    [EXCEL.EXE] 微软Microsoft Excel的主程序 实验数据分析
    DiagTrack 系统负责数据收集和错误信息
    [svchost.exe] 微软Windows操作系统的系统程序
    [360se.exe] 从动态链接库 (DLL) 中运行的服务
    [SGTool.exe] 搜狗输入法的加速启动程序 打字
    [360mobilesrv.exe] 360手机助手 360太流氓了自动上传数据
    CryptSvc 系统认证服务 微软公钥体系PKI
    • 总而言之我的电脑还是很安全的,但是360的流氓行为(自动后台打开360手机助手并偷跑流量)确实通过这次实验引起了我的注意。

    2. Sysmon
    • 明确监控目标

      —— 网络连接、驱动加载、远程线程创建、进程创建、访问和结束等

    • sysmon微软Sysinternals套件中的一个工具,可以从码云项目的附件里进行下载,要使用sysmon工具先要配置文件,一开始我直接用的是老师给的配置文件,创建配置文件20154301.txt(注:一定要以管理员身份运行):

    <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 -i C:Sysmoncfg.txt指令对sysmon进行安装:

    • 启动之后,便可以到事件查看器里查看相应的日志,在"运行"窗口输入eventvwr命令(我是直接输的,这个命令在哪个目录输都可以的),打开应用程序和服务日志,根据Microsoft->Windows->Sysmon->Operational路径找到记录文件:

    • 我查看了其中一部分事件的详细信息,比如这个事件是之前做计划任务时所创建的:

    • 例如下面的事件是360安全浏览器对文件的创建时间进行了更改,应该也就是更新:

    • 将后门程序放入windows主机,在Kali下进行回连操作:

    • 木马很可能伪装成电脑自带的explorer.exe进程

    • 之后,我对Sysmoncfg.txt配置文件进行了修改,重点是监视80和443以及4301端口的联网情况

    <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">SogouExplorer.exe</Image>
    </NetworkConnect>
    
    <NetworkConnect onmatch="include">     
      <DestinationPort condition="is">80</DestinationPort>      
      <DestinationPort condition="is">443</DestinationPort>
      <DestinationPort condition="is">4301</DestinationPort>    
    </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>
    
    • 4301端口

    • 443端口(忘了截图了)

    3. virscan
    • 不知什么原因virscan出现一些问题无法像上届同学一样使用,故我最终选择使用virustotal。

    • 查看细节信息(我尽力想把它看懂,但是我没有)

    4. systracer
    • 点击take snapshot来快照,四个快照:1.将恶意软件植入到目标主机中后;2.恶意软件启动回连时;3.恶意软件执行dir命令进行查看时;4.恶意软件进行截屏操作时。

    • 比较1、2,我们可以看到很多信息,包括IP及端口

    • 恶意软件执行dir命令时无特殊信息,但在进行截屏操作时注册表信息有了修改:

    5. 联网情况分析

    在后门程序回连时,在主机的命令行中用netstat -n命令查看TCP连接的情况,可以发现其中有进行回连的后门程序:

    • 回连时建立tcp连接

    • 在后门程序回连时,打开wireshark,进行捕包分析,查看详细的协议分析发现,后门程序建立了三次握手并回连时进行了基于IP和端口的连接

    6. Process Monitor
    • 打开Process Monitor就可以就看到按时间排序的winxp执行的程序的变化,运行一下后门程序4301.exe,再刷新一下Process Monitor的界面,可以指定查找到程序。
    7. PEiD
    • PEiD是一个常用的的查壳工具,可以分析后门程序是否加了壳。

    • 加壳

    • 不加壳

    8. Process Explorer
    • 打开Process Explorer,运行后门程序4301.exe,在Process栏可以找到4301.exe

    • 双击后门程序4301.exe一行,点击不同的页标签可以查看不同的信息:

    • TCP/IP页签有程序的连接方式、回连IP、端口等信息。

    • Performance页签有程序的CPU、I/O、Handles等相关信息。


    四、实验体会

    • 本次实验极为繁琐,由于对各种软件的不熟悉,消耗了很多时间,学长学姐们的报告给了我很多帮助。在实验中,我掌握了各类分析恶意软件的方法,也发现了自己电脑中平时没有关注到的流氓软件,十分受益。另外在本次实验的学习过程中,我对恶意软件的特征认识也有了很大的提升,比如筛选可以对象,查看是否含有建立套接字的可以操作等等。总之本次实验虽然麻烦,但收获良多。
  • 相关阅读:
    windows系统切换jdk,修改java_home无效情况
    Cannot instantiate interface org.springframework.context.ApplicationListener
    MySQL分组查询获取每个学生前n条分数记录(分组查询前n条记录)
    ASP.NET Web API 使用Swagger生成在线帮助测试文档,支持多个GET
    EF TO MYSQL 无法查询中文的解决方法
    HttpWebRequest post请求获取webservice void数据信息
    This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms. 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分 解决方案
    MySQL 5.7.13解压版安装记录 mysql无法启动教程
    C# udpclient 发送数据断网后自动连接的方法
    汽车XX网站秒杀抢购代码
  • 原文地址:https://www.cnblogs.com/z20154301/p/8807752.html
Copyright © 2011-2022 走看看