标签:运行 键值 create condition 结果 ace with 了解 重定向
1.实践目标
1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。
1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
2.实践内容(3.5分)
实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。
- 2.2恶意软件分析(1.5分)
- 分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
-(3)读取、添加、删除了哪些注册表项
-(4)读取、添加、删除了哪些文件
-(5)连接了哪些外部IP,传输了什么数据(抓包分析)
TN
:任务名,我起为schtasks5214sc
:计时方式,这里用MINUTE表示以分钟为单位bn
:b是显示可执行文件的名字,n是用数字表示IP和端口TR
:要运行的指令、>
:输出重定向,也就是要将输出放在哪个文件,本次为c:\netstatlog.txtschtasks /create /TN schtasks5214 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
。打开cmd,在cmd输入这句指令并回车。2、打开C盘,新建schtasks5214.bat,输入date /t >> c:\netstat5318.txt time /t >> c:\netstat5318.txt netstat -bn >> c:\netstat5318.txt
,保存并关闭。(由于在C盘权限不够不能直接创建,所以只能通过先在其他地方输入然后再复制到C盘目录下。)
3、打开任务计划,查看我们在第一步创建的任务计划。
4、双击打开,在操作
栏下点击编辑
,将程序或脚本
选择为第二步中所新建的bat脚本
5、考虑到开始实验的时间已经接近11点了,即将断点,于是再在条件
栏下,将只有在计算机使用交流电源时才启动此任务
这一项取消
6、接着,在常规
栏下选择使用最高权限运行
,点击确定保存。
7、然后就是等待。。(4小时过去了)。期间我尝试了断网,发现断网不会造成影响,网一连上就又继续获取相关数据了。打开netstatlog.txt进行查看:
8、使用excel进行数据分析。打开WPS,导入netstatlog.txt:
9、使用B列的数据生成数据透视图,统计如下:
使用最多的是火狐浏览器,其次是wps。看着这些数据,再回想昨天做实验的时候我所使用的app,能对得上。
1、下载老师所给的资源SysinternalsSuite.zip,解压。sysmon就在解压好的文件夹中。
2、在使用sysmon之前,先在这篇文章中进行粗略的浏览,掌握大概的原理与方法。
3、查看sysmon的版本。右键Sysmon.exe,在属性->详细信息中进行查看
<Sysmon schemaversion="4.12">
<!-- 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>
<Image condition="end with">firefox.exe</Image>
<Image condition="end with">wps.exe</Image>
</ProcessCreate>
<ProcessCreate onmatch="include">
<ParentImage condition="end with">cmd.exe</ParentImage>
</ProcessCreate>
<FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">firefox.exe</Image>
<Image condition="end with">wps.exe</Image>
</FileCreateTime>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">firefox.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>
针对常用的Firefox和wps我把他们放在iniclude里。在上面的代码中,第一行的sysmon版本号要跟使用的sysmon对上。ProcessCreate表示进程创建,NetworlConnect是网络连接,CreateRemote是远程线程创建,FileCreate Time是进程创建时间。在onmatch后面跟的参数include和exclude分别表示“免检”和“必检”名单。
5、打开cmd,进入到sysmon所在的文件夹中,输入sysmon.exe -i sysmon5214.xml
6、打开事件查看器
,时间查看器(本地)->应用程序和服务日志->Microsoft->Windows->Sysmon->Operational
,双击Operational,可以查看按照sysmon5214.xml中的配置信息所记录的一些信息。选择其中任一条,可以看见进程号、运行的软件名等信息。
7、接下来使用实验3中的恶意程序(更换了ip地址,重新生成)进行回连,进行日志分析
8、打开事件查看器
,根据运行时间可以很容易地找到刚刚运行的后门的相关信息。
9、回到kali,使用webcam_snap
进行拍照。回到事件查看器,可以看到出现了两条这样的信息:
SearchFilterHost.exe是桌面搜索引擎的索引程序,其主要作用是建立快速索引文件,让用户能够更好的搜索出电脑中的任意资料。它会在计算机空闲时自动扫描索引位置的文件名、属性信息和给定类别的文件内容,这些索引位置默认包括桌面、收藏夹、开始菜单、系统目录。
10、再使用getuid
指令,回到事件查看器,没有发现什么。
11、是不是使用不同的指令,日志是不同的呢?接下来尝试一下简单的dir
命令,进行查看,发现没有出现什么提示。这是怎么回事呢?getuid和dir指令在network中都没显示。我没有找到原因。
(不过我倒是发现了wps一直在后台默默在用着我的网络。。。当我没上网的时候,network类别几乎都是wps.exe和wpscenter.exe,看来以后不用的时候还是将他们彻底退出吧)
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件(3)读取、添加、删除了哪些注册表项(4)读取、添加、删除了哪些文件(5)连接了哪些外部IP,传输了什么数据(抓包分析)。在这一步中,由于wps.exe关于network实在很烦人,我重新修改了sysmon的配置。
打开wireshark,选择wlan模式。开始抓包后,本机启动恶意程序回连kali虚拟机,回连成功后停止捕包,输入筛选条件ip.addr == 172.30.4.217
进行查看
webcam_snap
和获取uidgetuid
,然后停止捕包,进行查看使用时getuid
出现了4条记录:
使用时webcam_snap
出现了很多条记录,我觉得应该是图片的空间比较大导致的:
view different list
,再点击view
,可以看到增加了很多不知道是什么的文件和键值:运行的进程多了后门程序
植入了一些键值
可以看到连接的目的ip以及端口号
选中记录3和记录4进行比较(这里显示systracer没有注册):
选中记录4和记录5进行比较:
不加壳
压缩壳
加密壳(这里不小心删除掉了加密壳使用的软件hyperion,参考了这个回答找回。。有惊无险)
压缩壳后再加密壳
可以看到,只有有加密壳竟然都不能识别出来。。而我们之前实验的时候也是只要涉及到加密壳就不能回连。这两者是否有关联?
1、任务启动失败,在任务计划界面一直显示0x01,查询了一下0x01在windows表示运行失败。
解决方法:在同学的帮助下,我发现是因为在步骤一的第4小步的操作界面我没有去掉参数,导致了这一的情况。把参数去掉就解决了问题。
2、启动sysmon失败,提示如下:
解决方法:读提示信息后发现,运行Sysmon.exe需要管理员权限。于是使用管理身份打开cmd,重新输入,解决了问题。
3、想要把systracer转移到win7虚拟机中,插U盘无法识别
解决方法:关闭虚拟机,在USB控制器
选项勾选全部,再打开虚拟机,插入U盘,解决问题
1、如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
答:可以使用schtasks定时监听,一段时间后统计数据;可以使用Sysmon,通过编写配置文件,监视相应的进程情况;可以使用Systracer进行快照比较。
2、如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
答:可以使用VirusTotal进行检查;可以使用Systracer进行分析,查看其对注册表、文件的修改;可以使用wireshark进行捕包分析,查看它连接到了哪些ip、与外部进行了哪些通信。
本次实验难度不是很大,主要是一些相关软件的应用以及对相关数据的分析。我觉得比较费时间的一点是,遇到一堆数据不知从何下手进行分析,很多系统的应用都不懂是干嘛的,只能一个一个百度查,逐个排除嫌疑。不过这样下来以后我对系统的一些进程有了更好的了解,不会把他们和其他的进程混在一起分不清了。
通过对恶意代码的分析,也使得我对恶意代码的行为、特征有了更好的了解。
不过在网上查找相关信息的时候,甚至还有可以绕过分析的方法!令人惊讶。然而我们现在连做完全免杀都有点费力。看来学习的道路还很长。
感觉自己每次实验都要很久,因为老是喜欢进行各种各样的尝试。。问题是那些尝试竟然还都失败了,浪费了大把的时间。。
20165214 2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 Week6
标签:运行 键值 create condition 结果 ace with 了解 重定向
原文地址:https://www.cnblogs.com/zhuwenyuan/p/10662921.html