2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 20165326
恶意代码分析
实践目标
- 监控你自己系统的运行状态,看有没有可疑的程序在运行。
- 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
- 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
目录
知识点详解
1.schtask
安排命令和程序定期运行或在指定时间内运行。从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务。
2.sysmon
sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。
3.恶意代码分析
- 监控系统
- 网络连接、文件修改、系统配置、进程变化、核心API
- 静态分析
- 文件代码结构分析、反汇编等
- 动态分析
- 快照对比、APIHooking、动态跟踪调试
实验流程
任务一:系统运行监控
1.1使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里
- 创建脚本文件
netstatlog.bat,内容如下
date /t >> c:\netstatlog.txt //写入日期
time /t >> c:\netstatlog.txt //写入时间
netstat -bn >> c:\netstatlog.txt //写入netstat执行结果
- 创建文件
netstaslog.txt用于记录 - 使用
schtasks命令创建一个新任务:schtasks /create /TN netstat5326 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
/tn TaskName 指定任务的名称。
/tr TaskRun 指定任务运行的程序或命令。977
如果忽略该路径,SchTasks.exe 将假定文件在Systemroot\System32 目录下。
/sc schedule 指定计划类型
/mo modifier 指定任务在其计划类型内的运行频率,默认值为 1
打开任务计划程序,看到刚刚生成成功的任务准备就绪,打开->
属性,最高权限运行->操作,脚本或程序:C:\netstatlog.bat,然后开始运行打开netstatlog.txt一波分析
使用excel表格查看并分析,相关指导

发现以下几个进程运行的很多
- downloadSDKServer:迅雷的下载程序
- kxescore:金山毒霸的密保用户的进程,开着这个防护程序就有
- microsoftEdgeCp.exe:微软浏览器相关组件,上网就会用到
- SearchUI.exe:cortana的搜索进程,发现了一个win10z的小mimi,这个居然会一直开着昂,可以任务管理器关掉节约点电(没有什么用)
- vmware-hostd:虚拟机和物理主机联通信道
- pcdrwi:pc-doctor for windows
- ……还有一些就是很常见的一些软件的进程就不赘述啦
其实最有用的应该是svchost.exe这一个,搜索总结了一下,大概是这样的
我们知道 Windows 和 Windows 的应用软件都 要使用大量的 DLL(Dynamic Link Libraries,动态链接库)文件,这些 DLL文 件一般都要向Windows申请各种各样的Service(服务),而Svchost. exe 就是其中一些服务的通用管理进程名(Generic Host Process Name),简单的说,Svchost.exe是这些服务的总称。每一个Svchost. exe 进程以一个 Group(组)的方式分组管理各种服务,每一个 Svchost.exe服务。
Svchost.exe在Windows XP的系统目录\Windows\System32\ 下,在启动的时候,Svchost.exe根据注册表中的相关信息建立一个 服务列表并根据这个列表加载相关的服务。一般来说,Svchost.exe 总是根据 HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost下面的键值分组管理DLL 申请的服务,这里的每一键值对应一个独立的Svchost.exe进程
常被病毒冒充的进程名有:svch0st.exe、schvost.exe、scvhost.exe。随着Windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由svchost.exe进程来启动。而系统服务是以动态链接库(DLL)形式实现的,它们把可执行程序指向svchost,由svchost调用相应服务的动态链接库来启动服务。
在任务管理器中只能看到Svchost.exe进程而看不到该进程所包含的服务,要想了解每个 Svchost.exe 进程下到底有什么服务,打开cmd输入:Tasklist / SVC并回车就可以看到每个 Svchost.exe进程及 其所包含的各种服务,其中Image Name:映像名,PID:进程标识,Services:进程所包含的各种服务(一般是缩写)。下面截取了当前部分x进程使用svchost.exe的图,冷静分析,没分析出来啥……这几个看起来都还挺正常的我们下一个
1.2安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。配置参考
- 按照配置参考写所需的
Sysmoncfg.txt配置文件
\\先用老师的试一下
<Sysmon schemaversion="4.20"> \\版本不一样,根据错误提示进行了修改
<!-- 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>
- 使用之前生成的后门程序进行回连(此处使用的是实验二的,payload是……/reverse_https),观察日志中的结果(日志查看:
计算机管理->事件查看器->应用程序和服务日志->Microsoft->Windows->Sysmon),详细信息里能看到,下面是官网上的Sysmon的事件ID对应的意思,
事件ID 1:流程创建
进程创建事件提供有关新创建进程的扩展信息。完整命令行提供流程执行的上下文。 ProcessGUID字段是跨域的此过程的唯一值,以使事件关联更容易。散列是文件的完整散列,其中的算法位于HashType字段中。
事件ID 2:进程更改了文件创建时间
当进程显式修改文件创建时间时,将注册更改文件创建时间事件。此事件有助于跟踪文件的实际创建时间。攻击者可能会更改后门的文件创建时间,使其看起来像是随操作系统一起安装的。请注意,许多进程合法地更改了文件的创建时间;它不一定表示恶意活动。
事件ID 3:网络连接
网络连接事件记录计算机上的TCP / UDP连接。默认情况下禁用它。每个连接都通过ProcessId和ProcessGUID字段链接到进程。该事件还包含源和目标主机名IP地址,端口号和IPv6状态。
事件ID 4:Sysmon服务状态已更改
服务状态更改事件报告Sysmon服务的状态(已启动或已停止)。
事件ID 5:进程终止
进程终止时,进程终止事件报告。它提供了该过程的UtcTime,ProcessGuid和ProcessId。
事件ID 6:驱动程序已加载
驱动程序加载的事件提供有关正在系统上加载的驱动程序的信息。提供配置的哈希值以及签名信息。出于性能原因,签名是异步创建的,并指示加载后文件是否已删除。
- 运行后门程序、msfconsole、监听、获取权限
- 运行26bc.exe
- dir
- getuid
可以看到如下截图:



