本篇内容主要讲解“如何使用功能强大的轻量级可扩展主机检测分类SitRep工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用功能强大的轻量级可扩展主机检测分类SitRep工具”吧!
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、重庆小程序开发公司、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了罗甸免费建站欢迎大家使用!
SitRep旨在提供一个轻量级的、可扩展的主机分类替代方案。这个方案可以在运行时通过独立文件来动态加载检查机制,这将允许研究人员快速修改现有检查,或根据需要添加新检查。
这里的检查按类别分组,可以标记为OpSec safe/unsafe,并且只有在提供了/AllowUnsafe参数时才会进行不安全的检查。
方案所检测到的有意思的结果将使用“[*]”符号进行标记。
SitRep的检查机制可以划分为各种不同的类别,这样可以更加有效地为研究人员提供可用信息。当前的SitRep提供了以下检查分类方案。
CurrentUser.cs - 当前用户 DomainName.cs - 域名 HostName.cs - 主机名 LoggedOnUsers.cs - 显示所有已登录用户 OSVersion.cs - 操作系统版本信息 VirtualEnvironment.cs - 检查我们是否在虚拟化环境中运行 userEnvironmentVariables.cs - 获取应用于当前进程的环境变量 SystemEnvironmentVariables.cs - 从注册表(HKLM)获取系统环境变量 NameServers.cs - 获取每个网络接口的DNS服务器
AVProcesses.cs - 检查是否有任何已知的AV进程正在运行
Integrity.cs - 获取当前进程的完整性级别 LocalAdmin.cs - 检查我们是否是本地管理员 Privileges.cs - 列出我们目前的特权 UACLevel.cs - 获取UAC级别 UserDomainGroups.cs - 获取用户域组成员身份 ComputerDomainGroups.cs - 获取计算机所属的域组
InstalledBrowsers.cs - 列出终端节点上安装的浏览器
CredentialManager.cs - 检索存储在Windows凭据管理器中的当前用户的凭证
下列检测当前不会被标记为OpSec safe:
CredentialManager.cs ComputerDomainGroups.cs UserDomainGroups.cs
如果有需要的话,你可以修改相关的配置并更新OpSec标签。
默认配置下,SitRep的所有检测都是自动启用的。到那时,由于所有的检测都是动态加载的,因此我们是可以根据需要来禁用某些检测的。
CheckBase中包含了一个名为“Enabled”的布尔值选项,该选项默认为True。我们可以通过添加构造函数来在派生类中进行自定义设置。下面的例子中我们将禁用当前用户的检测(CurrentUser.cs):
public CurrentUser() { base.Enabled = false; }
由于检测是动态加载的,因此我们同样可以排除某项检测。最简单的方法就是在Visual Studio中,右键点击目标检测类,然后选择“exclude from project”。
运行所有检测:
SitRep.exe /AllowUnsafe
仅进行OpSec safe检测(默认):
SitRep.exe
SitRep的所有检测类都继承自CheckBase基类,并且实现了ICheck接口,这样可以强制实现动态监测加载的需求。当然了,我们也可以根据需要去调用其他的方法或增加其他的类。
IsOpsecSafe (bool) - 表明检测是否为OpSec safe DisplayOrder (int) - 在其显示组中显示此检查结果的顺序 Check() - 调用执行实际检测的方法
派生类必须重写CheckBase中定义的“ToString()”方法,并在显示每个检查的输出时调用此方法。
本地访问方法是通过“NativeMethods”目录中的类来提供的,每一个类都以它们需要交互的DLL来进行名命。
每一个检查都要自己负责处理自己的错误,整个检测方法都会封装在一个try-catch语句块中。
空的检测方法如下所示:
using SitRep.Interfaces; using System; namespace SitRep.Checks.Software { class ExampleCheck : CheckBase, ICheck { public bool IsOpsecSafe => true; public int DisplayOrder => 1; public Enums.Enums.CheckType CheckType => Enums.Enums.CheckType.Credential; public void Check() { try { throw new NotImplementedException(); } catch { Message = "Check failed [*]"; } } public override string ToString() { throw new NotImplementedException(); } } }
到此,相信大家对“如何使用功能强大的轻量级可扩展主机检测分类SitRep工具”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!