Exp4 恶意代码分析 20154301仉鑫烨

20154301 Exp4 恶意代码分析

20154301 仉鑫烨


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

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

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

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


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

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

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

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


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

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

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

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

    date /t >> c:\netstat4301.txt

    time /t >> c:\netstat4301.txt

    netstat -bn >> c:\netstat4301.txt

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

  • 双击点开,找到操作,点击所有项里的属性选项:
    1344257-20180412145024858-2034958487.png

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

  • 修改成功后,显示:
    1344257-20180412145043710-729534272.png

  • 问题:无法定时记录数据,需要打开最高权限。
    1344257-20180412145051570-15195733.png

  • 可以看到记录文件netstatlog.txt中的记录有了时间:
    1344257-20180412145055941-1435109092.png

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

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

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

  • 选择分隔符号:
    1344257-20180412145106364-1267968440.png

  • 分隔符号全部选上:
    1344257-20180412145109563-2010772380.png

  • 列数据格式选择常规:
    1344257-20180412145118224-1493592019.png

  • 点击完成,在excel中格式见下图
    1344257-20180412145123323-1524908829.png

  • 首先去掉重复值:
    1344257-20180412145128338-1161682688.png

  • 最终删除1872个重复值,确定19项内容:
    1344257-20180412145133698-814540324.png

  • 分析其用途

进程应用用途
[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>

1344257-20180412145159272-2063466136.png

  • 配置好文件之后,要先使用Sysmon.exe -i C:\Sysmoncfg.txt指令对sysmon进行安装:
    1344257-20180412145159750-597651813.png

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

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

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

  • 将后门程序放入windows主机,在Kali下进行回连操作:
    1344257-20180412145232991-530068299.png

  • 木马很可能伪装成电脑自带的explorer.exe进程
    1344257-20180412145240171-1527328284.png

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

<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端口
    1344257-20180412150421781-971531449.png

  • 443端口(忘了截图了)

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

  • 查看细节信息(我尽力想把它看懂,但是我没有)
    1344257-20180412145305652-1029096304.png

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

  • 比较1、2,我们可以看到很多信息,包括IP及端口
    1344257-20180412145321390-543140015.png
    1344257-20180412145327795-170048285.png

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

5. 联网情况分析

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

  • 回连时建立tcp连接
    1344257-20180412145338122-1887153540.png

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

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

  • 不加壳
    1344257-20180412145421727-491151396.png

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

  • 双击后门程序4301.exe一行,点击不同的页标签可以查看不同的信息:
  • TCP/IP页签有程序的连接方式、回连IP、端口等信息。
    1344257-20180412145434025-349540877.png
    1344257-20180412145451466-1308060827.png

  • Performance页签有程序的CPU、I/O、Handles等相关信息。
    1344257-20180412145454390-978526478.png


四、实验体会
  • 本次实验极为繁琐,由于对各种软件的不熟悉,消耗了很多时间,学长学姐们的报告给了我很多帮助。在实验中,我掌握了各类分析恶意软件的方法,也发现了自己电脑中平时没有关注到的流氓软件,十分受益。另外在本次实验的学习过程中,我对恶意软件的特征认识也有了很大的提升,比如筛选可以对象,查看是否含有建立套接字的可以操作等等。总之本次实验虽然麻烦,但收获良多。

转载于:https://www.cnblogs.com/z20154301/p/8807752.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值