一、实践过程记录
1、系统运行监控
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
进行实验前先使用管理员身份执行net user administrator /active:yes
激活当前用户的管理员权限
在管理员身份的终端下使用如下命令,创建任务 netstat20212217,并以最高权限运行
schtasks /create /TN netstat20212217 /sc MINUTE /MO 1 /TR "D:\netstat20212217.bat" /RL HIGHEST
进入D盘,创建定时任务脚本D:\test\netstat20212217.bat
date /t >> d:\test\netstat20212217.txt
time /t >> d:\test\netstat20212217.txt
netstat -bn >> d:\test\netstat20212217.txt
可以在“任务计划程序”中看到已创建的任务,一段时间后,test中出现了netstat20212217.txt
文件。
一段时间后,netstat20212217.txt
中出现了一些数据,我将其导入excel中,如下所示:0.png)
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
sysmon下载链接:
https://download.sysinternals.com/files/Sysmon.zip
下载完成后,创建如下的sysmon.xml配置文件,并用 ./Sysmon.exe -i ./sysmon.xml
加载配置
<Sysmon schemaversion="4.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>
根据终端的提示,我下载的sysmon版本是4.90,改写sysmon.xml配置文件,并用 ./sysmon.exe -c ./sysmon.xml
更新配置
<Sysmon schemaversion="4.90">
<!-- 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">iexplorer.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect>
<NetworkConnect onmatch="include">
<DestinationPort condition="is">1318</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>
之后按照实验二的步骤运行木马,并在攻击机上获取shell执行命令。
随后在windows上打开事件管理器,找到Microsoft->Windows->Sysmon->Operational,其中的网络连接日志可以看到攻击机的公网IPv6地址
2、恶意软件分析
(1)使用VirusTotal分析恶意软件
VirusTotal是一个在线平台,专注于提供多引擎恶意软件和病毒扫描服务。用户可以上传文件或输入文件的URL、IP地址等,以便对指定的文件或网址进行安全分析。该平台整合了多个杀毒引擎,使得用户能够通过一个单一的接口检测潜在的恶意内容。此外,VirusTotal还提供了一系列的高级功能,如VT Intelligence、VT Grep、VT Yara和VT Graph,这些功能可以帮助用户进行更深入的威胁狩猎和安全分析。自2004年创立以来,VirusTotal已经成为全球知名的威胁情报和安全分析工具。
检测结果如下:
(2)使用wireshark分析TCP流量包
打开wireshark使用tcp && (ip.src==47.116.178.215 || ip.dst==47.116.178.215)
筛选数据包(47.116.178.215是攻击机公网IP),可以看到大量的TCP数据包,但其中的数据已完全加密
在(1)启动回连时,没有源IP或目的IP为47.116.178.215
的数据包
(2)安装到目标机时,可以看到本地首先请求了远端的2066端口,发送的是PSH,ASK请求。
PSH控制位,也称为推送功能位,用于指示发送方发送的数据应立即被接收方接收并进行处理,而不是被缓冲起来等待其他数据。当发送方设置PSH位时,它告诉接收方“请尽快将这些数据传递给应用程序”。这在某些需要即时处理数据的场景中非常有用,例如,当发送文本或文件传输时,接收方希望能够立即看到发送方发送的数据,而不是等待缓冲区填满后才进行处理。
(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。
我执行了sysinfo
命令,随后抓到了如下数据包:
(3)使用SysTracer动态分析
SysTracer的下载官网在
SysTracer Download (blueproject.ro)
在木马运行前和木马与远端连接后分别截取系统快照,为了加快快照进程,我只截取了系统注册表,但是每次获取还是需要3分钟左右。
将两次快照进行对比,可以看出注册表中修改了部分信息。
二、实验问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
可以进行日志文件审查,使用日志分析工具,如Logstash、Splunk或自定义脚本,来筛选异常事件,如未授权的登录尝试、异常的访问模式等。
也可以网络流量监控,使用Wireshark、tcpdump或NetFlow,来捕获和分析网络数据包。注意异常的流量模式,如与不寻常的IP地址通信或在非工作时间的流量峰值。
最后,还要注意定期进行恶意软件扫描,使用知名的反病毒软件,如ClamAV(Linux)、Windows Defender(Windows)或其他第三方安全产品,来扫描已知的恶意软件。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
可以使用Process Monitor,查看进程的文件系统操作,包括文件的创建、读取、写入和删除操作。以及注册表的更改,如键值的添加、修改或删除。 进程和线程的网络活动,包括TCP/UDP连接和端口使用情况。进程的性能数据,如CPU使用率和内存占用。通过过滤和搜索功能,可以快速定位到特定进程的相关事件。
Wireshark 是一个网络协议分析器,可以捕获和交互式地浏览网络上的流量。用它可以识别程序的网络行为,如与远程服务器的通信模式。
三、实验总结与体会
一开始的时候,我没有给任务赋予最高权限,结果每次打开netstat20212217.txt
文件时,得到的结果都只有:请求的操作需要提升。
原因在于这个命令的/RL
开关的值默认为LIMITED
;要想解决这个问题也很简单,只需要在命令末尾加上/RL HIGHEST
,表示用最高权限执行,
变成```
schtasks /create /TN netstat20212217 /sc MINUTE /MO 1 /TR "D:\netstat20212217.bat" /RL HIGHEST
标签:分析,netstat20212217,exe,恶意代码,Exp4,sysmon,20212217,txt,数据包
From: https://www.cnblogs.com/cyber-explorer/p/18129742/exp4-lhq20212217