2018-2019-2 20165313 《网络对抗技术》Exp4 恶意代码分析
一、实践目标
1.监控你自己系统的运行状态,看有没有可疑的程序在运行。
2.分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
3.假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
二、实践内容(3.5分)
2.1系统运行监控(2分)
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。
2.2恶意软件分析(1.5分)
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时,该后门软件
(3)读取、添加、删除了哪些注册表项
(4)读取、添加、删除了哪些文件
(5)连接了哪些外部IP,传输了什么数据(抓包分析)
三、实践步骤
1.系统运行监控
使用schtasks指令监控系统运行:
(1)在D盘下新建一个文本文档,输入下列内容后,更名为netstatlog.bat
date /t >> D:\netstatlog.txt
time /t >> D:\netstatlog.txt
netstat -bn >> D:\netstatlog.txt
以管理员身份运行powershell,输入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "d:\netstatlog.bat",创建一个每隔两分钟记录计算机联网情况的任务

短时间记录与分析:

这些回环地址的可以抛弃,重点关注别的地址链接:

由443,80端口可以猜测应该是链接某些服务器,简单查询了一下:



但仅仅凭借这几个IP地址,并不能有实质性的了解,所以还需要进一步监测分析。
长时间记录与分析:(操作细节详见学姐博客)



从图表中可以看出:ali213_box.exe运行次数最多,查了一下是游侠云盒(果然是游戏软件)
2.使用sysmon工具
(1)下载并安装,创建配置文件,并放到Sysmon.exe目录中。注意:这里老师给的代码需要修改:<Sysmon schemaversion="3.10">中的3.10要根据实际修改,我的版本是4.20,所以修改为
<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>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</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>
(2)以管理员身份运行powershell,在对应路径下运行.\Sysmon.exe -i .\Sysmoncfg.txt,以安装Sysmon

(3)在事件查看器中的应用程序和服务日志下,查看Microsoft->Windows->Sysmon->Operational。

(4)后门程序运行分析:


根据这则日志:可以发现是我的后门程序,通过本地端口58024向IP为192.168.43.56的5313端口发送TCP请求链接。
3.恶意软件分析
一、文件扫描
(1)使用virscan分析恶意软件:

查看其行为分析:

该后门用了kernel32.dll和msvcrt.dll两个链接:kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。而msvcrt.dll是微软在windows操作系统中提供的C语言运行库执行文件(Microsoft Visual C Runtime Library),其中提供了printf,malloc,strcpy等C语言库函数的具体运行实现,并且为使用C/C++(Vc)编译的程序提供了初始化(如获取命令行参数)以及退出等功能,我们基本上每个C程序都会用到。
二、工具分析
(1)使用systracer工具分析恶意软件
我分别创建了三个快照:
1.初始状态,2.成功回连,3.远程操作,4.结束链接:

快照分析
(1)对比第一张和第二张不难发现:
1.增加了后门程序并获取了windows桌面权限,还有很多增加或删减的键值,增加或删减的.dll文件。
2.通过TCP建立了链接。


(2)二,三两张比较:发现其中有大量文件被删除后加载,或加载后再删除,大胆猜测可能和获取权限调用有关




(3)三、四比较:结束TCP链接,并新增回环

(2)使用wireshark分析:在恶意软件回连时,可以用wireshark捕捉通信内容。
先输入表达式ip.addr==192.168.43.56and tcp过滤掉不需要的内容接着就可以看到恶意软件回连的通信信息,可以看到先进行了TCP三次握手:

着可以看到攻击机向靶机传送代码:

(3)使用Process Explorer分析恶意软件:打开TCP/IP信息

这是实时运行时出现的线程,我们尝试KIll掉,我们会发现Kali机也失去了链接:


实践问题回答
如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
(1)我们可以使用一些工具帮助自己监测系统,可以实时监控电脑上的端口信息,如果受到怀疑的恶意代码启动的时候连接了一些看起来很可疑的端口,就可以进一步进行分析。
(2)我们可以通过在windows下建立一个监测本机连接ip地址的任务计划程序。
(3)可以通过sysmon监控几乎所有的重要操作,并在事件查看器中找到日志查看。
2.如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
(1)PE explorer工具,它可以对程序调用库等信息进行分析查看,还可以对其反汇编。
(2)PEiD工具,可以查看程序有没有被常用的加壳软件加壳。
(3)启动该程序,利用systracer及wireshark动态分析程序动向。
(4)利用wireshark抓包分析
实践感想
本次实践内容操作并不困难,但却很耗费时间,这就需要我们拥有足够的耐心。分析数据是一件枯燥乏味的事情,但当我们真正理解了数据背后的含义,则会收获很多。对于计算机方面的较量肯定会不断升级,而我们要做的就是学会利用现有的资源进行深入,深刻的学习。
当然在本次实践中,由于水平的限制,我对于某些概念的理解并没有那么透彻,这就需要我继续努力。
2018-2019-2 20165313 《网络对抗技术》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中生成后门软件: ...
随机推荐
- 算法面试题(python)——如何找出数组中出现一次的数
题目描述: 一个数组里,除了三个数是唯一出现的,其余的数都出现了偶数次,找出这三个数中任意一个.比如数组序列为[1,2,4,5,6,4,2],只有1.5.6这三个数字是唯一出现的,数字2.4均出现了偶 ...
- HDU2138(Miller-Rabin素数检测)
最近在看RSA,找到一个一个大素数是好多加密算法的关键一步,而大素数无法直接构造,一般情况下都是生成一个随机数然后判断是不是素数.判断是否是素数的方法有好多,有的能够准确判断,比如可以直接因式分解(R ...
- RN开发第二天
今天上午配置了windows的Android的环境,下载node,Python,安装Android SDK和Android studio,JSK,然后配置用户变量和系统变量,然后npm install ...
- windows2012的服务器远程桌面提示内部错误的问题解决方法
一.问题表象 我们在OpenStack安装了windows server2012r2版本的虚拟机,在本地通过远程桌面连接时,输入账号密码后,提示连接断开或者内部错误的问题 二.解决办法 1)windo ...
- C# 8.0 抢先看-- Async Stream
异步流? Async Stream 简单说来是一种非同步的迭代器模式,说更白一点就是可以await 的foreach.在过去的C# 中如果要回传一个可迭代的IEnumerable<T> , ...
- mysql 自定义方法 function
在创建函数的时候,如果报如下错误 这个时候一定要先执行:set global log_bin_trust_function_creators=TRUE; 第二步骤: delimiter ;;CREAT ...
- makefile笔记9 - makefile隐含规则
在我们使用 Makefile 时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix 下是[.o]文件,Windows 下是[.obj]文件). ...
- 2017-10-6模拟赛T1 手工(handicraft.*)
题目 题解 题意很明显,就不讲了. 我们发现从一个A边形切出一个B边形有几种情况: 1. 得到一个(A-B+2)边形和一个B边形(直线过两顶点): 2. 得到一个(A-B+3)边形和一个B边形(直线过 ...
- TSMBIOS
TSMBIOS Object Pascal language (Delphi or Free Pascal). https://github.com/RRUZ/tsmbios
- MySQL中查询、删除重复记录的方法大全
查找所有重复标题的记录: select title,count(*) as count from user_table group by title having count>1; SELECT ...