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

问题回答

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

  • 监控一个系统通常需要监控这个系统的注册表,进程,开放端口,程序服务还有文件的添加和删除情况等。
  • 使用一些软件比如本次实验用到sysmon、SysTracer v2.10等工具读取系统的注册表,进程表等信息来实现实时监测。

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

  • 先对当前情况快照,然后重启计算机,对计算机的注册表,进程,端口,服务等内容进行检测,通过观察注册表,进程等内容的变化筛选出可疑的对象,然后针对可疑的对象使用抓包工具具体分析,看看有没有连接未知IP地址等的可疑操作,分析数据包是否有可疑内容。找到该程序后可以通过VirScan网站的行为分析、PE explorer、PEiD等工具来分析其行为、编译信息等以此来判断其是否为恶意代码。

实验总结与体会

  • 本次实验我们用多个工具静态或动态分析了恶意代码的行为或操作,分析了系统的联网情况等。有很强的实践意义,在今后使用计算机遇到疑似恶意代码,我们可以通过通过VirScan网站的行为分析、PE explorer、PEiD等工具来分析其行为、编译信息等以此来判断其是否为恶意代码。同时我们也要经常保存系统快照,发生异常情况时可以有个比对。

实践过程记录

通过VirScan网站的行为分析来分析恶意代码

  • 上传之前实验生成的后门程序到VirScan网站,扫描后生成行为分析表

  • 可以看到VirScan网站分析出该后门程序有建立一个指定的套接字连接,删除注册表键,删除注册表键值,检测自身是否被调试,创建事件对象等行为。但是蔡野同学的博客通过对比两次的后门程序(前者是不能免杀的,后者是可以免杀的)分别分析后,发现可免杀的没有检测出具体行为,可见只通过网站对恶意代码进行分析是不够的。

使用分析软件动态分析

PE explorer

  • 使用这个软件打开后门程序NewShellcode-5312.exe查看一些基本信息和导入导出表等:

  • 查看程序头文件信息,可以看到程序节头的信息和一些指向操作信息

  • 可以看到程序引入了哪些dll

  • 通过反汇编指令去反汇编程序,得到一个大致的程序汇编语言:

PEiD

  • 使用PEiD查壳,可以看到壳和编译器信息为Visual C++ 8.0[Debug]

Sysinternals工具集

  • Windows Ssinternals工具集,是微软发布的一套非常强大的免费工具程序集。
TCPview工具
  • TCPview可以查看系统中的TCP连接的进程

  • 可以看到百度拼音,explorer,湖南TV建立了很多TCP连接,从中可以看到目的ip和端口等信息。
sysmon工具
  • 安装sysmon,参考http://www.freebuf.com/sectool/122779.html上面的模板来配置sysmon,但将模版第一行的版本号改为3.10。

  • 可以使用sysmon -c查看配置:

  • 进入事件查看器查找日志,然后进入sysmon日志查看信息。

  • 主要有一下几个应用程序的服务日志

  • backgroundTaskHost进程属于照片应用的进程,CPU占用达到了很高的比率。

  • 又是百度拼音

  • Searchfilterhost.exe进程,大量占用系统的CPU和内存资源,它的作用是在搜索文件时提供服务。

  • QQ软件管理守护程序了,基本上是安全的。

SysTracer v2.10

  • 点击进入后我们默认选择扫描所有,点击start等待快照完成即可。
在正常情况下,我们在win7虚拟机下快照保存为Snapshot #5312-1;
Kali生成相应的后门,将文件通过ncat传到win7虚拟机下后快照保存为Snapshot #5312-2;
Kali开启msf监听,在win7下运行后门程序后快照保存为Snapshot #5312-3;
Kali对win7虚拟机进行截图后,在win7下快照保存为Snapshot #5312-4;
  • Snapshot #5312-1与Snapshot #5312-2比较

  • 传输文件过后注册表发生变化;C盘新增了我们传输的文件:



  • Snapshot #5312-2与Snapshot #5312-3比较

  • Kali回连成功后,可以看到运行的程序中多了NewShellcode-5312.exe,以及它的开放端口和服务

  • Snapshot #5312-3与Snapshot #5312-4比较

  • 截屏后,注册表信息又发生变化

wireshark捕包分析

  • 捕捉win 10主机与Kali的通信数据信息:
  • Kali的IP地址:192.168.169.128
  • Win10在以太网适配器 VMware Network Adapter VMnet8中的IP:192.168.137.1
  • 使用nc传输数据

  • 使用wireshark捕捉到TCP会话





  • 可以看到明文通信内容:hi、hello、im 20145312,以及端口5312和源/目的IP地址等信息

计划任务并记录联网行为

  • 新建触发器

  • 创建完成,我们运行这个任务,发现5312下出现我们的txt文件,但是没有显示出我们想要的网络连接记录信息,而是:请求的操作需要提升,右键netstat5312.bat,点击管理员权限运行,即成功。



20145312《网络对抗》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. 如何理解精通PHP ?

    「精通 PHP」可以理解为以下三个: 精通「PHP 解析器 精通「PHP 语法.函数(这门语言) 精通「PHP 项目开发 1 精通「PHP 解析器」 可以从这里开始学习: PHP核心:骇客指南 :ht ...

  2. bzoj 3307 雨天的尾巴

    题目链接:传送门 题目大意:中文题,略 题目思路:网上有题解说是合并线段树的,但是太难蒟蒻不会,只能用树剖求解 如果不是树而是一维数组我们会怎么解? 当然是利用前缀和思想标记 (L) v+1,(R+1 ...

  3. 使用object literal替换switch

    提问: 1.为什么要使用switch方法  ==> (替换冗长的if和else判断) 2.什么场景下使用 ==> (在判断布尔值的) 3.switch有什么优点 ==> (简化了代码 ...

  4. android 点九工具介绍

    1=============================9.png简介:“点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png android平台有多种不同的 ...

  5. git下载和上传项目

    首先是git的下载和安装: https://www.cnblogs.com/chenxqNo01/p/6372933.html git的简单使用: 从码云 clone 项目: git clone ht ...

  6. Oracle预定义的21个系统异常类型

    命名的系统异常 产生原因 ACCESS_INTO_NULL 未定义对象 CASE_NOT_FOUND CASE 中若未包含相应的 WHEN ,并且没有设置 ELSE 时 COLLECTION_IS_N ...

  7. Nexus私有仓库简介

    1.    Nexus中的仓库 1.1  类型介绍 登陆Nexus,在左边菜单栏里选择Repositories,然后会出现右边的画面,右边上半部分是列出来的repository,黑体字是类型为grou ...

  8. 委托(Func与Action)

    1.平时我们如果要用到委托一般都是先声明一个委托类型,比如: private delegate string Say(); string说明适用于这个委托的方法的返回类型是string类型,委托名Sa ...

  9. 基于JDK1.8的LinkedList源码学习笔记

    LinkedList作为一种常用的List,是除了ArrayList之外最有用的List.其同样实现了List接口,但是除此之外它同样实现了Deque接口,而Deque是一个双端队列接口,其继承自Qu ...

  10. 关于string的length

    在C++里面,std::string的length()返回的是字节数,与编码方式有关. int main() { std::string s = "我是中国人"; std::cou ...