zoukankan      html  css  js  c++  java
  • 20175122邱昕exp4恶意代码分析

    1. 基础知识

    1.1 恶意代码的概念与分类

    定义:指故意编制或设置的、对网络或系统会产生威胁或潜在威胁的计算机代码。

    特征:恶意的目的,本身是计算机程序,通过执行发生作用

    类型:计算机病毒蠕虫恶意移动代码后门特洛伊木马僵尸程序内核套件融合型恶意代码

    1.2 恶意代码的分析方法

    静态分析:恶意代码扫描,文件格式识别,字符串提取,二进制结构分析,反汇编反编译,代码结构与逻辑分析,加壳识别和代码脱壳

    动态分析:快照对比,动态行为监控,网络监控,沙盒,动态跟踪调试

    2. 系统运行监控

    对象:实验二中的5122backdoor.exe恶意代码(这里提一句,因为我自己作死,移动了一下虚拟机位置,所以出现了错误,现在的虚拟机是重装的,ip有变换,原来是192.168.81.130,现在是192.168.81.135,这个恶意代码也是新生成的)

    2.1 Windows计划任务schtasks

    输入命令schtasks /create /TN netstat /sc MINUTE /MO 1 /TR “d: etstatlog.bat”,创建任务,接着写任务需要的bat文件。

    新建一个txt文档,输入指令,

    date /t >> d: etstatlog.txt

    time /t >> d: etstatlog.txt

    netstat -bn >> d: etstatlog.txt

    强行转化为.bat类型的文件

    打开任务计划程序,找到任务

     

    双击任务,点击操作并编辑,将程序或脚本改为我们创建的netstat5122.bat批处理文件,确定即可。

    任务还有其他属性,常规中有的同学选只在用户登录时运行,但我这出了问题,要我输密码,输了以后还是不行我就选不管用户是否登录,也能成功运行

    在D盘下建立netstatlog.txt文档,打开文档并运行任务,发现信息已收集。

    用Excel进行导入,并用数据透视图对文本信息进行处理。

     

    excel很不熟

    由图可见有百度网盘微信wps钉钉360浏览器等等,应该是属于正常范畴

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

    3.1sysmon

    下载sysmon

    创建配置文件sysmon.xml,文件中写入以下指令

    <Sysmon schemaversion="4.12">
    <!-- 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>
    <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>

     

    从图中可以看出版本号为4.23,所以我们更新并修改一下配置文件。<Sysmon schemaversion="4.23"><!-- 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">iexplorer.exe</Image>
    <SourcePort condition="is">137</SourcePort>
    <SourceIp condition="is">127.0.0.1</SourceIp>
    </NetworkConnect>
    <NetworkConnect onmatch="include"> 
    <DestinationPort condition="is">5110</DestinationPort>     
    <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>


    打开事件查看器,在应用程序和服务日志下,查看Microsoft->Windows->Sysmon->Operational,运行实验二生成的后门文件,在kali虚拟机中获取Windows的命令行,观察日志


    事件记录了应用程序的任务类别、记录时间,详细信息中记录了目的IP、目的端口号以及目的端口名称等信息
    由于事件太多,我没有找原来的后门程序

    4. 恶意软件分析

    4.1 文件扫描(VirusTotal):检出率57/72

    文件格式识别(peid工具)

    对未加壳的后门文件进行扫描:PEiD的主要功能是查壳,所以这个后门文件并没有被它查出异常

     

    反编译、反汇编(PE Explorer工具)

    查看文件头信息,我看不懂。。。。。。

     调用的ddl文件

    查看版本信息

    快照比对(SysTracer工具)

    利用快照工具抓取三种状态

    1:原状态 2:回连状态 3:kali上操作dir

     

    12状态对比,可以看到后门程序在运行,调用了哪些文件,包括用于进程间通讯的临时文件。

    可以看到后门程序运行了http服务,还是add添加

    可以看到开启了哪些端口

    注册表的变换

    抓包分析(WireShark工具)

    执行dir的包,观察情况,可以很清楚看都源目的端口和传输方式等等。

    可以看到ip地址为192.168.81.1我的主机和虚拟机192.168.81.135,且端口为5122

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

    利用Windows计划任务schtasks和sysmon工具,收集数据,观察系统是否有异常行为。包括自启动项,服务,异常通讯等。

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

    可以用VirusTotal网站进行检测,用sysmon可以查看该程序或进程是否有异常行为,用SysTracer工具可以查看该程序或进程对注册表、文件还有应用程序进行了哪些修改

    5. 实验总结与体会

    本次实验不难,主要是各种工具的使用测试分析,但我不太会分析,需要继续学习相关知识,同时更加熟悉工具。值得庆幸的是我电脑里应该没有恶意代码

  • 相关阅读:
    org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback.....Parameter index out of range (1 > number of parameters, which is 0).;
    启动tomcat报错 Could not reserve enough space for object heap的解决办法
    JavaScript里面三个等号和两个等号有什么区别?
    powerdesigner 绘制表关系和导出sql
    ORA-00911: 无效字符
    java heep space错误解决办法
    jsp下拉选框赋值(在js里进行)
    js image转canvas不显示
    调试web worker (动态生成的worker)
    threeJS射线拾取机制及案例
  • 原文地址:https://www.cnblogs.com/qiuxin/p/12727734.html
Copyright © 2011-2022 走看看