系统运行监控
恶意软件分析,分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
schtasks
,设置一个计划任务,进行记录,并使用excel进行分析sysmon
,修改配置文件,记录相关的日志文件。SysTracer
,在不同时间点建立快照,并进行对比。Process Monitor
,寻找可疑的进程Process Explorer
工具,监视进程执行情况。如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息
PEid
判定是否加壳PE explorer
查看程序头部信息Wireshark
进行抓包分析,监视其与主机进行的通信过程netstat5316.bat
脚本,写入以下内容date /t >> c:\netstat5316.txt
time /t >> c:\netstat5316.txt
netstat -bn >> c:\netstat5316.txt
schtasks /create /TN netstat5316 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
创建计划任务netstat5316
sc
表示计时方式MINUTE
表示以分钟计时TR
即Task Run,netstat
是我们要运行的指令b
用来输出可执行文件名n
使其以数字来显示IP和端口,最后输出重定向,将输出存放在c:\netstatlog.txt
文件中。在任务计划程序中操作并编辑该任务,将其程序或脚本选中netstat5316.bat
,确定后该任务就一直处于就绪状态,将其运行后,该任务每一分钟运行一次
该任务的运行结果都存储在netstat5316.txt文件中:
执行一段时间后将txt中的数据导出通过excel表进行整理:
统计图如下:
由上图所示,联网最多的是浏览器对应的程序“MicrosoftEdge.exe”,排名第二是是“vmware.exe”,其次是“有道云”和“网易云音乐”。
有一定可疑性的进程:svchost.exe:数目众多,但是通过tasklist发现都有对应进程而不是暂缺状态,认为暂时安全。
sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具,用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。
可选择的事件过滤器有
下载并解压SysinternalsSuite.zip
,在SysinternalsSuite
目录中创建配置文件sysmon20175316.xml
,该配置文件中可以加入事件过滤器,具体的过滤事件选项如下:
UtcTime, ProcessGuid, ProcessId, Image, CommandLine, CurrentDirectory, User, LogonGuid, LogonId, TerminalSessionId, IntegrityLevel, Hashes, ParentProcessGuid, ParentProcessId, ParentImage, ParentCommandLine
UtcTime, ProcessGuid, ProcessId, Image, TargetFilename, CreationUtcTime, PreviousCreationUtcTime
UtcTime, ProcessGuid, ProcessId, Image, User, Protocol, Initiated, SourceIsIpv6, SourceIp, SourceHostname, SourcePort, SourcePortName, DestinationIsIpv6, DestinationIp, DestinationHostname, DestinationPort, DestinationPortName
UtcTime, SourceProcessGuid, SourceProcessId, SourceImage, TargetProcessGuid, TargetProcessId, TargetImage, NewThreadId, StartAddress, StartModule, StartFunction
sysmon20175316.xml
:<Sysmon schemaversion="3.10">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="exclude">
<Image condition="end with">2345加速浏览器.exe</Image>
</ProcessCreate>
<FileCreateTime onmatch="exclude" >
<Image condition="end with">360安全浏览器.exe</Image>
</FileCreateTime>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.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>
onmatch
选项只能设置为include
或者exclude
,exclude
相当于白名单,不用记录;include
相当于黑名单。
在代码中,第一行的sysmon版本号要跟使用的sysmon一致
Image condition
需要根据自己使用的浏览器进行更改,将“2345加速浏览器”与“360安全浏览器”设为白名单。同时去掉回环地址127.0.0.1
,去掉137号端口
,137端口
的主要作用是在局域网中提供计算机的名字或IP地址查询服务,查看http的80端口
与https的443端口
。
远程建成创建
记录了目标为explorer.exe、svchost.exe、firefox.exe、winlogon.exe和powershell.exe 的远程线程。
explorer.exe
是Windows程序管理器或者文件资源管理器svchost.exe
是一个属于微软Windows操作系统的系统程序,是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。winlogon.exe
是Windows NT 用户登陆程序,用于管理用户登录和退出。powershell.exe
是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。编写完成后cmd中使用管理员身份运行Sysmon64.exe -i sysmon20175316.xml
进行安装
在事件查看器中进入应用程序和服务日志/Microsoft/Windows/Sysmon/Operational
便可看到按我们编写的文档进行记录的事件
可以看到配置文件记录的第一个日志是打开C:\sysmon20175316.xml
配置文件
再看一下本次实验中运行的.bat文件事件
运行之前实验三的后门程序
在事件查看器中可以找到该后门程序的运行记录:
回连以后,在kali中执行了dir的命令,于是在上一条日志紧接着就找到了这个
SearchFilterHost.exe
是桌面搜索引擎的索引程序,其主要作用是建立快速索引文件,让用户能够更好的搜索出电脑中的任意资料。它会在计算机空闲时自动扫描索引位置的文件名、属性信息和给定类别的文件内容,这些索引位置默认包括桌面、收藏夹、开始菜单、系统目录。
PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470种PE文档的加壳类型和签名,扫描模式有:
将实验三中加壳后的文件使用PEiD进行扫描,首先扫描未加壳的程序
再扫描加过压缩壳与加密壳的程序
(这里只检测出了压缩壳,加密壳却未检测出)
在打开后门前先快照一下,点击“take snapshot”,如图,按照以下步骤进行:
点击上方“Applications”->左侧“Running Processes”->找到后门进程“20175316_backdoor.exe”->点击“Opened Ports”查看回连地址、远程地址和端口号:
后Kali打开msfconsole,完成相关设置后开始监听,Windows运行后门后拍摄一系列快照
执行后对比分析:
根据capture捕获这个单词就知道这一条有问题,进一步分析,这应该是修改了捕获音频的键值
删除了很多.ddl文件,增加了很多.dll.mui文件,查阅资料应该是伪装潜伏。关于 HKEY_LOCAL_MACHINE
的介绍:
它保存了注册表里的所有与这台计算机有关的配置信息
被修改的部分是Fastcache
,即高速缓冲存储器。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定。
使用实验三中的后门软件进行入侵,捕获数据包如下,通过分析可以看出后门程序使用的通信方式为TCP传输。在被植入后门的Windows主机入侵时,主机与虚拟机首先进行了完整的三次握手,并且可以明显看出是从5316端口传输的数据
下图是我单独捕获的一个完整的用kali请求主机执行ipconfig的数据包,可以看到kali向主机发送了一个请求包,主机收到请求并返回了3个应答包,第二个应答包中包含了主机具体的ipconfig数据,kali收到主机发来的数据包后再向主机发送一个ACK应答包,证明已成功收到数据。
Process Explorer可以实时监控计算机的进程状态,我们可以用它来看看Meterpreter进程迁移的行为。
首先运行后门程序,我们找到了它的进程:
可以详细查看该进程的CPU、虚拟内存、物理内存、I/O等相关信息
2019-2020-2 20175316盛茂淞《网络对抗技术》Exp4 恶意代码分析
原文:https://www.cnblogs.com/sms369/p/12723671.html