- SearchFilterHost.exe是桌面搜索引擎的索引程序,其主要作用是建立快速索引文件,让用户能够更好的搜索出电脑中的任意资料。它会在计算机空闲时自动扫描索引位置的文件名、属性信息和给定类别的文件内容,这些索引位置默认包括桌面、收藏夹、开始菜单、系统目录。
任务二:恶意软件分析
- 所以我为什么要用加密传输,微笑,截图,可以看见有一个连接的过程,猜测以下的传输过程就是来自kali后门的神秘力量

- 将payload改成tcp看下明文传些什么奇怪的东西(此处无截图)可以从psh/ack下直接看到传输明文
- 使用sys tracer(注册表分析器x进行分析)我感觉我这里做的有一点问题,还是用两台虚拟机会好一点,一定要快照!以下是运行前后compare的结果
- 拍摄运行后门前后的两次快照进行compare,我只选择了c盘进行扫描
- 可以通过
Applications->Runnning Processes找到当前运行的程序


遇到的问题
- Q:无法直接在c盘下建立文件夹
- 改权限,使用管理员权限或者直接修改该文件目录的造作属性
- 使用powershell(管理员),使用
Set-Location [目录]进入要创建文件的目录,New-Item [文件名]创建文件,一定要加后缀名!编辑文件,可以使用记事本打开:notepad.exe ./[file],点此查看其它方法
- Q:win10网页上下载东西下不了?
- 请Windows defender smartscreen解释一下为什么Microsoft官网下东西都不允许好吧。。在网页的高级设置关掉这个就可以了。
总结
回答问题
- 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 使用计划任务schtasks指令动态监控系统运行,输出到日志进行分析
- 使用sysmon工具动态监控系统运行,查看日志详细信息
- systracer跟踪端口
- 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 使用systracer工具进行快照分析注册表信息、文件行为等信息的变化
- 把程序放在virscan上检测查看行为报告
- 使用Task list查看任务详细信息
心得
分析的时间比较长,这次的实验名称应该叫“当我没看电脑的时候它都在干些什么”,总有种《her》的现实版的感觉,跟别的人连IP交换信息都是大猪蹄子hen。这次试验还是学到了很多有用的东西,如何使用一些小工具来分析电脑是否被恶意代码攻击等,深入学习加油
2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 20165326的更多相关文章
- 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中生成后门软件: ...
随机推荐
- 基于百度通用翻译API的一个翻译小工具
前几天写了一个简单的翻译小工具,是基于有道翻译的,不过那个翻译接口有访问限制,超过一定次数后会提示访问过于频繁,偶然发现百度翻译API如果月翻译字符少于200万是不收取费用的,所以就注册了一个百度开发 ...
- 使用 jquery.wordexport.js导出的Word排版
js导出word文档所需要的两个插件: FileSaver.js jquery.wordexport.js 使用jquery.wordexport.js这个插件导出的word文档的排版方式: 编辑器打 ...
- xaf 如何添加logo信息
https://documentation.devexpress.com/eXpressAppFramework/113156/Task-Based-Help/Miscellaneous-UI-Cus ...
- Matlab 奇异值、奇异矩阵、svd函数
奇异值: 奇异值分解法是线性代数中一种重要的矩阵分解法,在信号处理.统计学等领域有重要应用. 定义:设A为m*n阶矩阵,A'表示A的转置矩阵,A'*A的n个特征值的非负平方根叫作A的奇异值.记为σi( ...
- XJ模拟noip赛1
什么都不说—— 成功打出 G-G!
- sql server error 53
主要是计算机名修改了,通过服务器名称,浏览更多,选择“数据库引擎”里面的第一个,就可以登陆了
- node项目运行报错
Cannot find module 'webpack/bin/config-optimist' 在项目里面运行npm i webpack-dev-server Cannot find module ...
- 微信中打开链接,自动打开外部浏览器打开指定URL页面
上半年公司有一个新的APP项目上线,我们在项目首页做个二维码,然后用户用手机扫一扫就能下载了.但是很多用户反映扫一扫之后下载不了,了解之后才知道这些用户都是使用的微信的扫一扫,而我们开发测试人员一般使 ...
- Spring学习之实例化bean的三种方式
实例化bean的三种方式 构造器实例化bean Person.java public class Person { private String name; private Integer age; ...
- Java 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
import java.util.Scanner; /** *有一对兔子,从出生后第3个月起每个月都生一对兔子, *小兔子长到第三个月后每个月又生一对兔子,假如兔子 *都不死,问每个月的兔子总数为多少 ...
