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

    一、基础问题回答

    (1)总结一下监控一个系统通常需要监控什么、用什么来监控。

    注册表信息的增删添改,系统上各类程序和文件的行为记录以及权限,实现网络连接的进程,使用的IP地址和端口号等

    使用Schtasks指令、sysmon、TCPView、WireShark等工具

    (2)如果在工作中怀疑一台主机上有恶意代码,请设计下你准备如何找到对应进程、恶意代码相关文件。

    首先使用静态分析将其上传至扫描网站。后使用TCPView工具查看正在联网的进程,进行的初步分析,再通过sysmon事件日志,找到怀疑的程序的日志记录,查看其详细信息。在运行该程序前后,分别进行快照,目的是查看它是否修改注册表或者文件。

    二、实践过程记录

    恶意代码的静态分析

    • 通过VirScan的行为分析来分析恶意代码:

    • 在扫描文件后等待片刻出现文件行为分析后点击查看分析:

    • 查看网络行为、注册表行为和其他行为:

    • 查看发现文件会有建立到一个指定套接字连接的行为,自行删除注册表键和值的行为,检测自身是否被调试的行为。

    PE explorer

    • 用PE explorer打开文件test1.exe,查看PE文件编译的一些基本信息,导入导出表等。

    • 点击一下上面的“导入表(Import)”,查看一下这个程序都调用了哪些dll文件:

    • ADVAPI32.dll文件是一个高级API应用程序接口服务库的一部分,调用这个dll可以实现对注册表的操控,
    • WSOCK32.dllWS2_32.dll这两个DLL用于创建套接字,即会发生网络连接。

    PEiD

    • PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。我们使用PEiD打开test1.exe来查看这个程序是否加壳。

    • Nothing found [Debug]没加壳?正常的编译会显示编译器,如果什么都没找到,说明可能不识别该编译器。
    • 可以查看反汇编之后的代码。

    Dependency Walker

    • Dependency Walker是一款Microsoft Visual C++ 中提供的非常有用的PE模块依赖性分析工具,可以查看 PE 模块的导入模块.查看 PE 模块的导入和导出函数.动态剖析 PE 模块的模块依赖性.解析 C++ 函数名称。
    • 我们使用这个软件打开test1.exe

    • Dependency Walker能更专业,更细致具体的分析dll文件,条理更加清晰细致,功能强大。

    • 通过查看DLL文件的函数,该可执行文件会删除注册表键和注册表键值。

    Tcpview

    • 可以用于查看进行网络连接的进程信息,所以我们可以通过查看每个进程的联网通信状态,初步判断其行为。

    SysTracer

    • 打开攻击机msfconsle,开放监听;win10下对注册表、文件、应用情况进行快照,保存为Snapshot #1
    • win10下打开木马test1.exe,回连kali,win10下再次快照,保存为Snapshot #2
    • kali中通过msf发送文件给win10靶机,win10下再次快照,保存为Snapshot #4
    • kali中对win10靶机进行屏幕截图,win10下再次快照,保存为Snapshot #3
    • 我们可以通过“compare”操作来比较每次快照文件的区别。

    • 对比Snapshot #1Snapshot #2,可以看到注册表里面出现了新的表项,开放了新的端口。

    • 安装到目标机时,文件内容监控发现多了个文件。

    • 对比一下Snapshot #4Snapshot #3。可以发现启动回连时注册表发生变化了,截屏时注册表也发生了一些变化。

    netstat命令设置计划任务

      • 在F盘中创建一个netstat5309.bat文件

        date /t >> f: etstat5309.txt
        time /t >> f: etstat5309.txt
        netstat -bn >> f: etstat5309.txt

      • 在任务计划程序中,新建一个触发器。

      • 上面内容可以显示我们连接的网络的时间和日期信息。
      • 将任务计划的操作选项栏的启动程序设为我们的netstat5309.bat,参数为>>f: etstat5309.txt,这样我们的网络记录信息netstat5309.txt就会保存在f盘下。

      • 创建完成后,运行任务,发现f盘下出现netstat5309.txt文件,但是没有显示出我们想要的网络连接记录信息,而是显示了“请求的操作需要提升”。
      • 用管理员权限运行,即可成功。

  • 相关阅读:
    jvm的代码缓存耗尽导致性能下降
    几次印象深刻的网上事故
    是时候对十二年的工作回顾了!
    基于GitLab的前端Assets发布体系
    元数据简介
    JSON和JSONP
    Javascript模块规范
    Javascript编程风格
    Require JS
    JavaScript的AMD规范
  • 原文地址:https://www.cnblogs.com/zym0728/p/6666428.html
Copyright © 2011-2022 走看看