博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

20155217《网络对抗》Exp04 恶意代码分析

Posted on 2018-04-16 12:36  20155217杨笛  阅读(221)  评论(0编辑  收藏

20155217《网络对抗》Exp04 恶意代码分析

实践内容

  1. 使用schtasks指令监控系统运行
  2. 使用sysmon工具监控系统运行
  3. 使用virscan分析恶意软件
  4. 使用systracer工具分析恶意软件
  5. 使用Process Explorer分析恶意软件
  6. 使用Process Monitor分析恶意软件
  7. 使用wireshark分析恶意软件回连情况
  8. 使用PEiD分析恶意软件

使用schtasks指令监控系统运行

  • 在C盘目录下建立netstatlog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

  • 打开Windows下命令提示符,输入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"指令创建一个每隔两分钟记录计算机联网情况的任务。
  • 之后查看netstatlog.txt文件,都是正常联网的应用。

  • 隔天再次查看了这一天当中记录的主机联网日志,并未发现异常。

出现的小问题

在最初运行netstatlog.bat的时候,会出现需要提高权限的情况。

所以我在运行netstatlog.bat时右键单击,点击以管理员身份运行,之后在打开txt文件就能正常显示信息啦。

使用sysmon工具监控系统运行

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

  • 启动之后,便可以到事件查看器里查看相应的日志:

  • 我查看了其中一部分事件的详细信息。
  • 此事件是之前运行Sysmon.exe文件创建的:

  • 此事件是存储360浏览器的缓存数据的:

  • 此事件记录的是运行wps:

  • 之后,我对Sysmoncfg.txt配置文件进行了修改,重点是监视80和443端口的联网情况,发现了一个SoftupNotify.exe的未知进程,百度之后发现竟然是一个蠕虫病毒的名字= =,还是安装在了360本身自建的文件夹里。然后我就搜,发现SoftupNotify.exe是360软件管家的升级助手文件,通常会在开机的时候,或者在软件进行升级的时候会自动启动此进程。闹了一个误会,罪过罪过。其他就没什么异常情况了。

  • 对配置文件的修改如下:
<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">WeChat.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>

使用virscan分析恶意软件

  • virscan网站上查看上次实验所做的后门软件的文件行为分析:

  • 可以看到其启动回连主机的部分IP地址以及端口号,还有对注册表键值进行了删除:

  • 还有反调试和创建事件对象的行为:

使用systracer工具分析恶意软件

  • 共建立了3个快照,分别是:有后门程序但未回连时、后门程序回连时、执行指令操作时。

  • 将恶意软件植入后回连,成功后发现注册表发生了变化。
  • 对比未回连时和回连时可以发现后门程序建立了主机到Kali的tcp连接,进行了回连;后门程序对注册表项进行了修改:

  • 对比回连时和输入指令时可以看到后门程序对文件、注册表等都进行了增改:

使用wireshark分析恶意软件回连情况

  • 在恶意软件进行回连时,在Windows主机上用netstat可以查看TCP连接的情况,其中就有后门程序所建立的TCP连接:

  • 使用wireshark进行抓包后可以看到,其先进行了TCP的三次握手,之后再进行数据的传输,如图所示,带有PSH,ACK的包传送的就是执行相关操作指令时所传输的数据包:

使用PEiD分析恶意软件

  • PEiD是一个常用的的查壳工具,可以分析后门程序是否加了壳:

使用Process Monitor分析恶意软件

使用Process Explorer分析恶意软件

  • 打开Process Explorer,在Process栏点开explorer.exe前面的小加号,运行后门程序5227test32.exe,界面上就会出现它的基本信息。

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

  • 其调用的ntdll库ntdll.dll是重要的Windows NT内核级文件,描述了windows本地NTAPI的接口。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。

基础问题回答

  • 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
  1. 可以使用systracer工具比较某个程序的执行前后计算机注册表、文件、端口的变化情况。
  2. 可以使用Wireshark进行抓包分析,然后查看该程序联网时进行了哪些操作。
  3. 使用netstat命令设置一个计划任务,指定每隔一定时间记录主机的联网记录等等。
  4. 可以通过sysmon工具,配置好想记录事件的文件,然后在事件查看器里面查看相关文件。
  • 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
  1. 可以使用systracer工具比较某个程序的执行前后计算机注册表、文件、端口的变化情况。
  2. 可以使用Wireshark进行抓包分析,然后查看该程序联网时进行了哪些操作。

实验心得与体会

这次实验主要在参考了卢肖明学长的博客完成的,主要就是对恶意进程的监控,做的过程还算比较顺利的。通过这次实验,掌握了以前不知道的查杀检测方法,希望自己以后能更好地保护好我的电脑哦。