20164305 徐广皓 Exp4 恶意代码分析

 

实践目标

 

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

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

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

实践内容

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

1. 系统运行监控——计划任务

创建计划任务,使系统每1分钟自动检测到有哪些程序在连接我们的网络。

1 schtasks /create /TN 20164305 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > e:\20164305.txt"
  • TN:Task Name,本例中是netstat
  • SC: SChedule type,本例中是MINUTE,以分钟来计时
  • MO: MOdifier
  • TR: Task Run,要运行的指令是 netstat
  • -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口

在E盘根目录下新建20164305.bat(重命名更改类型),用于计时

1 date /t >>e:\20164305.txt
2 time /t >>e:\20164305.txt
3 netstat -bn >>e:\20164305.txt

控制面板->系统与安全->管理工具->任务计划程序,修改 计划属性

  • 一定要使用最高权限运行,否则则会出现请求不成功的情况

选择刚才编辑好的脚本,添加到设置中

一段时间后,记录得到数据(实际上1个小时,电脑没电了自己关机了)

对获得的数据进行分析

发现TCP和360使用网络情况较多,对svhost比较好奇,然后就去查了一下

然后又去搜索了一下Microsoft.Photos.exe

emmm有点慌。。。一会去研究研究能不能了解了它

2. 系统运行监控——利用Sysmon

安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

  • 写配置文件

写与自己想要监控的事件相对应的配置文件。编写20164305.xml,内容如下:

 1 <Sysmon schemaversion="4.00">
 2   <!-- Capture all hashes -->
 3   <HashAlgorithms>*</HashAlgorithms>
 4   <EventFiltering>
 5     <!-- Log all drivers except if the signature -->
 6     <!-- contains Microsoft or Windows -->
 7     <DriverLoad onmatch="exclude">
 8       <Signature condition="contains">microsoft</Signature>
 9       <Signature condition="contains">windows</Signature>
10     </DriverLoad>
11 
12     <NetworkConnect onmatch="exclude">
13       <Image condition="end with">chrome.exe</Image>
14       <Image condition="end with">iexplorer.exe</Image>
15       <SourcePort condition="is">137</SourcePort>
16       <SourceIp condition="is">127.0.0.1</SourceIp>
17     </NetworkConnect>
18 
19     <CreateRemoteThread onmatch="include">
20       <TargetImage condition="end with">explorer.exe</TargetImage>
21       <TargetImage condition="end with">svchost.exe</TargetImage>
22       <TargetImage condition="end with">winlogon.exe</TargetImage>
23       <SourceImage condition="end with">powershell.exe</SourceImage>
24     </CreateRemoteThread>
25   </EventFiltering>
26 </Sysmon>

安装Sysmon, .\sysmon.exe -i e:\20164305.xml (win10中要加.\否则会报错)

在控制面板->系统与安全->管理工具->事件查看器->应用程序和服务日志-> Microsoft -> Windows -> sysmon -> Operational中找到日志

然后筛选日志信息,并导出查看

  • 利用Sysmon具体分析日志

这里我选择了自己实验二中生成的后门20164305_backdoor.exe进行分析

  • 先进行回连

  • 然后输入查看目录的命令

  • 然后利用wireshark进行分析

可以看到,其先进行了TCP的三次握手,之后再进行数据的传输。

3.恶意软件分析

  • 网站上查看后门程序的行为分析。

可以看出这个后门程序是利用upx加壳的恶意代码,但功能未知

  • 利用软件分析exe

首先是恶意软件,返回加壳结果

然后对一个安全软件进行检测,发现什么都没发现o(╥﹏╥)o

  • 利用wireshark对恶意软件执行过程进行分析

与前面步骤相同,使用回连程序进行回连

然后监听整个后门过程,对其TCP连接过程进行分析

  • 前一部分为Linux使用mns启动过程所用的网络连接

  • 然后与虚拟机端口(Windows主机)进行tcp三次握手

  • 然后进行指令调用等操作。

试验后回答问题

  • 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控?
    • 利用sysmon工具,配置好想要监控的端口、注册表信息、网络连接等信息,通过其生成的日志文件进行查看
    • 利用wireshark查看数据包,TCPview也可以,但是没那么全面
    • 利用systracer进行快照,比照注册表、文件等信息
    • 利用Process monitor、Process Explorer
  • 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息?
    • 同样采用以上工具,用wireshark查看数据包,systracer进行快照的对比(注册表、文件等),peid查看是否加壳,Process Explorer查看调用的程序库、dll库等

实验总结与体会

杀软有助于普通用户对自己的电脑进行监控,就像图形化界面对于不熟练运用命令行的用户使用方便相同,利用检测工具能从最原始的角度发现系统情况与问题,而不是简单依靠杀软来维护系统安。

posted @ 2019-04-07 14:47  醉落  阅读(94)  评论(0编辑  收藏