zoukankan      html  css  js  c++  java
  • 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:
      etstatlog.txt
        time /t >> c:
      etstatlog.txt
        netstat -bn >> c:
      etstatlog.txt
      
    • 然后打开Windows下命令提示符,输入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c: etstatlog.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进行抓包分析,然后查看该程序联网时进行了哪些操作。

    实验总结与体会

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

  • 相关阅读:
    .NET定时任务执行管理器开源组件–FluentScheduler
    ASP.NET MVC 使用 FluentScheduler 定时器计划任务
    Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程
    除非Microsoft FTP 服务(FTPSVC)正在运行,否则无法启动FTP站点。服务目前已停止
    Web API--自定义异常结果的处理
    C#怎么遍历一个对象里面的全部属性?
    WebApi 接口参数不再困惑:传参详解
    C#进阶系列——WebApi 接口测试工具:WebApiTestClient
    WebApi安全性 使用TOKEN+签名验证
    ASP.NET(C#) Web Api通过文件流下载文件到本地实例
  • 原文地址:https://www.cnblogs.com/guyanlin/p/8783766.html
Copyright © 2011-2022 走看看