zoukankan      html  css  js  c++  java
  • 20155330 《网络攻防》 Exp4 恶意代码分析

    20155330 《网络攻防》 Exp4 恶意代码分析

    实验后回答问题

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

    • 使用Windows自带的schtasks指令设置一个计划任务,指定每隔一定时间记录主机的联网记录或端口开放、注册表信息等;
    • 通过sysmon工具,配置需要记录事件的文件,之后在事件查看器里找到相关日志文件查看;
    • 使用Process Explorer工具,监视进程执行情况,查看是否有程序调用了异常的dll库之类的。

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

    • 使用systracer工具分析某个程序执行前后,计算机注册表、文件、端口的一些变化情况。

    实验过程

    使用schtasks指令监控系统

    • 在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:
    date /t >> c:
    etstatlog.txt
    time /t >> c:
    etstatlog.txt
    netstat -bn >> c:
    etstatlog.txt
    
    • 此时C盘中的文件:
    • 打开Windows下命令提示符,输入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c: etstatlog.bat"创建一个每隔两分钟记录计算机联网情况的任务
    • 右键点击“计算机”|“管理”,在计算机管理中点击“任务程序计划”|“任务程序计划库”,双击netstat任务计划项目,点击“操作”页签,“编辑”|修改“程序或脚本”为C: etstatlog.bat



    • 在“操作”中,将“只有在计算机使用交流电源时才启动此任务”选项取消
    • 过了一会查看netstatlog.txt文件……
    • 再次双击netstat任务计划项目,在“常规”页签中勾选“使用最高权限运行”
    • 隔了大约一天之后,再次查看记录的主机联网日志。
    • 根据张竞予同学的博客,制作了相关表格和饼状图。由于使用的是虚拟机进行实践,所以联网的应用程序种类较少。

    使用sysmon工具监控系统

    • 首先创建配置文件Sysmon20155303.xml,内容如下:
    <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:Sysmon20155330.xml安装Sysmon
    • 在“事件查看器”中查看程序相关信息。

    • Sysmon.exe -c C:Sysmon20155330.xml更改配置文件,监听443和80端口,无异常发生。
    <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">SogouExplorer.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>
    

    使用VirusTotal分析恶意软件

    • 把后门软件上传到VirusTotal进行扫描,只有16个软件没有检测出病毒……
    • 查看这个恶意代码的基本属性
    • 算法库支持情况

    使用Process Monitor分析恶意软件

    • Process Monitor是一个高级的 Windows 系统和应用程序监视工具,使用者可以对系统中的任何文件和注册表操作同时进行监视和记录,通过注册表和文件读写的变化,诊断系统故障或是发现恶意软件、病毒或木马。
    • 以下为软件记录情况(部分)。

    使用Process Explorer分析恶意软件

    • Process Explorer让使用者能了解看不到的在后台执行的处理程序,能显示目前已经载入哪些模块,分别是正在被哪些程序使用着,还可显示这些程序所调用的 DLL进程,以及他们所打开的句柄。
    • 后门软件运行情况记录:

    使用PEiD分析恶意软件

    • PEiD(PE Identifier)是一款著名的查壳工具。
    • 未加壳扫描结果:
    • 加壳后:

    使用systracer分析恶意软件

    • 在kali对windows主机进行回连前后使用软件进行快照,然后对比。
    • 首先是注册表发生了变化:
    • 端口情况

    实验体会

    通过这次的学习和实践,主要对恶意代码的分析方式有了一定的了解。恶意代码分析主要分为静态分析和动态分析两种方式。通过和上一次的实践相结合,对恶意代码的隐蔽性有了更加深刻的了解。

  • 相关阅读:
    CSS 对浏览器的兼容性技巧总结
    后台拿webshell的方法总结
    WEBSHELL权限提升技巧
    学习linq处理数据 遥远的青苹果
    在asp.net中怎么导出excel表
    SQL提取数据库记录按字的笔画排序
    主板前置音频线怎么接
    Oracle导入导出
    DevExpress GridControl界面汉化(摘自王铭)
    ASP.NET中如何防范SQL注入式攻击
  • 原文地址:https://www.cnblogs.com/ashin-kl/p/8870414.html
Copyright © 2011-2022 走看看