标签:恶意代码
一、实践目标
1.实践对象
- 实验二中的后门程序
meter_backdoor.exe
2.实践内容
- 系统运行监控
- 使用如计划任务每隔一分钟记录电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。目标:找出所有连网的程序的连接和操作,这个操作是否合适合理,并有针对性的抓包做进一步的分析;
- 安装配置
sysinternals
中的sysmon
工具,设置合理的配置文件,监控主机的重点事可疑行为; - 实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行(难点在于从大量数据中理出规律、找出问题)。
- 恶意软件分析
- 分析该软件在启动回连,安装到目标机及其他任意操作时(如进程迁移或抓屏),该后门软件:
- 读取、添加、删除了哪些注册表项;
- 读取、添加、删除了哪些文件;
- 连接了哪些外部IP,传输了什么数据(抓包分析)。
- 分析该软件在启动回连,安装到目标机及其他任意操作时(如进程迁移或抓屏),该后门软件:
二、基础知识
1.实践要求
- 监控你自己系统的运行状态,看有没有可疑的程序在运行;
- 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals systracer套件;
- 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
2.指令参数
schtasks
安排命令和程序定期运行或在指定时间内运行TN
任务名,这里命名为schtasks5121
sc
计时方式,这里用MINUTE表示以分钟为单位bn
b是显示可执行文件的名字,n是用数字表示IP和端口TR
要运行的指令>
输出重定向即输出的文件路径,本次为c: etstatlog.txt
schtasks /create /TN schtasks5121 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c: etstatlog.txt"
3.预备知识
- MAL_动态分析_Windows计划任务schtasks
- 微软轻量级监控工具sysmon原理与实现
- 分析工具
- Schtasks 安排命令和程序定期运行或在指定时间内运行
- excel 导入Schtasks记录的数据并使用表格生成统计信息
- Sysmon 通过系统服务和驱动程序实现记录进程创建、文件访问以及网络信息的记录(Windows日志事件)
- Wireshark 在恶意代码回连服务端(Kali)时对网络协议(TCP ICMP等)进行捕包分析
- SysTracer 跟踪并监视进程对整个系统的修改行为并进行比较
- PEiD 侦测加壳文件(类型和签名)
- VirusTotal 在线分析恶意代码(相应的的系统文件和注册表)
三、实践步骤
1.系统运行监控
- 使用schtasks指令
schtasks /create /TN schtasks5121 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c: etstatlog.txt"
添加计划任务
- 新建
schtasks5121.txt
输入
date /t >> c:
etstat20175121.txt
time /t >> c:
etstat20175121.txt
netstat -bn >> c:
etstat20175121.txt
- 保存并退出,修改扩展名
schtasks5121.bat
并复制到C盘目录 - 任务计划程序编辑计划任务
- 运行任务
netstat
开始记录后台的数据,保持电脑的正常使用,约两小时后在C盘目录打开netstat20175121.txt
查看数据
- 参考教程:https://www.cnblogs.com/zjy1997/p/8824717.html,使用
Excel
的表格工具导入文档数据,生成数据透视图
网易云音乐cloudmusic.exe
officeExcel.exe
实验二后门meter_backdoor.exe
英伟达显卡驱动nvcontainer.exe
windowssvchost.exe
VMware Workstation Provmware.exe
vmware-authd.exe
vmware-hostd.exe
微信wechat.exe
系统推送服务Wpnservice.exe
-
在这段时间中使用最多的vmware虚拟机,符合实际情况
-
因为系统是64位的系统所以选择
Sysmon64.exe
,右键属性在详细信息查看产品版本,在SysinternalsSuite所在目录下创建sysmon20175121.xml
,以文本文档方式打开输入代码保存并退出 -
文件sysmon20175121.xml中代码为(版本改为自己下载的Sysmon版本号)
<Sysmon schemaversion="10.12">
<!-- 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>
- 以管理员身份运行CMD在
Sysmon64.exe
目录下执行Sysmon64.exe -i sysmon20175121.xml
- 点击agree,安装成功
事件查看器(本地)
-应用程序和服务日志
-Microsoft
-Windows
-Sysmon
-Operational
查看根据配置信息sysmon20175121.xml
记录的进程信息进程号、 路径等系统信息
2.恶意软件分析
- 使用恶意软件(实验二中的后门程序进行回连),以日志信息和Wireshark捕包信息分析系统进程规律
- Kali系统与Windows系统Ping通时的数据包
MSF
反弹连接时的TCP
包
dir
查看磁盘中后门程序目录下的文件,日志没有更新
getuid
查看作为运行服务器的用户,日志更新一条
SearchFilterHost.exe
桌面搜索引擎的索引程序,主要作用是建立快速索引文件,让用户能够更好的搜索出电脑中的任意资料。它会在计算机空闲时自动扫描索引位置的文件名、属性信息和给定类别的文件内容,这些索引位置默认包括桌面、收藏夹、开始菜单、系统目录screenshot
截屏,日志更新三条
webcam_snap
通过摄像头拍照,日志更新了两条
- 总的来看,在没有针对性地绕过Sysmon监控的情况下,Sysmon也不能完全监控到恶意软件的攻击行为,而删除配置项或卸载SysmonDrv过滤器的驱动程序更可以绕过Sysmon,所以安全软件还是非常重要的。从Wireshark的捕包结果来看,协议包数量主要是由传输数据(文件)大小决定
- 下载SysTracer并安装,下载地址
SysTracer是一款集成HIPS以及进程行为跟踪功能的安全辅助工具,可以跟踪并监视进程对整个系统的修改行为,包括文件操作,注册表操作,内存操作和危险行为。SysTracer可以监视全部进程,或者用户指定的某一个进程及其子进程,并提供监视日志以帮助用户对特定进程的行为进行分析。可在任何想要的时间获取无数个屏幕快照,可比较任何一对想要的屏幕快照,并且观察其间的不同之处。获取屏幕快照通常会持续几分钟的时间,取决于文件和文件夹的数量和注册表项目的总数。 - 首先下载完成后进行安装,步骤为:agree->选第二个
- 安装时要输入相应端口
- 运行SysTracer共进行4次记录,为控制变量Kali始终在运行状态,同时因为后门程序与虚拟机的位置都在C盘和D盘,所以可以根据实际情况只勾选相应的内容以精简分析过程
- 在打开后门前先快照一下,点击“take snapshot”,scan选择
Only selected items
,然后点击start开始
Snapshot #1
未植入恶意软件前Snapshot #2
植入恶意软件后Snapshot #3
恶意软件回连后Snapshot #4
MSF相关的操作sysinfo
screenshot
Snapshot #5
退出恶意软件后- 点击上方“Applications”->左侧“Running Processes”->找到后门进程“meter_backdoor.exe”可以看到对应的调用过程
- 在下方选择好要比较的两个快照,在快照界面“Snapshots”右下角点击“view differences list”,比对一下回连前后计算机发生的变化
- 比较
#1
与#2
,可以发现加入了一些注册表值
- 比较
#2
与#3
,又可以发现增加了大量可能无关的注册表值还有相关的进程
- 比较
#3
与#4
,执行的MSF指令操作没有发现特别明显的相关变化
- 比较
#4
与#5
,相关的进程和文件还有键值都有删除
- 后门程序已经没有在后台运行了,但是相关的注册表值暂时还没有变化(可能重启后也会删除),所以我们除了定期要清理磁盘垃圾文件以外也需要工具对注册表进行维护(修复或删除等)
- 使用VirusTotal检查恶意代码,可以查看MD5、SHA-1、文件类型、文件大小、加壳方式等相关信息
Basic Properties
MD5 c68f5f089544634816ee7d115b327c78
SHA-1 ebde084c4d3de28db835ff3e94edc82ed8e1c299
SHA-256 74b9f08a8edd0180816cb2f232a13502889b517721b94f6e887b4c3fdb1bc24b
Vhash 074046755d151028z2e32tz27z
Authentihash a9bc27d788fd344262f3bfa898ecd103166d4089444a9752a92752803802fc14
Imphash 481f47bbb2c9c21e108d65f52b04c448
SSDEEP 1536:IqIlIAkIaacFC691zYWzyVBQ66KcMb+KR0Nc8QsJq39:DINkIYCU1xzmQ6qe0Nc8QsC9
File type Win32 EXE
Magic PE32 executable for MS Windows (GUI) Intel 80386 32-bit
File size 72.07 KB (73802 bytes)
History
Creation Time 2009-06-23 12:47:45
First Submission 2020-03-26 04:06:46
Last Submission 2020-03-26 04:06:46
Last Analysis 2020-03-26 04:06:46
Names
meter_backdoor.exe
ab.exe
Signature Info
Signature Verification
File is not signed
File Version Information
Copyright Copyright 2009 The Apache Software Foundation.
Product Apache HTTP Server
Description ApacheBench command line utility
Original Name ab.exe
Internal Name ab.exe
File Version 2.2.14
Comments Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Portable Executable Info
Header
Target Machine Intel 386 or later processors and compatible processors
Compilation Timestamp 2009-06-23 12:47:45
Entry Point 21121
Contained Sections 4
Sections
Name Virtual Address Virtual Size Raw Size Entropy MD5
.text 4096 43366 45056 7.01 ec1f468c27a1f0859e9c6cc68db03006
.rdata 49152 4070 4096 5.32 25d7ceee3aa85bb3e8c5174736f6f830
.data 53248 28764 16384 4.41 283b5f792323d57b9db4d2bcc46580f8
.rsrc 86016 1992 4096 1.96 c13a9413aea7291b6fc85d75bfcde381
Imports
ADVAPI32.dll
KERNEL32.dll
MSVCRT.dll
WS2_32.dll
WSOCK32.dll
Contained Resources By Type
RT_VERSION 1
Contained Resources By Language
ENGLISH US 1
Contained Resources
SHA-256 File Type Type Language
465417d96548ce85076f6509efac41e5ad02fee2b8f712416e8b6aa08d93c494 Data RT_VERSION ENGLISH US
ExifTool File Metadata
CharacterSet Unicode
CodeSize 45056
Comments Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
CompanyName Apache Software Foundation
EntryPoint 0x5281
FileDescription ApacheBench command line utility
FileFlagsMask 0x003f
FileOS Win32
FileSubtype 0
FileType Win32 EXE
FileTypeExtension exe
FileVersion 2.2.14
FileVersionNumber 2.2.14.0
ImageFileCharacteristics No relocs, Executable, No line numbers, No symbols, 32-bit
ImageVersion 0.0
InitializedDataSize 40960
InternalName ab.exe
LanguageCode English (U.S.)
LegalCopyright Copyright 2009 The Apache Software Foundation.
LinkerVersion 6.0
MIMEType application/octet-stream
MachineType Intel 386 or later, and compatibles
OSVersion 4.0
ObjectFileType Executable application
OriginalFileName ab.exe
PEType PE32
ProductName Apache HTTP Server
ProductVersion 2.2.14
ProductVersionNumber 2.2.14.0
Subsystem Windows GUI
SubsystemVersion 4.0
TimeStamp 2009:06:23 13:47:45+01:00
UninitializedDataSize 0
四、实验总结与体会
1.基础问题回答
- (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 可以通过计划任务,来建立一个定时更新的日志来查看
- 通过sysmon来监控。
- 通过Process Explorer工具,查看是否有程序调用了异常的dll库
- (2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 可以通过抓包工具,进行分析。
- 通过systracer工具分析某个程序执行前后,计算机注册表、文件、端口的一些变化情况。
- 使用VirusTotal、Virscan等渠道进行检查
2.实验收获与感想
通过本次实验,我对自己电脑空闲时间哪些进程在工作,连接到哪些地方有了一定了解。通过各种工具监控检测自己的电脑是否存在一些恶意代码软件,学会了杀毒软件所不能解决的事情。在实验过程中遇到了各种各样的问题,查出来文件、进程或是注册表都比较陌生,这些都需要耐心的一一解决。在恶意代码检测方面自己的知识储备还是相当的匮乏,仍需不断学习总结,将理论知识与实践相结合,做到知行合一,才能在接下来的学习中游刃有余,不断前进。