网络对抗技术 2017-2018-2 20152515 Exp4 恶意代码分析

1.实验后回答问题

(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
答:- 我会使用sysmon工具来进行监控,可以每天晚上查看一下监控到的信息,还可以利用筛选工具对数据进行分析,监控网络连接,是否创建新的进程,注册表项目以及系统日志。

(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
答:最简单的方法就是使用Virscan等网站进行扫描进行分析,复杂一点的话,可以自己使用wireshark抓包然后再对抓到的数据进行分析,还可以将数据制表找到规律。

2.实践内容(3.5分)

2.1系统运行监控(2分)

(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

  • 一个简单的实现
    每5分钟记录一下有哪些程序在连接网络。命令如下:
C:\schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

每1分钟记录一下有哪些程序在连接网络的命令如下,(修改数字即可):

C:\schtasks /create /TN netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
  • 批处理
    在C盘要目录下建一个文件c:\netstatlog.bat,内容如下:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

建“.bat”文件的方式如下:

1.先建一个名为netstatlog.txt文件
2.再在里面写上内容
3.将后缀名改为“.bat”
schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"

指令创建一个每隔两分钟记录计算机联网情况的任务:

结果如下:

分析: 由上图可以看出我运行的有VW虚拟机,有道云,WPS。

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

先下载好sysmon,地址在这Sysmon v7.01

记录所有网络连接就可以简单写为 <NetworkConnect>*</NetworkConnect>,不写的不记录。
一般都是写成类似下面的规则,会过滤掉一些。exclude相当于白名单,不用记录。include相当于黑名单。一般人使用白名单更安全,凡是不了解都记录。

我的配置文件如下所示:

<Sysmon schemaversion="4.00">
  <!-- 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">vmware.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <Image condition="end with">WeChat.exe</Image>
      <SourcePort condition="is">137</SourcePort>
      <SourceIp condition="is">127.0.0.1</SourceIp>
    </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>

安装时我曾出现这个提示:

这是因为配置文件中没有修改版本号,要把“3.10”改成“4.00”,你也可以根据提示修改成你的版本号。

安装成功:

在"运行"窗口输入eventvwr命令(我是直接输的,这个命令在哪个目录输都可以的),打开应用程序和服务日志,根据Microsoft->Windows->Sysmon->Operational路径找到记录文件。

这个是我用cmd.exe 的显示

这个是我边在用有道云写博客显示的进程情况

SGPicFaceTool.exe是搜狗输入法的图片表情辅助工具。

参考:schtask与sysmon应用指导

实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。

2.2恶意软件分析(1.5分)

分析该软件在
(1)启动回连
我在自己的主机上启动了后门,然后回连到kali上:

然后我在Sysmon上查找了我的后门文件名,就找到了


这张图里我们可以看到payload启动了 explorer.exe,因为回连之后我在KALI中进行了一些操作。

explorer.exe是Windows 资源管理器,可以说是 Windows 图形界面外壳程序,它是一个有用的系统进程。

当时我们启动payload回连kali,在kali上对主机进行操作:

(2)安装到目标机
这是当我把一个后门程序安装到win7上监控到的信息,可以看到上面显示了我是由虚拟机安装到主机的文件夹中。

这是回连之后监控到的信息

(3)及其他任意操作时
我用wireshark捕获了我的某个后门程序回连时的数据。

这个是我的虚拟机IP和主机IP建立TCP连接抓的包

192.168.43.132是我KALI的ip

我们可以看到,在回连的后续连接中,基本上都是ACK响应包。

这里我们看,出现了一个没见过的可疑IP 79.161.57.119

我在网上查了一下:

竟然是挪威的ip,简直不明觉厉,然后觉得很有问题。

它还提示说这个应该是来自于数据中心,是真人的概率只有45%

至于NTP协议:

NTP是Network Time Protocol的缩写,又称为网络时间协议。是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。

感觉可能没大事?

实验总结与体会

总之呢,之前的实验是教我们自己生成恶意代码,躲过杀软对电脑进行攻击。而这次的实验感觉是教我们维护自己的电脑,检测自己电脑的情况,保证它不被恶意代码攻击,保护它的安全,先是学习了解恶意代码,再是学会去发现和解决它。

posted @ 2018-04-10 22:32  xuanyan  阅读(277)  评论(0编辑  收藏  举报