溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用功能強大的輕量級可擴展主機檢測分類SitRep工具

發(fā)布時間:2021-10-25 14:56:01 來源:億速云 閱讀:164 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“如何使用功能強大的輕量級可擴展主機檢測分類SitRep工具”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“如何使用功能強大的輕量級可擴展主機檢測分類SitRep工具”吧!

SitRep

SitRep旨在提供一個輕量級的、可擴展的主機分類替代方案。這個方案可以在運行時通過獨立文件來動態(tài)加載檢查機制,這將允許研究人員快速修改現(xiàn)有檢查,或根據(jù)需要添加新檢查。

這里的檢查按類別分組,可以標記為OpSec safe/unsafe,并且只有在提供了/AllowUnsafe參數(shù)時才會進行不安全的檢查。

方案所檢測到的有意思的結(jié)果將使用“[*]”符號進行標記。

檢查分類方案

SitRep的檢查機制可以劃分為各種不同的類別,這樣可以更加有效地為研究人員提供可用信息。當前的SitRep提供了以下檢查分類方案。

環(huán)境

CurrentUser.cs - 當前用戶

DomainName.cs - 域名

HostName.cs - 主機名

LoggedOnUsers.cs - 顯示所有已登錄用戶

OSVersion.cs - 操作系統(tǒng)版本信息

VirtualEnvironment.cs - 檢查我們是否在虛擬化環(huán)境中運行

userEnvironmentVariables.cs - 獲取應(yīng)用于當前進程的環(huán)境變量

SystemEnvironmentVariables.cs - 從注冊表(HKLM)獲取系統(tǒng)環(huán)境變量

NameServers.cs - 獲取每個網(wǎng)絡(luò)接口的DNS服務(wù)器

防御

AVProcesses.cs - 檢查是否有任何已知的AV進程正在運行

權(quán)限

Integrity.cs - 獲取當前進程的完整性級別

LocalAdmin.cs - 檢查我們是否是本地管理員

Privileges.cs - 列出我們目前的特權(quán)

UACLevel.cs - 獲取UAC級別

UserDomainGroups.cs - 獲取用戶域組成員身份

ComputerDomainGroups.cs - 獲取計算機所屬的域組

軟件

InstalledBrowsers.cs - 列出終端節(jié)點上安裝的瀏覽器

憑證

CredentialManager.cs - 檢索存儲在Windows憑據(jù)管理器中的當前用戶的憑證

下列檢測當前不會被標記為OpSec safe:

CredentialManager.cs

ComputerDomainGroups.cs

UserDomainGroups.cs

如果有需要的話,你可以修改相關(guān)的配置并更新OpSec標簽。

禁用某項檢測

默認配置下,SitRep的所有檢測都是自動啟用的。到那時,由于所有的檢測都是動態(tài)加載的,因此我們是可以根據(jù)需要來禁用某些檢測的。

CheckBase中包含了一個名為“Enabled”的布爾值選項,該選項默認為True。我們可以通過添加構(gòu)造函數(shù)來在派生類中進行自定義設(shè)置。下面的例子中我們將禁用當前用戶的檢測(CurrentUser.cs):

public CurrentUser()

{

    base.Enabled = false;

}

排除某項檢測

由于檢測是動態(tài)加載的,因此我們同樣可以排除某項檢測。最簡單的方法就是在Visual Studio中,右鍵點擊目標檢測類,然后選擇“exclude from project”。

使用樣例

運行所有檢測:

SitRep.exe /AllowUnsafe

僅進行OpSec safe檢測(默認):

SitRep.exe

SitRep執(zhí)行樣例:

如何使用功能強大的輕量級可擴展主機檢測分類SitRep工具

添加檢測

SitRep的所有檢測類都繼承自CheckBase基類,并且實現(xiàn)了ICheck接口,這樣可以強制實現(xiàn)動態(tài)監(jiān)測加載的需求。當然了,我們也可以根據(jù)需要去調(diào)用其他的方法或增加其他的類。

ICheck接口暴露了下列屬性和方法:

IsOpsecSafe (bool) - 表明檢測是否為OpSec safe

DisplayOrder (int) - 在其顯示組中顯示此檢查結(jié)果的順序

Check() - 調(diào)用執(zhí)行實際檢測的方法

派生類必須重寫CheckBase中定義的“ToString()”方法,并在顯示每個檢查的輸出時調(diào)用此方法。

本地訪問方法是通過“NativeMethods”目錄中的類來提供的,每一個類都以它們需要交互的DLL來進行名命。

每一個檢查都要自己負責(zé)處理自己的錯誤,整個檢測方法都會封裝在一個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工具”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI