20155218 《网络对抗技术》 MAL_恶意代码分析

  • Post author:
  • Post category:其他


20155218 《网络对抗技术》 MAL_恶意代码分析

实验内容:

1、使用schtasks指令监控系统运行

  • 1、在C盘下新建一个文本文档,输入一下内容后,更名为netstatlog.bat
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
  • 2、以管理员身份运行powershell或者cmd,并输入指令
schtasks /create /TN netstat /sc MINUTE /MO 2 /ru "System" /TR "d:\netstatlog.bat"

其中,TN是TaskName的缩写,我们创建的计划任务名是netstat5303;sc表示计时方式,我们以分钟计时填MINUTE;TR=Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口。

  • 3、在netstatlog.txt中就可以看到一些记录
2018/04/13 周五 
17:49
请求的操作需要提升。
2018/04/13 周五 
17:49
请求的操作需要提升。
2018/04/13 周五 
17:51

活动连接

  协议  本地地址          外部地址        状态
2018/04/13 周五 
17:52

活动连接

  协议  本地地址          外部地址        状态
  TCP    192.168.1.107:49461    180.163.251.163:80     SYN_SENT
 [SoftupNotify.exe]
  TCP    192.168.1.107:49462    106.120.160.155:80     SYN_SENT
 [360tray.exe]
  TCP    192.168.1.107:49463    106.120.160.155:80     SYN_SENT
 [360tray.exe]
2018/04/13 周五 
17:53

活动连接

  协议  本地地址          外部地址        状态
  TCP    192.168.1.107:49479    180.163.251.163:80     SYN_SENT
 [360tray.exe]
2018/04/13 周五 
17:54

活动连接

  协议  本地地址          外部地址        状态
  TCP    192.168.1.107:49482    122.193.207.44:80      SYN_SENT
 [DgService.exe]
  TCP    192.168.1.107:49483    210.52.217.139:80      SYN_SENT
 [360tray.exe]
  TCP    192.168.1.107:49484    210.52.217.139:80      SYN_SENT
 [360tray.exe]
  TCP    192.168.1.107:49485    210.52.217.139:80      SYN_SENT
 [360tray.exe]
2018/04/13 周五 
17:55

用excel对schtasks得到的数据进行分析

  • 删除重复的ip地址剩余185个;

    1071493-20180416225932048-1060102739.png
  • 导入到whois查看ip

    1071493-20180416230216436-701470595.png

  • 4、遇到的问题:

    (1)
    1071493-20180413181852945-965163683.png

    程序无法执行,原因就在于我的运行条件中的设置,需要使用电源才能执行,而我正好没接电源。
    1071493-20180413181952319-1566156031.png

2、使用sysmon工具监控系统运行

  • 根据老师要求需要记录一下三个事件:

    1071493-20180418182246494-1256198248.png

  • 1、 sysmon微软Sysinternals套件中的一个工具,要使用sysmon工具先要配置文件

<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>
  • 2、配置好文件之后,要先使用Sysmon.exe -i C:\Sysmoncfg.txt指令对sysmon进行安装:

    1071493-20180413222454917-1306125760.png

    出现小错误,但是但是按照提示做就可以了;
  • 3、在事件查看器里查看相应的日志:

    1071493-20180413222811392-105981316.png
  • 4、对Sysmoncfg.txt配置文件进行修改,重点监视80和443端口的联网情况
<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>    
</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>

prcess creation :使用netasta.exe程序来统计联网信息的事件的建立。

1071493-20180416100217115-539075128.png

process terminaled :使用netasta.exe程序来统计联网信息的事件的终止。

1071493-20180416100256602-55037557.png

network connection

1071493-20180416100335361-358223152.png

3、使用systracer工具分析恶意软件

使用systracer工具建立了4个状态的快照

  • 未放入病毒
  • 注入病毒
  • 运行病毒
  • kali执行命令

    1071493-20180416150117587-1836854140.png

    回连执行后,可以程序打开的端口和handles信息:

    1071493-20180416153153628-2070138344.png

1071493-20180416153153230-884679698.png

4、使用火绒剑

-实现成功回连后,查看火绒剑的进程监控:

1071493-20180418175027403-1462593302.png

-查看其回连ip地址;

1071493-20180418175052519-615876663.png

-查看其调用栈,并且可以进行反汇编

1071493-20180418175509021-936083903.png

-查看进程,可以发现20155218.exe为未知文件;

1071493-20180418175627903-1198377739.png

5、使用VirusTotal分析恶意软件

  • 把生成的恶意代码放在VirusTotal进行分析:66个杀软共有15个查出;

    1071493-20180418182857010-1041954763.png
  • 查看该恶意代码的基本情况:
    1071493-20180418183142840-565417980.png
  • 该恶意代码的算法库支持情况:
    1071493-20180418183249313-1307399370.png

6、实验问题回答

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

我会从一下方面:1、注册表;2、系统服务;3、开机启动项;4、文件创建;5、网络连接情况;6、钩子;7、内核 进行监控,可以使用systracer,sysmon,火绒剑等工具监控;

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

我可以使用wireshark查看其具体信息,比如用的什么协议,回连ip是多少,也可以使用火绒剑查看其调用的栈和其相关进程;

7、实验总结与体会

这个实验中,我们要学习如何分析恶意代码,从而知道如何设计恶意代码,在分析恶意代码的时候,有比较简单的工具,但需要大量的分析总结,也有比较成熟的软件,能够较快的查看到相关的信息。常在河边走,哪有不湿鞋,经常弄这个恶意代码,说不定哪天自己就被攻击了(模糊的记得好像有个虚拟机与我的mac采用了无缝连接,有点慌),使用这些工具可以监控自己的电脑,感觉放心了不少。

转载于:https://www.cnblogs.com/xzh1996/p/8822622.html