2018-2019 20165235 网络对抗 Exp4 恶意代码分析
2018-2019 20165235 网络对抗 Exp4 恶意代码分析
实验内容
系统运行监控
- 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
- 安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
- 参考:schtask与sysmon应用指导
- 实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。
恶意软件分析
- 分析该软件在(1)启动回连(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。
- 该后门软件
读取、添加、删除了哪些注册表项
读取、添加、删除了哪些文件
连接了哪些外部IP,传输了什么数据(抓包分析) - 该实验重点在“分析”,不是“如何使用某软件”。组长、课题负责人要求写细一点,其他人可以重点放在分析上。
基础问题回答
1. 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控
- 我在网上搜到一款监视电脑的软件
Wise System Monitor
,下载它可以进行进程监控;硬件监控会详细列出用户计算机硬件信息;操作系统监控,查看本机的操作系统详细信息;也可以查看下载上传速度、内存使用率和CPU使用率。 - 可以扫描日志:
方法一:使用可信软件:可以使用SREng
软件。
方法二:在CMD使用指令:CHKDSK D: /F /R >D:\ xxx.txt
,D盘下会出现一个 xxx.txt,那就是扫描日志。 - 可以参考下面实验内容进行监控。
2. 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息
- 如果是某个程序,可以找出此程序,并且将此程序放入:Threatbook,virscan中进行分析。
- 运行CMD --> 输入wmic --> process可以查看到进程的程序。
- 使用“tasklist”命令查看具体进程的pid。采用ntsd -c q -p PID来杀死某一进程
- 可以使用一下实验中采用到的Systracer分析注册表差异、文件、运行进程等的不同。
实践过程记录
1. 系统运行监控——计划任务
TN:Task Name,本例中是netstat
SC: SChedule type,本例中是MINUTE,以分钟来计时
MO: MOdifier
TR: Task Run,要运行的指令是 netstat
-bn,b表示显示可执行文件名,n表示以数字来显示IP和端口
在cmd中输入,C:\schtasks /create /TN 20165235netstat /sc MINUTE /MO 1/TR "cmd /c netstat -bn > c:\netstatlog.txt"
在盘中建立文件5235netstatlog.bat文件,并将一下内容复制粘贴
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
打开任务计划程序,可以看到新创建的这个任务:
双击这个任务,点击操作并编辑,将“程序或脚本”改为我们创建的netstat5318.bat批处理文件,并且将添加参数设置为空。
点击常规,点击使用最高权限运行:
如在"条件"选项卡中把“只有在计算机使用交流电源时才启动此任务”选项关闭:
执行此脚本一定时间,就可以在netstat5318.txt文件中查看到本机在该时间段内的联网记录:
2. 系统运行监控——利用Sysmon
配置文件
写与自己想要监控的事件相对应的配置文件。编写好的Sysmon5235.txt内容如下:
<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>
<NetworkConnect onmatch="include">
<DestinationPort condition="is">5235</DestinationPort>
<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相当于黑名单,即要记录的。
- Image condition,映像条件,根据自己使用的浏览器更改。例如谷歌浏览器是“chrome.exe”,IE浏览器是“iexplore.exe”,我用的是360浏览器,进程名是“360chrome.exe”,也是以“chrome.exe”结尾的,所以这里只写“chrome.exe”即可。写在exclude中就是不记录由360浏览器创建的进程。
- 网络连接为过滤掉浏览器的网络连接、源IP为127.0.0.1的网络连接和目的端口为137的连接服务,且查看目的端口为80(http)和443(https)的网络连接。
- 137端口的主要作用是在局域网中提供计算机的名字或 IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态。
- 远程线程创建记录了目标为explorer.exe、svchost.exe、winlogon.exe和powershell.exe 的远程线程。
- explorer.exe是Windows程序管理器或者文件资源管理器
- svchost.exe是一个属于微软Windows操作系统的系统程序,是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
- winlogon.exe是Windows NT 用户登陆程序,用于管理用户登录和退出。
- powershell.exe是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用
启动sysmon
- 使用cmd进入sysmon的安装目录下输入:
sysmon.exe -i c:\sysmon5235.txt
,出现如下界面,点击agree即可。
- 安装成功图:
- 安装完成后输入:
sysmon.exe -c c:\sysmon5235.txt
来运行此程序。
- 点击“计算机”右键,点击打开“管理”。点击左侧“系统工具”->“事件查看器”->应用程序和服务日志/Microsoft/Windows/Sysmon/Operational
- 我使用ncat传输了后门程序,下为检测到此进程的图:
- 它还检测到了第一个计划检测程序的进程:
- 我使用ncat传输的后门程序进行了反弹连接:
- 下图为反弹连接的记录日志:
恶意软件分析——Threatbook
在上次实验中已经使用过virscan网站进行恶意软件的检测,这次使用沙箱来进行检测,我把上次实验中的加了压缩壳的后门程序放入,检测情况如下:
恶意软件分析——Systracer
下载安装Systracer
下载完成->运行->agree->选第二个->设置监听端口号5235->安装完成:
进行分析
- 这里我主要进行了三次快照,分别为还未传递后门程序前、进行回连时、进行了回连以及进行录音截屏记录键盘输入以及摄像头拍照等操作后。
- 点击“take snapshot”,如图:
- 快照完成:(需要耐心的等待一定的时间):
- 进行比对,点击
compare
,三次文件出现的不同之处:
- 可以观察到注册表发生的变化:
- 点击上方“Applications”->左侧“Running Processes”->找到后门进程“qy_upxed_Hyperion.exe”->点击“Opened Ports”查看回连地址、远程地址和端口号:
- 接着返回实验一:观察到反弹连接时netstatlog的记录如下:
- 同时可以看的到后门文件:
- 一些增加的文件:
- 当我反弹连接进行录音时,使用到音频的驱动程序:
Wireshark进行抓包分析:
启动前的设置;
可以把过滤条件设置为:
过滤规则设置为ip.addr == kali的IP
,我在这里并没用设置,因为既然第一步选择好了网段就没必要设置条件查看ncat连接时的流量包:
查看反弹连接时的流量包:
捕捉到一个APR地址解析协议的包,虚拟机将地址在局域网广播:
实验中遇到的问题及解决方法
本次实验没有遇到难的问题,在系统运行监控—计划任务时没有设置最高运行权限,以及没有在设置条件时将“添加参数”设置为空出现了一些问题。
实验感想
本次实验做的比较顺利,没有遇到特别难的问题。通过本次实验,学会了如何实时检测计算机的进程以及网络使用情况,可以查询到攻击者在计算机中注入的后门程序或者一些恶意软件。灵活的使用Windows提供的文件批处理,以及一些免费的监控软件,在不断学习到新知识的同时增强了自己的防范意识。
2018-2019 20165235 网络对抗 Exp4 恶意代码分析的更多相关文章
- 2018-2019 20165237网络对抗 Exp4 恶意代码分析
2018-2019 20165237网络对抗 Exp4 恶意代码分析 实验目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...
- 2018-2019 20165319 网络对抗 Exp4 恶意代码分析
基础问题回答 1. 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控 答:1.使用Windows自带的schta ...
- 2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 Week6 20165311
2018-2019 20165311 网络对抗 Exp4 恶意代码分析 2018-2019 20165311 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控(2分) 恶意软件分析(1.5分) ...
- 20155207 《网络对抗》exp4 恶意代码分析 学习总结
20155207 <网络对抗> 恶意代码分析 学习总结 实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件 ...
- 20155207王雪纯《网络对抗》Exp4 恶意代码分析
20155207 <网络对抗> 恶意代码分析 学习总结 实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件 ...
- 20155338《网络对抗》 Exp4 恶意代码分析
20155338<网络对抗>恶意代码分析 实验过程 1.计划任务监控 在C盘根目录下建立一个netstatlog.bat文件(先把后缀设为txt,保存好内容后记得把后缀改为bat),内容如 ...
- 2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...
- 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析
2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...
- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析
- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP ...
随机推荐
- 第六周博客作业<西北师范大学|李晓婷>
1.助教博客链接:https://home.cnblogs.com/u/lxt-/ 2.作业要求链接:https://www.cnblogs.com/nwnu-daizh/p/10569690.htm ...
- makefile 转载
http://blog.csdn.net/hongfuhaocomon/article/details/51523394 http://blog.csdn.net/lanmanck/article/d ...
- easyExcel导出excel的简单使用
easyExcel导出excel的简单使用 Java解析.生成Excel比较有名的框架有Apache poi.jxl.但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定 ...
- 记一次线上Java程序导致服务器CPU占用率过高的问题排除过程
博文转至:http://www.jianshu.com/p/3667157d63bb,转本博文的目的就是需要的时候以防忘记 1.故障现象 客服同事反馈平台系统运行缓慢,网页卡顿严重,多次重启系统后问题 ...
- linux_systemctl介绍
声明:本文转载自:systemd (中文简体) systemd 是 Linux 下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本.systemd 的特性有:支持并行化任务:同一时候採用 ...
- python学习08
python中的异常处理 1.格式 try 语句块 except else finally else 是如果try语句没有异常,就执行,否则不执行 finally 不管程序是否异常,都会执行. 2.异 ...
- 小程序bindtap和cachetap的区别
<view bindtap='a'> 1 <view bindtap='b'> 2 <view bindtap='c'> 3 </view> </ ...
- MySql 从SQL文件导入
1. 运行cmd进入命令模式,进入Mysql安装目录下的bin目录(即mysql.exe所在的目录): cd c:\"program Files"\MySQL\"MySQ ...
- 二、vue之 使用vscode配置
vue之 使用vscode配置 visual studio code 简称vscode,下图为图标 ... 开启vscode ... 1.导入文件夹,选择菜单栏 文件-打开文件夹->选择相应已 ...
- Light OJ 1085 - All Possible Increasing Subsequences
题目 link 给定一个序列, 求出上升子序列的总数. 分析 Dp[i] 表示序列 以 i 结尾的数目. 可知 Dp[i]=∑Dp[x]+1 这是一个前缀和, 用树状数组维护. Code #inclu ...