20155327 李百乾 Exp4 恶意代码分析

基础问题回答

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

我想了解的大概有

修改了哪些注册表

创建了哪些进程

占用了哪些端口

修改、查看了哪些文件

连接了哪些网络

监控方法:

可以定时让主机执行netstat然后分析,发现网络连接异常

可以利用Sysmon,编写配置文件,记录与自己关心的事件有关的系统日志

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

可以利用Wireshark等网络工具查看是否存在可疑连接

可以利用工具Systracer拍摄快照,比对前后区别,分析改变的注册表及文件等信息。

实验步骤

一、系统运行监控

(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

第一步:在windows命令行下输入命令:schtasks /create /TN 20155312netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

创建成功结果如下:

第二步:在C盘要目录下建一个文件c:\netstatlog.bat

先创建一个netstatlog.txt文件,编辑文件内容如下:

date /t >> c:\netstatlog.txt

time /t >> c:\netstatlog.txt

netstat -bn >> c:\netstatlog.txt

保存后修改文件名为“netstatlog.bat”;

粘贴到C盘中,这是需要用管理员权限;

第三步:编辑任务操作:

1.进入任务计划程序:“win+c”选择“设置”->进入“控制面板”->选择“管理工具”->进入“任务计划程序”

2.找到我们的任务20155312netstat,双击点开

3.点击下方“操作”->右侧所选项栏中“属性”->属性页面上方的“操作”

4.双击任务进入“编辑操作”界面

5.在程序脚本处点击“浏览”->选择刚才创建的“netstat.bat”,“参数可选项”为空,

6.点击“确定”完成修改,详细信息处如下图:

7.查看netstat.txt文件,已经有了时间的记录,至此完成了任务的创建:

第四步:等待;

第五步:用excel分析数据。

待分析数据如下:

第六步:对数据进行统计学分析:

1.首先查看所有联网程序的联网次数,统计图进行分析如下:

(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

写配置文件。

写与自己想要监控的事件想对应的配置文件,创建配置文件20155327Sysmoncfig.txt内容如下:

<Sysmon schemaversion="3.10">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
</ProcessCreate> <FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
</FileCreateTime> <NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect>
<NetworkConnect onmatch="include">
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">443</DestinationPort>
</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>

exclude相当于白名单,不用记录。include相当于黑名单。

3.把配置文件放在C盘下。

第三步: 启动sysmon。

1.下载老师提供的SysinternalsSuite201608压缩包,解压。

2.在命令提示符(管理员)中进入到该目录下。win8中用管理员身份运行cmd方法:使用“win+x”调出win8开始菜单->选择“命令提示符(管理员)”

如果没有以管理员身份运行安装指令,安装后会提示:“You need to launch Sysmon as an Administrator.”如下图。且在第四步中将无法找到Windows下的Sysmon。

2.安装sysmon:执行命令sysmon.exe -i C:\20155312Sysmoncfig.txt,这里注意要把配置文件名换成自己的。

3.这里弹出的窗口点击agree:

4.成功安装的结果

第四步: 在事件查看器里查看日志

右键进入计算机管理,找到事件查看器。点击“事件查看器”右侧小箭头,选择日志的位置:应用程序和服务日志/Microsoft/Windows/Sysmon/Operational。利用Sysmon具体分析日志的例子我选择了自己实验二中生成的后门5327back_door.exe进行分析。



二、恶意软件分析

第一步:下载安装Systracer。

1.首先下载完成后进行安装,步骤为:agree->选第二个(全面点总不会有错吧)

->设置监听端口号(我设成了后门生成时利用的端口)

->安装完成

2.在打开后门前先快照一下,点击“take snapshot”,如图,按照以下步骤进行:

完成后显示Snapshop #1

3.Kali打开msfconsole,完成相关设置后开始监听,Windows运行后门后,拍摄快照:

完成后显示Snapshop #2

4.进行分析:

①点击上方“Applications”->左侧“Running Processes”->找到后门进程“zjy_backdoor.exe”->点击“Opened Ports”查看回连地址、远程地址和端口号:

②在快照界面“Snapshots”右下角点击“Compare”,比对一下回连前后计算机发生的变化:



5.在kali中进行屏幕截图,再次快照,保存为Snapshot #3



再次对比分析

使用VirusTotal分析恶意软件

1.把生成的恶意代码放在VirusTotal进行分析如下:

2.可以查看这个恶意代码的基本属性:

3.恶意代码的算法库情况:

20155327 李百乾 Exp4 恶意代码分析的更多相关文章

  1. 20155327李百乾 Exp3 免杀原理与实践

    20155327李百乾 Exp3 免杀原理与实践 实践guocheng 一.Msfvenom使用编码器 1.利用(virustota)[https://www.virustotal.com/]检测实验 ...

  2. 20155327李百乾《网络对抗》逆向及Bof基础

    20155327李百乾<网络对抗>逆向及Bof基础 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任 ...

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

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

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

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

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

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

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

    - 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP ...

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

    Exp4 恶意代码分析 实验内容 一.基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. •使用w ...

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

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

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

    目录 Exp4 恶意代码分析 一.基础问题 问题1: 问题2: 二.系统监控 1. 系统命令监控 2. 使用Windows系统工具集sysmon监控系统状态 三.恶意软件分析 1. virustota ...

随机推荐

  1. PyQt4(简单界面)

    import sys; from PyQt4 import QtCore, QtGui; app=QtGui.QApplication(sys.argv); widget=QtGui.QWidget( ...

  2. jsp小后门

    一:执行系统命令: 无回显执行系统命令: 1 <%Runtime.getRuntime().exec(request.getParameter("i"));%> 请求: ...

  3. ASP.NET MVC实现通用设置

    网站中的设置实现方式有好几种,其中有将设置类序列化然后保存到文件中(例如使用XML序列化然后以XML形式保存在文件中),或者将设置信息保存到数据库中. 保存到数据库中的方式就是将设置的项作为key,设 ...

  4. 可以触发点击事件并变色的UILabel

    可以触发点击事件并变色的UILabel 谁说UILabel不能够当做button处理点击事件呢?今天,笔者就像大家提供一个改造过的,能够触发点击事件并变色的UILabel:) 效果图: 还能当做计时器 ...

  5. Laravel 实践之路: 数据库迁移与数据填充

    数据库迁移实际上就是对数据库库表的结构变化做版本控制,之前对数据库库表结构做修改的方式比较原始,比如说对某张库表新增了一个字段,都是直接在库表中执行alter table xxx add .. 的方式 ...

  6. 内置函数 sorted

    内置函数 sorted 语法: sorted(iterable,key = None,reverse= false)iterable: 可迭代的对象key:排序规则(排序函数),在sorted内部将& ...

  7. 手动安装gradle

    在学习andorid studio时发现编译超级无比的慢,网上有文说是因为gradle的原因,使用离线gradle可以大幅提高编译速度,准备尝试下看看如何.由于gradle的资料都是英文,而我又是英文 ...

  8. JDK源码学习LinkedList

    LinkedList是List接口的子类,它底层数据结构是双向循环链表.LinkedList还实现了Deque接口(double-end-queue双端队列,线性collection,支持在两端插入和 ...

  9. 【cs231n】图像分类-Linear Classification线性分类

    [学习自CS231n课程] 转载请注明出处:http://www.cnblogs.com/GraceSkyer/p/8824876.html 之前介绍了图像分类问题.图像分类的任务,就是从已有的固定分 ...

  10. Sequelize-nodejs-1-getting started

    Sequelize is a promise-based ORM for Node.js v4 and up. It supports the dialects PostgreSQL, MySQL, ...