2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析
2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析
实验要求
监控你自己系统的运行状态,看有没有可疑的程序在运行。
分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
基础问题
1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 使用schtasks监视主机,然后统计可以的IP号和可疑的联网程序
- 或者使用Sysmon,编写配置文件,记录联网端口的操作
- 使用Process Monitor工具,主要监视注册表的变化
2.如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 使用wireshark进行抓包获取这个进程的通信
- 使用PIED查看是否加壳
- 在Virus Total中对程序进行扫描
- 使用systracer进行分析,对比运行程序或进程前后发生的变化
实验内容
1. 系统运行监控(2分)
1.1使用schtasks监控系统
在本机中使用`schtasks /creat /TN /netstat5205 /sc MINUTE /MO 1 /TR"cmd /c netstat -bn > c:\netstatlog.txt"创建计划任务netstat5205
- TN 指定任务名称
- sc 指定记录间隔时间,这里规定每隔一分钟记录一次
- TR 指定运行命令
- bn b指记录可执行文件名,n指记录端口和IP
>输出到指定文件
C盘下创建
netstat5205.bat脚本文件,写入以下内容date/t >> c:\netstatlog.txt
time/t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
在开始中搜索任务计划程序,找到我们刚刚创建的任务,双击,点击操作,修改,把“程序或脚本”改为
netstat5205.bat,然后确定

执行8个小时后进行统计,在excel表中统计所有的exe进程的联网动态



修改统计范围

可以看到

其中360,wps,WeChat,vm,输入法,浏览器是我可以看懂的,其他
- jucheck.exe是java软件的检测升级进程,
- SCMiNi64.exe,这个我没有怎么查到,查到的只是说这个硬件的运行程序
- SGTool.exe 搜狗输入法运行的进程之一
- svchost.exe 是从动态链接库 (DLL)中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要
1.2使用sysmon工具监控系统
重点监控进程创建,网络连接和远程线程创建
命令行安装
sysmon -accepteula -i -n

创建配置文件
Sysmon20165205.xml<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">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<Image condition="end with">firefox.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
<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">firefox.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread> <ProcessCreate onmatch="include">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<Image condition="end with">firefox.exe</Image>
</ProcessCreate> <FileCreateTime onmatch="exclude" >
<Image condition="end with">firefox.exe</Image>
</FileCreateTime> <FileCreateTime onmatch="include" >
<TargetFilename condition="end with">.tmp</TargetFilename>
<TargetFilename condition="end with">.exe</TargetFilename>
</FileCreateTime> </EventFiltering>
</Sysmon>
重点监视80和443端口,和浏览器等联网应用
sysmon -c Sysmon20165205.xml完成配置打开exp3中的后门程序,可以看到捕捉到了后门程序和360的信息,还有未关闭的netatat:



还有SearchFilterHost:是系统自带的搜索服务:

dllhost这个程序与svhost有关,貌似也是系统程序之一:

2. 恶意软件分析(1.5分)
2.1使用Virus Total分析恶意软件
- 对实验3中的恶意代码进行检测:
- 在Details处可以看到基本属性:SHA-1、MD5摘要值、文件类型、文件大小


2.2使用Process Monitor分析恶意软件
- 捕捉到各个进程的详细信息

2.3使用Process Explorer分析恶意软件
- 运行后门程序,可以看到对后门程序的记录

2.4使用PEiD分析恶意软件
- 分别对加壳和未加壳的程序进行检测


2.5使用systracer分析恶意软件
安装SysTracer软件后,记录各个后门操作,进行对比
- 未植入后门,记录Snapshot#1
- 后门回连,记录Snapshot #2
- 后门记录键盘,记录Snapshot #3
- 后门查看文件,记录Snapshot #4

比较 Snapshot#1和Snapshot #2

可以看到新增文件、目录,甚至是密钥(还是口令,这里的Key我不太清楚值什么)

在C:\windows\system32下新增许多dll文件
比较 Snapshot#2和Snapshot #3

攻击机读取目标机的键盘记录,这里可以看到新增文件与输入有关比较 Snapshot#3和Snapshot #4

攻击机读取目标机的目录,这一点我是没看出来新增了的是什么意思。
实验体会
- 在实验中我花了大半天来监视电脑天天都在干什么,通过excle表的分析,最终发现本来自己认为网络通信不多的程序比如wps,其实在不知不觉中进行了许多网络通信。
- 在分析中因为自己对各种文件的不熟悉,很多文件不知道的做什么的,只能一个一个查,有些百度出来的结果还不一样,搞得我都不知道这些程序是安全的还是伪装安全的了
- 通过自己动手实践,在后门程序做了很多记录,发现一个后门程序,尤其的攻击方有操作时,后门程序会做很大的手脚,也难怪自己的后门会被360发现了
2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析的更多相关文章
- 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析
2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...
- 20145226夏艺华 网络对抗技术EXP4 恶意代码分析
20145226夏艺华 网络对抗技术EXP4 恶意代码分析(未完成版) 回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作 ...
- 20155302《网络对抗》Exp4 恶意代码分析
20155302<网络对抗>Exp4 恶意代码分析 实验要求 •是监控你自己系统的运行状态,看有没有可疑的程序在运行. •是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工 ...
- 20145208 蔡野 《网络对抗》Exp4 恶意代码分析
20145208 蔡野 <网络对抗>Exp4 恶意代码分析 问题回答 总结一下监控一个系统通常需要监控什么.用什么来监控. 监控一个系统通常需要监控这个系统的注册表,进程,端口,服务还有文 ...
- 20145215《网络对抗》Exp4 恶意代码分析
20145215<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用 ...
- 20155227《网络对抗》Exp4 恶意代码分析
20155227<网络对抗>Exp4 恶意代码分析 实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分 ...
- 20155232《网络对抗》Exp4 恶意代码分析
20155232<网络对抗>Exp4 恶意代码分析 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...
- 20155239 《网络对抗》Exp4 恶意代码分析
20155239 <网络对抗>Exp4 恶意代码分析 使用schtasks指令监控系统运行 先在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到nets ...
- 20155304《网络对抗》Exp4 恶意代码分析
20155304<网络对抗>Exp4 恶意代码分析 实践内容 1.系统运行监控 1.1使用schtasks指令监控系统运行 我们在C盘根目录下建立一个netstatlog.bat的文本文件 ...
- 20155308《网络对抗》Exp4 恶意代码分析
20155308<网络对抗>Exp4 恶意代码分析 实践说明 实践目标 是监控你自己系统的运行状态,看有没有可疑的程序在运行. 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件: ...
随机推荐
- deemo
第一部分:结缘计算机 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 因为亲戚的推荐,就业前景好.个人条件的话,算一般.与其他博主相比还是有些差距的. 第二部分:在计算机系里学习 你对你 ...
- liunx问题集
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB 1.wget -i -c http://dev ...
- 学习笔记TF057:TensorFlow MNIST,卷积神经网络、循环神经网络、无监督学习
MNIST 卷积神经网络.https://github.com/nlintz/TensorFlow-Tutorials/blob/master/05_convolutional_net.py .Ten ...
- js获取世界不同时区的当前时间
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 对thinkphp5.0框架的实例学习
不论是渗透测试还是代码审计的过程中会碰到用不同的框架搭建起来的网站,熟悉这些框架的基本原理,会帮助我们快速的理解漏洞原理,提高干活效率,所以自己本地搭了个php环境,来入门实例学习下thinkphp5 ...
- java 线程理解
import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util. ...
- Python 入门级报错处理
问题1:Missing parentheses in call to 'print' 原因:因为Python2.X和Python3.X不兼容.我安装的是Python3.X,但是我试图运行的却是Pyth ...
- maven依赖冲突
https://blog.csdn.net/noaman_wgs/article/details/81137893
- windows的github教程
如何向github提交变更1. 在github上面创建project,获得git地址:2. 来到windows,首先安装git:3. 在目标目录下:git clone https://github.c ...
- oracle 远程连接
oracle中如何修改用户名和密码 1.以Windows操作系统为例,打开命令提示符,输入命令sqlplus /nolog ,进入oracle控制台,并输入 conn /as sysdba;以DB ...