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

1.实践目标

1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。

1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

使用schtasks指令监控系统运行

  • 每5分钟记录一下有哪些程序在连接网络,输入以下命令,每五分钟就会监测哪些程序在使用网络,并把结果记录在netstatlog.txt文档里,但是不显示记录的时间和日期,这可能不便于我们判断,要是想显示日期和时间,我们可以通过bat批处理文件来实现。
schtasks /create /TN 20155232netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

  • 在C盘要目录下建一个文件netstatlog.bat

下面是如何建立一个.bat文件(批处理文件)的过程:

  • 首先创建一个.txt文档并且将内容输入进去:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

  • 然后将文件另存为并且将名字修改为以.bat为后缀的名称,将保存类型改为所有文件。

  • 最后将此文件移到c盘根目录下:

  • 双击运行,打开控制面板->任务计划程序,找到我们的任务

  • 双击点开,找到操作,点击所有项里的属性选项,击详细信息,修改txt为bat。

  • 点击确定.可以看到记录文件netstatlog.txt中的记录有了日期和时间(每五分钟记录一次)

出现在上面的我都查了一下是什么东东!

本机ip:

使用excel工具将之前创建的文本文件导入数据,设置使用分隔符号 ,并勾选全部分隔符号。

对进程使用透视图:

查看外部网络连接:

做成一个条形图更为清晰:

使用sysmon工具监控系统运行

sysmon工具先要配置文件,一开始我直接用的是老师给的配置文件稍作修改:

<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">WeChat.exe</Image>
<Image condition="end with">360se.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>

问题

在cmd中输入安装指令提示错误信息

解决

在安装这个软件的过程中需要以管理员身份运行,在win10中点击

选中以管理员身份运行

在安装过程中出现,输入安装指令

Sysmon.exe -i C:\Sysmoncfg.txt

对sysmon进行安装:

出现错误提示

发现我的配置文件和Sysmon.exe在同一个文件夹中所以不需要加路径。

注意如果配置文件与sysmon.exe不在同一目录,需要输入配置文件的目录!!

安装成功~~:

启动sysmon之后可以在"运行"窗口输入eventvwr命令。打开应用程序和服务日志,根据Microsoft->Windows->Sysmon->Operational路径找到记录文件。

打开感兴趣的是事件进行分析:

  • 这个是事件3:运行有道云笔记在写博客哈哈哈啊~

  • 事件一是进程创建,在网上搜索了一下是个什么进程

  • 运行360浏览器:

  • 运行vm上的虚拟机:

  • 还找到了启动的自己制作的后门程序:

  • 这个是在cmd中使用命令打开了Windows事件管理器



使用virscan分析恶意软件

  • 在virscan网站上查看上次实验所做的后门软件的文件行为分析:

点进去文件信息不知道为什么什么都没有????

于是打开英文那个版本的试验一波~

好像也分析不出来什么呀。。。。。~就是文件的一些基本信息。。。

使用systracer工具分析恶意软件

安装好systracer后进行快照,分别进行三次快照

  • 未安装后门
  • 植入后门后进行回连
  • 回连之后使用dir命令

进行了三次系统快照,结果如下:

对比1.2两种:

第一种情况下搜所不到我的后门软件:

将恶意软件植入到目标主机后,可以通过快照发现文件中多了一个20155232.exe文件,

第三种情况:启动回连时,新建了20145236_backdoor.exe应用,可以看见它启用了许多DLL文件

再观察可以看到 本地地址是我windows的地址,而远程地址是植入后门的虚拟机的ip地址,端口号是当时设置的5232:

使用wireshark抓包分析

我用wireshark捕获了我的某个后门程序回连时的数据。

这个是我的虚拟机IP和主机IP建立TCP连接抓的包:

虚拟机ip是192.168.128.133

主机ip是192.168.128.1

这里显示了目的端口号是我的学号~:5232

先进行了TCP的三次握手,之后再进行数据的传输,

如下图带有PSH,ACK的包传送的便是执行相关操作指令时所传输的数据包:

通过

netstat -n

看到5232端口已经打开,并且可以看到主机和虚拟机的ip地址:

使用PE explorer

我们使用PEexplorer打开我们的后门程序,界面如下:

可以看到程序的一些数据:

我觉得在pe这个软件比较偏向于程序内部的分析,而且更多的是静态的分析,没有动态的分析更为透彻,更为全面。

实验后问题回答

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

可以通过查看网络连接、端口使用情况进行分析。

还有本次实验中学到的隔一个固定时间运行一次控制台的netstat命令。

通过sysmon监控几乎所有的重要操作,并在事件查看器中找到日志查看

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

启动程序,利用systracer及wireshark动态分析程序的执行过程。

还可以使用process explorer工具,查看该进程的网络连接情况,以及线程、执行等信息。

实验总结与体会

这次实验主要是需要学会看懂各个监控,分析工具中数据的代表意义,从而分析和判断恶意程序,实验本身不难,主要就是分析有难度,所以需要继续加强对恶意代码各种类的特点进行学习,从而能够更容易发现系统中所存在的一些异常行为,才能将理论运用在现实中嘛~哈哈

20155232《网络对抗》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. Sofware-Engineering Zero

    第一部分:结缘计算机 与大部分同学一样,也是刚刚进入大学才接触编程,在第一堂C语言课上敲下了第一行属于自己的代码""Hello World",然后在摸索中开始自己的Cod ...

  2. 【Python】多线程

    import threading import time class myThread (threading.Thread): #继承父类threading.Thread def __init__(s ...

  3. OneASP 安全公开课,深圳站, Come Here, Feel Safe!

    在这个世界上,一共有两种公司:一种被「黑」过,另一种,不知道自己被「黑」过. 在安全攻击频发的今天: 如何构建完善的安全防护壁垒? 如何借助威胁情报改善安全态势? 如何检测新形式下的漏洞? 答案,就在 ...

  4. [原创]RedHat 安装MySQL数据库

    朋友购买了阿里云的服务器,服务器上自带有CentOS操作系统,但是开发软件需要自己安装,接下来将介绍本地RedHat Linux 5.10虚拟机上搭建Mysql数据库. 一.软件准备 (1)jdk-6 ...

  5. Character Sets: Migrating to utf8mb4 with pt_online_schema_change

    David Berube  | June 12, 2018 |  Posted In: MySQL Modern applications often feature the use of data ...

  6. 解决:Tomcat 局域网IP地址 访问不了

    解决:Tomcat 局域网IP地址 访问不了 2014年10月17日 ⁄ 综合 ⁄ 共 1000字 ⁄ 字号 小 中 大 ⁄ 评论关闭 如果连最基本的localhost:8080都失败的话. 原因就一 ...

  7. PHP 定界符

    双引号和单引号是常用的字符串定界符,在php4.0以后 还可以使用字符串定界符<<<,功能和双引号差不多,用法如下 <<<标识符 字符串 标识符 其中最后的标识符必 ...

  8. Spark 集群搭建

    0. 说明 Spark 集群搭建 [集群规划] 服务器主机名 ip 节点配置 s101 192.168.23.101 Master s102 192.168.23.102 Worker s103 19 ...

  9. vbs常用函数

    aa '删除文件夹 sub DeleteFolder(objFolder) call OutputLog(objFolder.Path,true) err.Clear On Error Resume ...

  10. ndroid动态创建按钮并添加事件

    public class MyActivity extends Activity { /** * Called when the activity is first created. */ @Over ...