Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/mdsecactivebreach/sitrep
Escalation di PrivilegiRicognizioneRaccolta InformazioniPost-ExploitRed Teaming
GitHubmdsecactivebreach/sitrep

sitrep

Strumento estensibile per il triage degli host per i red team, che carica dinamicamente controlli sensibili all'OpSec per raccogliere informazioni su utenti, domini, privilegi e credenziali da endpoint Windows tramite execute-assembly.

Vedi Repository
127266 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

SitRep

Triage host estensibile e configurabile.

Scopo

SitRep è pensato per fornire un'alternativa leggera ed estensibile per il triage degli host. I controlli vengono caricati dinamicamente a runtime da file indipendenti. Ciò consente agli operatori di modificare rapidamente i controlli esistenti o aggiungerne di nuovi secondo necessità.

I controlli sono raggruppati per categoria e possono essere contrassegnati come OpSec sicuri/non sicuri. I controlli non sicuri vengono caricati solo se viene fornito il flag /AllowUnsafe.

I risultati interessanti sono evidenziati con un "[*]"

Controlli

I controlli sono suddivisi in categorie. Ciò consente di visualizzarli in gruppi appropriati. I seguenti controlli sono attualmente disponibili:

Environment

  • CurrentUser.cs - l'utente corrente
  • DomainName.cs - il nome del dominio
  • HostName.cs - il nome host
  • LoggedOnUsers.cs - Elenca tutti gli utenti connessi
  • OSVersion.cs - informazioni sulla versione del sistema operativo
  • VirtualEnvironment.cs - Verifica se si opera in un ambiente virtualizzato
  • userEnvironmentVariables.cs - Acquisisce le variabili d'ambiente applicate al processo corrente
  • SystemEnvironmentVariables.cs - Acquisisce le variabili d'ambiente di sistema dal registro (HKLM)
  • NameServers.cs - Ottiene i server DNS per ogni interfaccia di rete

Difese

  • AVProcesses.cs - Verifica se sono in esecuzione processi antivirus noti

Permessi

  • Integrity.cs - Ottiene il livello di integrità del processo corrente
  • LocalAdmin.cs - Verifica se si è amministratore locale
  • Privileges.cs - Elenca i privilegi correnti.
  • UACLevel.cs - Ottiene il livello UAC
  • UserDomainGroups.cs - Ottiene le appartenenze ai gruppi di dominio dell'utente
  • ComputerDomainGroups.cs - Ottiene i gruppi di dominio di cui il computer è membro

Software

  • InstalledBrowsers.cs - Elenca i browser installati sull'endpoint

Credenziali

  • CredentialManager.cs - Recupera le credenziali memorizzate in Gestione credenziali di Windows per l'utente corrente

I seguenti controlli sono attualmente contrassegnati come non sicuri per OpSec:

  • CredentialManager.cs
  • ComputerDomainGroups.cs
  • UserDomainGroups.cs

Dovresti rivedere questa configurazione e aggiornare i tag OpSec secondo necessità.

Disabilitazione dei Controlli

Tutti i controlli sono abilitati per impostazione predefinita. Tuttavia, poiché i controlli vengono caricati dinamicamente, è possibile disabilitarli.

Disabilitazione di un controllo

CheckBase include una proprietà booleana 'Enabled', che per impostazione predefinita è true. Può essere impostata nella classe derivata aggiungendo un costruttore. L'esempio seguente disabilita il controllo CurrentUser (CurrentUser.cs):

root@kitploit:~
public CurrentUser()
{
    base.Enabled = false;
}

Esclusione dei controlli dalla build

Poiché i controlli vengono caricati dinamicamente, è possibile escludere un controllo dalla build senza altre modifiche. Il modo più semplice è fare clic con il pulsante destro del mouse sulla classe del controllo in Visual Studio e selezionare "Escludi dal progetto". Il controllo può essere riaggiunto selezionando "Includi nel progetto" dallo stesso menu contestuale.

Questo approccio ha il vantaggio di rimuovere il codice dall'artefatto compilato.

Esempio di Utilizzo

Esegui tutti i controlli

root@kitploit:~
SitRep.exe /AllowUnsafe

Esegui solo controlli sicuri per OpSec (predefinito)

root@kitploit:~
SitRep.exe

SitRep è progettato per essere eseguito tramite execute-assembly (o equivalente)

screenshot

Aggiunta di Controlli

I controlli ereditano da CheckBase e implementano l'interfaccia ICheck. Questo impone i pattern necessari per il caricamento dinamico dei controlli. Altri metodi e classi possono essere aggiunti secondo necessità.

L'interfaccia ICheck espone le seguenti proprietà e metodi:

  • IsOpsecSafe (bool) - Indica se il controllo è considerato sicuro per OpSec o meno
  • DisplayOrder (int) - L'ordine in cui visualizzare il risultato di questo controllo all'interno del suo gruppo di visualizzazione
  • Check() - Il metodo chiamato per eseguire il controllo effettivo

Le classi derivate devono sovrascrivere il metodo 'ToString()' definito in CheckBase. Questo metodo viene chiamato quando si visualizza l'output di ogni controllo.

L'accesso ai metodi nativi è fornito tramite classi nella cartella 'NativeMethods'. Ogni classe è nominata in base alla DLL con cui interagisce.

I controlli sono responsabili di fornire la propria gestione degli errori. I controlli attuali racchiudono l'intero metodo 'check' in un blocco try-catch, l'uso di questo pattern è incoraggiato.

Di seguito è mostrato un esempio di controllo vuoto

root@kitploit:~
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();
        }
    }
}

Contribuire

I PR sono benvenuti. Assicurati che i controlli siano autonomi (cioè non dipendenti dall'output di altri controlli). Per quanto possibile, i controlli dovrebbero essere autocontenuti, con tutto il codice monouso presente all'interno della classe del controllo.

Perché nessun test unitario?

Hai mai provato a simulare un endpoint Windows unito a un dominio? Ecco perché.

Ringraziamenti

SitRep utilizza codice da Seatbelt, SharpUp e post casuali di StackOverflow. I crediti sono stati aggiunti dove appropriato.

Scarica lo strumento