20175314 2020-3 《网络对抗技术》Exp3 免杀原理与实践 Week7
一、实践目标
1、实践对象
- 经过加密和压缩的恶意代码
markshell_hyperion_upxed.exe
2、实践内容
-
系统运行监控
- 使用如计划任务每隔一分钟记录电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。目标:找出所有连网的程序的连接和操作,这个操作是否合适合理,并有针对性的抓包做进一步的分析。
- 安装配置sysinternals中的sysmon工具,设置合理的配置文件,监控主机的重点事可疑行为。
- 实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行(难点在于从大量数据中理出规律、找出问题)。
-
恶意软件分析
- 分析该软件在启动回连,安装到目标机及其他任意操作时(如进程迁移或抓屏),该后门软件:
- 读取、添加、删除了哪些注册表项
- 读取、添加、删除了哪些文件
- 连接了哪些外部IP,传输了什么数据(抓包分析)
- 分析该软件在启动回连,安装到目标机及其他任意操作时(如进程迁移或抓屏),该后门软件:
二、基础知识
1、实践要求
- 监控你自己系统的运行状态,看有没有可疑的程序在运行;
- 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件;
- 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
2、指令/参数
schtasks
安排命令和程序定期运行或在指定时间内运行TN
任务名,这里命名为schtasks5314sc
计时方式,这里用MINUTE表示以分钟为单位bn
b是显示可执行文件的名字,n是用数字表示IP和端口TR
要运行的指令、>
输出重定向即输出的文件路径,本次为c:\netstatlog.txtschtasks /create /TN schtasks5314 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
3、预备知识
- 分析工具
schtasks
WPS
Sysmon
Wireshark
SysTracer
PEiD
VirusTotal
三、实践步骤
1、系统运行监控
-
使用
schtasks
指令添加计划任务
-
新建
schtasks5314.txt
输入
date /t >> c:\netstat20175314.txt
time /t >> c:\netstat20175314.txt
netstat -bn >> c:\netstat20175314.txt
-
保存并退出,修改文件名
schtasks5314.bat
并复制到C盘
目录 -
任务计划程序编辑计划任务
-
运行任务
netstat
开始记录后台的数据,保持电脑的正常使用,约两小时后在C盘
目录打开netstat20175314.txt
查看数据
-
使用
WPS
的表格工具导入文档数据,生成数据透视图
微信
WeChat.exe
OfficeOfficeClickToRun.exe
WINWORD.EXE
WinStore.App.exe
EXCEL.EXE
腾讯课堂TXEDU.exe
金山词霸ktpcntr(广告)
知网研学CNKIWebServiceAccess.exe
CNKIEIDataSrv.exe
阿里巴巴AlibabaProtect.exe(反钓鱼)
Microsoft EdgeMicrosoftEdgeCP.exe
MicrosoftEdge.exe
browser_broker.exe
Google ChromeGoogleUpdate.exe
福昕高级PDF编辑器FoxitProxyServer_Socket_PH.exe
VMware Workstation Provmware.exe
vmware-authd.exe
vmnat.exe
PacketiX VPN Server 管理工具vpnserver_x64.exe
WindowsHxTsr.exe(易被感染的与数字签名有关的系统重要组件)
svchost.exe
SearchUI.exe
CHsIME.exe
backgroundTaskHost.exe
-
在这段时间中使用最多的是微信和腾讯课堂还有虚拟机,符合实际情况。但是后台存在很多非我主动运行的软件进程,甚至还有广告软件,还有根本没有下载安装的网络安全组件和应受重点关注的易感染的系统组件,所以在日常使用中应该主动留意后台进程,保证后台的有序和可信不仅能够保证自己信息的安全,也能够保障系统的流畅运行。
-
因为系统是64位的系统所以选择
Sysmon64.exe
,右键属性
在详细信息
查看产品版本
,在SysinternalsSuite
所在目录下创建sysmon20175314.xml
,以文本文档方式打开输入代码保存并退出
ProcessCreate
进程创建,这里的进程名包含了所有以该进程名结尾的进程
NetworlConnect
网络连接,过滤掉浏览器的网络连接,即源IP为127.0.0.1(本机IP)的网络连接和目的端口为137(提供局域网中ID或IP查询服务)的连接服务,且查看目的端口为80(http)和443(https)的网络连接
CreateRemote
远程线程创建
FileCreate Time
进程创建时间
onmatch include/exclude
设置免检/必检名单 -
以管理员身份运行
CMD
在Sysmon64.exe
目录下执行Sysmon64.exe -i sysmon20175314.xml
-
事件查看器(本地)
-应用程序和服务日志
-Microsoft
-Windows
-Sysmon
-Operational
查看根据配置信息sysmon20175314.xml
记录的进程信息进程号
路径
等系统信息
恶意软件分析
-
使用恶意软件(实验三中的加壳后门程序进行回连),以日志信息和
Wireshark
捕包信息分析系统进程规律 -
在事件查看器中根据运行时间找到相应后门程序操作的相关信息,在
Wireshark
过滤器中输入筛选条件ip.addr == 192.168.40.130
查看相关的协议包信息 -
Kali系统与Windows系统Ping通时的
ICMP
包
-
MSF
反弹连接时的TCP
包
-
dir
查看磁盘中后门程序目录下的文件,日志没有更新
-
getuid
查看作为运行服务器的用户,日志更新一条
-
SearchFilterHost.exe
桌面搜索引擎的索引程序,主要作用是建立快速索引文件,让用户能够更好的搜索出电脑中的任意资料。它会在计算机空闲时自动扫描索引位置的文件名、属性信息和给定类别的文件内容,这些索引位置默认包括桌面、收藏夹、开始菜单、系统目录 -
screenshot
截屏,日志更新三条
-
其中包括截图工具
SnippingTool.exe
-
webcam_snap
通过摄像头拍照,日志更新了两条
-
mspclock.sys
和mspqm.sys
都是系统关键文件,可能会成为病毒感染的对象 -
总的来看,在没有针对性地绕过
Sysmon
监控的情况下,Sysmon
也不能完全监控到恶意软件的攻击行为,而删除配置项或卸载SysmonDrv
过滤器的驱动程序更可以绕过Sysmon,所以安全软件还是非常重要的。从Wireshark
的捕包结果来看,协议包数量主要是由传输数据(文件)大小决定(screenshot.jpg≈140Kb/webcam.jpg≈15Kb) -
下载SysTracer并安装
SysTracer是一款集成HIPS以及进程行为跟踪功能的安全辅助工具,可以跟踪并监视进程对整个系统的修改行为,包括文件操作,注册表操作,内存操作和危险行为。SysTracer可以监视全部进程,或者用户指定的某一个进程及其子进程,并提供监视日志以帮助用户对特定进程的行为进行分析。可在任何想要的时间获取无数个屏幕快照,可比较任何一对想要的屏幕快照,并且观察其间的不同之处。获取屏幕快照通常会持续几分钟的时间,取决于文件和文件夹的数量和注册表项目的总数。
-
安装时要输入相应端口
-
运行SysTracer共进行5次记录,为控制变量Kali始终在运行状态,同时因为后门程序与虚拟机的位置都在
C盘
和D盘
,所以可以根据实际情况只勾选相应的内容以精简分析过程
Snapshot #1
未植入恶意软件前Snapshot #2
植入恶意软件后Snapshot #3
恶意软件回连后Snapshot #4
MSF相关的操作sysinfo``````screenshot
Snapshot #5
退出恶意软件后
-
在比较过程中,
#1
-#4
只需要查看新增的内容即可,#5
则需要查看修改和删除的内容 -
比较
#1
与#2
,可以发现加入了大量注册表值但是暂时还无法确定是否与后门程序有关
-
可以确定相关的键值和文件还有进程有明显特别的增加
-
比较
#2
与#3
,又可以发现增加了大量可能无关的注册表值还有相关的进程
-
这里查看到的相应IP和相应端口可以知道回连成功
-
比较
#3
与#4
,执行的MSF指令操作没有发现特别明显的相关变化
-
比较
#4
与#5
,相关的进程和文件还有键值都有删除
-
后门程序已经没有在后台运行了,但是相关的注册表值暂时还没有变化(可能重启后也会删除),所以我们除了定期要清理磁盘垃圾文件以外也需要工具对注册表进行维护(修复或删除等)
-
使用PEiD检查恶意代码是否加壳,但是该恶意代码是加过加密壳和压缩壳的,这里只检测出了压缩壳
-
使用VirusTotal检查恶意代码,可以查看MD5、SHA-1、文件类型、文件大小、加壳方式等相关信息
Basic properties
MD5 c3affb62b04fecc07c6fc34bc4f9762f
SHA-1 1fb035179f418e8e5a66923705f6dbced9ff7502
SHA-256 ffda14b93c2933bedcd9be0637f954699f06f20df6a4bb9d68a920e58fc8d7d5
Vhash 02503e0f7d1bz4!z
Authentihash aa8676671817900b31b2a7ba27f938fad408149aa91a6fbecb78336d16d89001
Imphash 6ed4f5f04d62b18d96b26d6db7c18840
SSDEEP 6144:IaVMLYIFJRL1yDTHvpxicXlDClcBRgLbx6YMs1PxiS9G+ZK8o4TlDWA:......
File type Win32 EXE
Magic PE32 executable for MS Windows (GUI) Intel 80386 32-bit
File size 289.00 KB (295936 bytes)
F-PROT UPX # 这里也没有检测到加密壳
PEiD UPX 2.90 [LZMA] -> Markus Oberhumer, Laszlo Molnar & John Reiser
History
Creation Time 2020-03-27 01:15:01
First Submission 2020-04-02 00:25:09
Last Submission 2020-04-02 00:25:09
Last Analysis 2020-04-05 15:22:15
Names
c3affb62b04fecc07c6fc34bc4f9762f.virus
Portable Executable Info
Header
Target Machine Intel 386 or later processors and compatible processors
Compilation Timestamp 2020-03-27 01:15:01
Entry Point 629984
Contained Sections 3
Sections
Name Virtual Address Virtual Size Raw Size Entropy MD5
UPX0 4096 331776 0 0 d41d8cd98f00b204e9800998ecf8427e
UPX1 335872 294912 294912 7.72 eb2a73ba86dd4d2e0bbbab721003a93e
UPX2 630784 4096 512 1.38 80e3fddc7bb34f8dda72990f3853d87a
Imports
KERNEL32.DLL
ExifTool File Metadata
CodeSize 294912
EntryPoint 0x99ce0
FileType Win32 EXE
FileTypeExtension exe
ImageFileCharacteristics No relocs, Executable, No line numbers, No symbols, 32-bit
ImageVersion 0.0
InitializedDataSize 4096
LinkerVersion 1.71
MIMEType application/octet-stream
MachineType Intel 386 or later, and compatibles
OSVersion 1.0
PEType PE32
Subsystem Windows GUI
SubsystemVersion 4.0
TimeStamp 2020:03:27 02:15:01+01:00
UninitializedDataSize 331776
File system actions
Files opened
C:\WINDOWS\system32\winime32.dll
C:\WINDOWS\system32\ws2_32.dll
C:\WINDOWS\system32\ws2help.dll
C:\WINDOWS\system32\psapi.dll
C:\WINDOWS\system32\imm32.dll
C:\WINDOWS\system32\lpk.dll
C:\WINDOWS\system32\usp10.dll
Registry actions
Registry keys opened
\Registry\Machine\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\996E.exe
\Registry\MACHINE\System\CurrentControlSet\Control\SafeBoot\Option
\Registry\Machine\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers
\REGISTRY\MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\TransparentEnabled
\REGISTRY\USER\S-1-5-21-......\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers
Modules loaded
Runtime modules
KERNEL32.DLL
kernel32.dl
四、实践报告
1、遇到的问题
-
问题 因为以前都是使用Windows7的虚拟机与Kali虚拟机进行回连,这次尝试主机时发现Kali可以Ping通主机(Windows10),但是主机不能Ping通Kali。
-
解决方案 固然是可以将虚拟机的网络设置修改成桥接模式来解决,但是这样的话Kali的IP地址就会主机地址改变,后门程序就需要重新生成,所以我选择更改主机网络连接设置中VMware的NAT模式相应适配器的IPv4地址来解决,只需要将前24位IP地址设置成与Kali正常NAT模式下的IP地址相同处在同一子网下即可。
2、基础问题回答
-
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 使用schtasks定时监听,一段时间后统计数据;
- 使用Sysmon,通过编写配置文件监视相应的进程情况;
- 使用Systracer进行快照对几次系统状态进行比较。
-
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 使用VirusTotal进行检查;
- 使用Systracer进行分析,查看其对注册表、文件的修改;
- 使用wireshark进行捕包分析,查看它连接到了哪些IP、与外部进行了哪些通信。