20145317《网络对抗》Exp4 恶意代码分析

一、基础问题回答

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

通常监控以下几项信息:

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

用以下软件工具来监控:

  • TCPview工具查看系统的TCP连接信息
  • wireshark进行抓包分析,查看网络连接
  • sysmon用来监视和记录系统活动,并记录到windows事件日志,提供文件、进程等的详细信息

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

  • 使用tcpview工具检测有哪些程序在进行网络连接
  • 使用PE解析软件查看可疑进程的详细信息,查看其是否加壳,分析调用的DLL及其函数用途
  • 去专业网站扫描可疑进程,查看测评分数与信息
  • 使用快照分析进程对系统做了哪些改变,新增文件
  • 使用抓包软件分析进程网络连接传输的数据
  • 使用Dependency Walker来分析是否有关于注册表的异常行为等。

二、实践过程记录

恶意代码的静态分析

  • 通过VirScan的行为分析来分析恶意代码20145317backdoor.exe

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

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

PE explorer

  • 用PE explorer打开文件20145317backdoor.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++ 函数名称。
  • 我们使用这个软件打开

  • 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命令设置计划任务

    • 在e盘中创建一个netstat5317.bat文件

      date /t >> e:\netstat5317.txt
      time /t >> e:\netstat5317.txt
      netstat -bn >> e:\netstat5317.txt

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

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

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

20145317《网络对抗》Exp4 恶意代码分析的更多相关文章

  1. 2018-2019 20165237网络对抗 Exp4 恶意代码分析

    2018-2019 20165237网络对抗 Exp4 恶意代码分析 实验目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...

  2. 2018-2019 20165235 网络对抗 Exp4 恶意代码分析

    2018-2019 20165235 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件 ...

  3. 2018-2019 20165319 网络对抗 Exp4 恶意代码分析

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

  4. 2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 Week6 20165311

    2018-2019 20165311 网络对抗 Exp4 恶意代码分析 2018-2019 20165311 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控(2分) 恶意软件分析(1.5分) ...

  5. 20155207 《网络对抗》exp4 恶意代码分析 学习总结

    20155207 <网络对抗> 恶意代码分析 学习总结 实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件 ...

  6. 20155207王雪纯《网络对抗》Exp4 恶意代码分析

    20155207 <网络对抗> 恶意代码分析 学习总结 实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件 ...

  7. 20155338《网络对抗》 Exp4 恶意代码分析

    20155338<网络对抗>恶意代码分析 实验过程 1.计划任务监控 在C盘根目录下建立一个netstatlog.bat文件(先把后缀设为txt,保存好内容后记得把后缀改为bat),内容如 ...

  8. 2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...

  9. 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析

    2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...

随机推荐

  1. MySQL异步复制

    准备:主备库版本一致,正常安装软件. 1.主库上设置一个复制使用的账户: mysql> grant replication slave on *.* to 'rep1'@'192.168.100 ...

  2. Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

    一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该 ...

  3. django model field validator 设置

    转自:http://blog.csdn.net/cwjcwj520/article/details/17330845 例子为想在创建用户名的时候验证输入字符是否有效,并且插入了even_field为C ...

  4. python requests模块的两个方法content和text

    requests模块下有两个获取内容的方法,很奇怪,都是获取请求后内容的方法,有什么区别呢?? 一.区别 content:返回bytes类型的数据也就是二进制数据 text:返回的就是纯文本(Unic ...

  5. 2018/03/18 isset、empty、is_null的区别

    在平常的工作中,判断一个值是否为空的情况时,会直接使用 if ($var) 这种形式,有时也会使用这三个函数进行比较,但是当时也没有很深入的学习. -- 还是通过实例来判断这几个的用法和场景 首先定义 ...

  6. LoadRunner-关联(自动关联和手动关联)

    使用LR录制脚本,新建课程:每次新建课程都会产生一个新的courseid和partid,直接使用录制的脚本执行是不行的.所以用到了关联. 注:关联分手动和自动关联,自动关联搜索出一些不必要关联的数据, ...

  7. 洛谷P4437 排列 [HNOI/AHOI2018] 贪心

    正解:贪心 解题报告: 传送门! 发现做题龟速,,,所以懒得写题目大意辣自己get一下QAQ 首先看到ai<=n,又当ai=j时j在i的前面,所以就变成对于每个点i有一个约束,即要求第ai个节点 ...

  8. 几种常用CSS3样式

    在我们日常工作中,由于考虑到浏览器的兼容性,所以很少用CSS3样式.关于其标准,W3C 仍然在对 CSS3 规范进行开发.不过,现代浏览器已经实现了相当多的 CSS3 属性.最近学习了CSS3,发现功 ...

  9. Core Data with Mantle

    Mantle makes it easy to write a simple model layer for your Cocoa or Cocoa Touch application.  Mantl ...

  10. 让Logstash每次都从头读文件及常见问题

    input { file { path => ["/data/test.log"] start_position => "beginning" si ...