Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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
MSSQLand — Strumento di post-exploitation in C# per Microsoft SQL Server (MS SQL / MSSQL) che attraversa catene di server collegati di qualsiasi profondità con impersonificazione di login a cascata a ogni salto. | Kitploit
Strumenti/GitHubGitHub/n3rada/mssqland
Escalation di PrivilegiStrumenti di ImpersonificazioneMovimento LateraleAudit di ConfigurazioneRaccolta InformazioniPost-ExploitPenetration TestingRed TeamingSicurezza dei Database
GitHubn3rada/mssqland

MSSQLand

Strumento di post-exploitation in C# per Microsoft SQL Server (MS SQL / MSSQL) che attraversa catene di server collegati di qualsiasi profondità con impersonificazione di login a cascata a ogni salto.

759752 mesi 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
Vedi Repository

✈️ MSSQLand

Atterra con eleganza nel tuo database Microsoft SQL Server (MS SQL) di destinazione, come se arrivassi su un volo business class con un calice di champagne in mano. 🥂

Capacità di concatenamento di MSSQLand

MSSQLand è uno strumento di post-sfruttamento per Microsoft SQL Server (MSSQL / MS SQL) scritto in C#, progettato per operatori red team. Progettato per essere eseguito direttamente nell'ambiente target tramite i tuoi beacon (ad esempio, usando execute-assembly in Cobalt Strike o Havoc o qualsiasi comando dotnet), ti consente di attraversare catene di server collegati, impersonare qualsiasi login incontrato lungo il percorso e uscire dall'ultimo hop con qualsiasi azione desiderata. Il tutto con un'impronta OPSEC minima e senza dipendenze esterne.

  • Attraversamento dei server collegati: wrapping automatico di OPENQUERY / EXEC AT attraverso catene arbitrariamente profonde
  • Impersonificazione: EXECUTE AS LOGIN ad ogni hop con impersonificazione a cascata multi-utente
  • Autenticazione: token Windows corrente, pass-the-hash tramite impersonificazione del token del beacon, Kerberos
  • Scoperta: SQL Browser (UDP 1434), enumerazione SPN di Active Directory tramite LDAP, broadcast, scansione porta TDS
  • ConfigMgr / SCCM / MECM: azioni dedicate cm-* per ricognizione e sfruttamento dei database di Microsoft Configuration Manager
  • Output: tabelle compatibili con Markdown con timestamp, esportazione CSV per deliverable puliti di pentest

[!TIP] MSSQLand è realizzato con .NET Framework 4.8, pensato per l'esecuzione di assembly, utilizzando il contesto corrente. Se devi connetterti utilizzando hash NT/LM o un ticket Kerberos, vedi Pass-the-Hash.

[!NOTE] Non dimenticare le basi. Durante un assessment di sicurezza, a volte è più facile usare SQL Server Management Studio (SSMS).

🧸 Utilizzo

MSSQLand.exe [options] <host> [options] <action> [action-options]
MSSQLand.exe <host> --probe

I flag globali (-c, -l, --debug, ecc.) sono accettati in qualsiasi posizione, anche dopo il nome dell'azione; i token non riconosciuti dopo l'azione vengono passati così come sono all'azione.

[!NOTE] Omettere <action> esegue solo un test di connessione. Si autentica ed esce senza eseguire query. Ideale per la validazione delle credenziali con un'impronta OPSEC minima.

[!TIP] Evita di scrivere manualmente tutte le chiamate RPC Out o OPENQUERY. Lascia che lo strumento gestisca qualsiasi catena di server collegati con l'argomento -l, così puoi concentrarti sul quadro generale.

Formato: server:port/user@database o qualsiasi combinazione server/user@database:port.

  • server (obbligatorio) - Il nome host o l'IP del SQL Server
  • :port (opzionale) - Numero di porta (predefinito: 1433, anche comuni: 1434, 14333, 2433)
  • /user (opzionale) - Utente da impersonare su questo server ("execute as login")
    • Supporta impersonificazione a cascata: /user1/user2/user3 esegue EXECUTE AS LOGIN = 'user1'; EXECUTE AS LOGIN = 'user2'; EXECUTE AS LOGIN = 'user3';
    • Ogni /user inserisce un nuovo contesto di impersonificazione nello stack di sicurezza
  • @database (opzionale) - Contesto del database
