20164305 徐广皓 Exp4 恶意代码分析

 

实践目标

 

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

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

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

实践内容安全

  •  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(重命名更改类型),用于计时tcp

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

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

  • 必定要使用最高权限运行,不然则会出现请求不成功的状况

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

一段时间后,记录获得数据(实际上1个小时,电脑没电了本身关机了)spa

对得到的数据进行分析命令行

发现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库等

实验总结与体会

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

相关文章
相关标签/搜索