20155227《网络对抗》Exp4 恶意代码分析

20155227《网络对抗》Exp4 恶意代码分析

实践目标

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

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

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

实践内容(3.5分)

1.系统运行监控(2分)

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

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

参考:schtask与sysmon应用指导

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

2.恶意软件分析(1.5分)

分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件

(3)读取、添加、删除了哪些注册表项

(4)读取、添加、删除了哪些文件

(5)连接了哪些外部IP,传输了什么数据(抓包分析)

实践内容及步骤

使用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.txt文件,可以观察到运行的免杀的恶意程序5227test32.exe,除此之外没什么不明联网情况。

监测了好几天之后,将txt导入到Excel中,整理发现最常见的是360se即360游览器,360tray即360安全卫士。

以及常见的进程[svchost.exe]Svchost.exe是从动态链接库(DLL)中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要,而且是不能被结束的。
[conhost.exe]:微软的系统文件。

sysmon工具监控

  • 用管理员身份运行cmd,配置文件,保存在sysmon.exe同目录下就好。输入以下指令进行安装配置。

  • 右键“我的电脑”选择管理,进入事件查看器,查看日志:

  • 监测到进程创建:

  • 监测到360对文件创建时间进行了修改:

  • 监测到kali监听回连时的网络连接:

virscan网站分析

在上次用来查杀程序的网站上,等一段时间后会出现程序的行为分析,点击可以查看到对这个程序的行为描述,还有它对注册表是否有增删的情况等等:

systracer工具快照分析

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

可以看到Kali回连成功后注册表发生变化:

对比未回连时和回连时可以发现后门程序建立了主机到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工具比较某个程序的执行前后计算机注册表、文件、端口的变化情况。
  • 可以使用Wireshark进行抓包分析,然后查看该程序联网时进行了哪些操作。
  • 使用netstat命令设置一个计划任务,指定每隔一定时间记录主机的联网记录等等。
  • 可以通过sysmon工具,配置好想记录事件的文件,然后在事件查看器里面查看相关文件。

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

  • 可以使用systracer工具比较某个程序的执行前后计算机注册表、文件、端口的变化情况。
  • 可以使用Wireshark进行抓包分析,然后查看该程序联网时进行了哪些操作。

实验总结与体会

刚开始做实验时有点无从下手,参考了很多学长学姐的博客,通过这次实验,可以看到现在的恶意代码已经不能仅仅靠杀软来查杀了。我们需要了解使用不同软件来进行恶意代码分析的方法,希望以后也能运用这些知识来发现系统中的一些异常行为吧。

posted @ 2018-04-15 19:20  20155227辜彦霖  阅读(198)  评论(1编辑  收藏  举报