# Connectivity probe: checks if server is alive without authenticating
MSSQLand.exe localhost --probe

# Connection test only (no action executed, authenticates and exits)
MSSQLand.exe localhost -c token

# Execute specific action
MSSQLand.exe localhost -c token info
MSSQLand.exe localhost:1434@db03 -c token info
MSSQLand.exe LAB-SQL01@AdventureWorks -c token tables -n Customer

🔗 Catena di Server Collegati

Collega più server SQL utilizzando il flag -l con punto e virgola (;) come separatore:

-l SQL01;SQL02/user;SQL03@database

Sintassi:

  • Punto e virgola (;) - Separa i server nella catena
  • Barra (/) - Specifica l'utente da impersonare ("execute as login")
    • Supporta impersonificazione a cascata: /user1/user2 esegue impersonificazioni sequenziali
  • Chiocciola (@) - Specifica il contesto del database
  • Parentesi quadre ([...]) - Usate per proteggere il nome del server dall'essere diviso dai nostri delimitatori

Esempi:

# Simple chain
-l SQL01;SQL02;SQL03

# With impersonation and databases
-l SQL01/admin;SQL02;SQL03/manager@clients

# Cascading impersonation (impersonate user1, then user2 on SQL01)
-l SQL01/user1/user2;SQL02;SQL03

# Mixed cascading (SQL01: user1→user2, SQL03: user3→user4→user5)
-l SQL01/user1/user2;SQL02;SQL03/user3/user4/user5@database

# Server names can contain hyphens, dots (no brackets needed)
-l SQL-01;SERVER.001;HOST.DOMAIN.COM

# Brackets only needed if server name contains delimiter characters
-l [SERVER;PROD];SQL02;[SQL03@clients]@clientdb

[!NOTE] La specifica della porta (:port) si applica solo alla connessione host iniziale. Le catene di server collegati (-l) usano i nomi dei server collegati come configurati in sys.servers, non combinazioni hostname:port.

🔍 Scoperta

Queste modalità non richiedono autenticazione e funzionano prima di avere le credenziali.

📡 Servizio di Esplorazione

Il servizio SQL Server Browser ascolta su UDP 1434 e risponde alle richieste di scoperta con l'elenco delle istanze di SQL Server in esecuzione su un host, inclusi nomi, versioni e porte TCP. È utile quando il target esegue istanze con nome su porte dinamiche, non è necessario indovinare o scansionare.

# Query the SQL Browser service on a specific host (UDP 1434)
MSSQLand.exe LAB-SQL03 --browse

📂 Query LDAP

Active Directory espone le registrazioni di SQL Server tramite Nomi Principal di Servizio (SPN) memorizzati su account computer e servizio. MSSQLand interroga AD tramite LDAP per gli SPN MSSQLSvc/* per enumerare le istanze di SQL Server nel dominio, o nell'intera foresta tramite il Catalogo Globale.

# Find SQL Servers in Active Directory via LDAP (current domain)
MSSQLand.exe --findsql

# Target a specific domain
MSSQLand.exe --findsql pgd.lab

# Forest-wide search via Global Catalog (port 3268)
MSSQLand.exe --findsql pgd.lab --gc

La scoperta è multilivello. Vedi FindSqlServers.cs per maggiori dettagli.

📢 Broadcast

SQL Server Browser risponde anche a pacchetti broadcast UDP su UDP 1434, consentendo la scoperta di tutte le istanze di SQL Server che si pubblicizzano sulla sottorete locale.

# Broadcast discovery on the local network (UDP 1434)
MSSQLand.exe --broadcast
MSSQLand.exe --broadcast --timeout 5

[!TIP] Questo è particolarmente utile quando un SQL Server è in esecuzione su una macchina che non è unita al dominio e quindi non apparirà in nessuna query LDAP o SPN. Pensa a server standalone, macchine di sviluppo o istanze canaglia attivate su una VLAN interna.

🔌 Scansione Porta

Scarica lo strumento