zoukankan      html  css  js  c++  java
  • 20155216 Exp4 恶意代码分析

    20155216 Exp4 恶意代码分析

    实践内容

    使用schtasks指令监控系统运行

    先在C盘目录下建立一个netstatlog.bat文件和netstatlog.txt文件,将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:

    date /t >> c:
    etstatlog.txt
    time /t >> c:
    etstatlog.txt
    netstat -bn >> c:
    etstatlog.txt
    

    打开Dos命令行,输入指令 schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c: etstatlog.bat" 创建一个每隔两分钟记录计算机联网情况的任务:

    之后查看一下netstatlog.txt文件:

    显示结果为:请求的操作需要提升。

    此时重新创建文件,并以使用管理员身份运行命令行,显示结果还是一样。

    于是更换windows环境,使用win7 x64位环境:

    显示结果为:请求的操作需要提升。

    于是又更换环境——windows xp

    终于给面子了。

    还有一种方法:在win8.1环境下运行,以管理员身份启动命令行,键入命令后

    以管理员身份运行一下netstatlog.bat。

    可在计划任务中找到此进程,其状态为准备就绪,若要停止,可将进程直接删除。

    使用sysmon工具监控系统运行

    下载sysmon v7.0

    在Sysmon.exe同目录下建立文件:test.txt,并输入以下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 test.txt ,进行安装:

    给出提示,无法进行安装。

    <Sysmon schemaversion="3.10"> 改为正确的版本号: <Sysmon schemaversion="4.00">

    再次以管理员身份运行:

    输入指令: Sysmon.exe -c test.txt ,进行配置:

    之后使用win+R,输入 eventvwr 打开事件查看器。

    进入 应用程序和服务日志 > Microsoft > Windows > Sysmon > Operational。

    事件日志

    双击某一个日志可查看其具体信息,如启动事件查看器。

    事件1

    也能看到很多进程创建的日志:

    事件2

    进程改变文件创建时间:

    事件3

    也能通过查找功能查找到下午查实验使用后门回连的日志记录:

    网络连接工作:可以很清楚地看到运行程序的源端口、目的端口、源IP地址、目的IP地址以及使用的协议类型。

    以管理员权限键入 Sysmon.exe -u 停止日志的记录,并删除之前的记录。

    TCPView

    TCPView是用来监测TCP连接的工具,在开启后门的情况下,打开工具就可以看到通过TCP和UDP协议运行的进程的源地址、目的地址以及相应端口和连接状态。

    双击某进程可查看到进程的具体路径,也可终止进程。

    尝试window后门回连,可以很清楚的看到这个进程。

    procmon工具

    使用procmon工具也能清晰地查看进程运行状态、路径。

    双击一个进程也可直接查看其细节:

    Wireshark分析

    利用生成的后门回连成功:

    可以观察到kali虚拟机多次对被植入后门主机发送建立连接请求,被植入后门主机对部分请求进行回应。

    使用systracer工具分析恶意软件

    下载systrace,安装时各选项默认

    建立三个快照

    对比分析

    在不回连后门的情况下,回连的情况下和输入dir的情况下,对比快照。使用view观察新增项目(绿色项),能够发现5216.exe的动态:

    PEiD工具

    这是一个检测是否加壳的软件。

    先检测未加壳的文件,提示为nothing found。

    检测加壳的文件,提示为加壳软件的版本,而且检测速度很快。

    实验后回答问题

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

    可使用systrace观察系统此刻进程运行情况较之前的变化,若发现可疑项,再使用TCPView或sysmon对进程进行详细监控。

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

    可使用schtasks指令、wiresharkTCPView或sysmon对进程进行详细监控,进一步获取其网络连接信息、相关联进程信息和对其它进程的影响。

    实验总结与体会

    本次实验使用了较多的进程和网络监控工具。其中大部分的工具功能还是相似的。在怀疑某个进程有问题时,可使用多个工具对其进行监控,观察其网络连接等情况,找到文件的路径,进行加壳等各种检测以确定是否为恶意程序。一般情况系统同时运行的程序较多,可先使用systrace观察进程改变项,再使用其他合适监控进程,对可疑的进程进行筛选,找到有问题的进程。

  • 相关阅读:
    2013年3月17日星期日
    2013第11周一
    2013年第11周二
    2013年第11周三今天开发踩过的坑
    2013第11周四开发摸索
    2013第10周六项目中用到的前端技术学习1
    PHP 数组使用之道
    快递查询API接口集成,有需要的可以直接用
    PHP intval() 函数
    巧用 PHP 数组函数
  • 原文地址:https://www.cnblogs.com/LeeX1997/p/8780403.html
Copyright © 2011-2022 走看看