实践目标
假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
安排命令和程序定期运行或在指定时间内运行。从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务。
sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。
快照对比、APIHooking、动态跟踪调试
netstatlog.bat
,内容如下date /t >> c:\netstatlog.txt //写入日期
time /t >> c:\netstatlog.txt //写入时间
netstat -bn >> c:\netstatlog.txt //写入netstat执行结果
netstaslog.txt
用于记录schtasks
命令创建一个新任务:schtasks /create /TN netstat5326 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
/tn TaskName 指定任务的名称。
/tr TaskRun 指定任务运行的程序或命令。977
如果忽略该路径,SchTasks.exe 将假定文件在Systemroot\System32 目录下。
/sc schedule 指定计划类型
/mo modifier 指定任务在其计划类型内的运行频率,默认值为 1
属性
,最高权限运行->操作
,脚本或程序:C:\netstatlog.bat
,然后开始运行使用excel表格查看并分析,相关指导
……还有一些就是很常见的一些软件的进程就不赘述啦
其实最有用的应该是svchost.exe
这一个,搜索总结了一下,大概是这样的
我们知道 Windows 和 Windows 的应用软件都 要使用大量的 DLL(Dynamic Link Libraries,动态链接库)文件,这些 DLL文 件一般都要向Windows申请各种各样的Service(服务),而Svchost. exe 就是其中一些服务的通用管理进程名(Generic Host Process Name),简单的说,Svchost.exe是这些服务的总称。每一个Svchost. exe 进程以一个 Group(组)的方式分组管理各种服务,每一个 Svchost.exe服务。
Svchost.exe在Windows XP的系统目录\Windows\System32?下,在启动的时候,Svchost.exe根据注册表中的相关信息建立一个 服务列表并根据这个列表加载相关的服务。一般来说,Svchost.exe 总是根据 HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost下面的键值分组管理DLL 申请的服务,这里的每一键值对应一个独立的Svchost.exe进程
常被病毒冒充的进程名有:svch0st.exe、schvost.exe、scvhost.exe。随着Windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由svchost.exe进程来启动。而系统服务是以动态链接库(DLL)形式实现的,它们把可执行程序指向svchost,由svchost调用相应服务的动态链接库来启动服务。
在任务管理器中只能看到Svchost.exe进程而看不到该进程所包含的服务,要想了解每个 Svchost.exe 进程下到底有什么服务,打开cmd输入:Tasklist / SVC
并回车就可以看到每个 Svchost.exe进程及 其所包含的各种服务,其中Image Name
:映像名,PID
:进程标识,Services
:进程所包含的各种服务(一般是缩写)。下面截取了当前部分x进程使用svchost.exe的图,冷静分析,没分析出来啥……这几个看起来都还挺正常的我们下一个
Sysmoncfg.txt
配置文件\\先用老师的试一下
<Sysmon schemaversion="4.20"> \\版本不一样,根据错误提示进行了修改
<!-- 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>
计算机管理
->事件查看器
->应用程序和服务日志
->Microsoft
->Windows
->Sysmon
),详细信息里能看到,下面是官网上的Sysmon的事件ID对应的意思,事件ID 1:流程创建
进程创建事件提供有关新创建进程的扩展信息。完整命令行提供流程执行的上下文。 ProcessGUID字段是跨域的此过程的唯一值,以使事件关联更容易。散列是文件的完整散列,其中的算法位于HashType字段中。
事件ID 2:进程更改了文件创建时间
当进程显式修改文件创建时间时,将注册更改文件创建时间事件。此事件有助于跟踪文件的实际创建时间。攻击者可能会更改后门的文件创建时间,使其看起来像是随操作系统一起安装的。请注意,许多进程合法地更改了文件的创建时间;它不一定表示恶意活动。
事件ID 3:网络连接
网络连接事件记录计算机上的TCP / UDP连接。默认情况下禁用它。每个连接都通过ProcessId和ProcessGUID字段链接到进程。该事件还包含源和目标主机名IP地址,端口号和IPv6状态。
事件ID 4:Sysmon服务状态已更改
服务状态更改事件报告Sysmon服务的状态(已启动或已停止)。
事件ID 5:进程终止
进程终止时,进程终止事件报告。它提供了该过程的UtcTime,ProcessGuid和ProcessId。
事件ID 6:驱动程序已加载
驱动程序加载的事件提供有关正在系统上加载的驱动程序的信息。提供配置的哈希值以及签名信息。出于性能原因,签名是异步创建的,并指示加载后文件是否已删除。
SearchFilterHost.exe是桌面搜索引擎的索引程序,其主要作用是建立快速索引文件,让用户能够更好的搜索出电脑中的任意资料。它会在计算机空闲时自动扫描索引位置的文件名、属性信息和给定类别的文件内容,这些索引位置默认包括桌面、收藏夹、开始菜单、系统目录。
Applications
->Runnning Processes
找到当前运行的程序Set-Location [目录]
进入要创建文件的目录,New-Item [文件名]
创建文件,一定要加后缀名!编辑文件,可以使用记事本打开:notepad.exe ./[file]
,点此查看其它方法分析的时间比较长,这次的实验名称应该叫“当我没看电脑的时候它都在干些什么”,总有种《her》的现实版的感觉,跟别的人连IP交换信息都是大猪蹄子hen。这次试验还是学到了很多有用的东西,如何使用一些小工具来分析电脑是否被恶意代码攻击等,深入学习加油
2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 20165326
原文:https://www.cnblogs.com/Czzzz/p/10666642.html