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
PySQLRecon — Toolkit offensivo per MSSQL scritto in Python, basato su SQLRecon | Kitploit
Strumenti/GitHubGitHub/tw1sm/pysqlrecon
ExploitPost-ExploitPenetration TestingCommand and ControlRed TeamingSicurezza dei Database
GitHubtw1sm/pysqlrecon

PySQLRecon

Toolkit offensivo per MSSQL scritto in Python, basato su SQLRecon

Vedi Repository
212163 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

PySQLRecon

Python PyPi

PySQLRecon è un porting Python del fantastico progetto SQLRecon di @sanjivkawa. Vedi la sezione comandi per un elenco delle capacità.

Post che dimostra SCCM TAKEOVER-1 con PySQLRecon.

Installazione

PySQLRecon può essere installato con pip3 install pysqlrecon o clonando questo repository ed eseguendo pip3 install .

Comandi

Tutti i moduli principali di SQLRecon hanno comandi equivalenti. I comandi contrassegnati con [PRIV] richiedono privilegi elevati o diritti di amministratore di sistema per essere eseguiti. In alternativa, i comandi contrassegnati con [NORM] possono probabilmente essere eseguiti da utenti normali e non richiedono privilegi elevati.

Il supporto per l'impersonificazione ([I]) o l'esecuzione su server collegati ([L]) è indicato alla fine della descrizione del comando.

root@kitploit:~
adsi                 [PRIV] Ottieni credenziali ADSI dal server collegato ADSI [I,L]
agentcmd             [PRIV] Esegui un comando di sistema utilizzando i processi dell'agente [I,L]
agentstatus          [PRIV] Enumera lo stato e i processi dell'agente SQL [I,L]
checkrpc             [NORM] Enumera lo stato RPC dei server collegati [I,L]
clr                  [PRIV] Carica ed esegui assembly .NET in una stored procedure [I,L]
columns              [NORM] Enumera le colonne all'interno di una tabella [I,L]
databases            [NORM] Enumera i database su un server [I,L]
disableclr           [PRIV] Disabilita l'integrazione CLR [I,L]
disableole           [PRIV] Disabilita le procedure di automazione OLE [I,L]
disablerpc           [PRIV] Disabilita RPC e RPC Out sul server collegato [I]
disablexp            [PRIV] Disabilita xp_cmdshell [I,L]
enableclr            [PRIV] Abilita l'integrazione CLR [I,L]
enableole            [PRIV] Abilita le procedure di automazione OLE [I,L]
enablerpc            [PRIV] Abilita RPC e RPC Out sul server collegato [I]
enablexp             [PRIV] Abilita xp_cmdshell [I,L]
impersonate          [NORM] Enumera gli utenti che possono essere impersonificati
info                 [NORM] Raccogli informazioni sul server SQL
links                [NORM] Enumera server collegati [I,L]
olecmd               [PRIV] Esegui un comando di sistema utilizzando procedure di automazione OLE [I,L]
query                [NORM] Esegui una query SQL personalizzata [I,L]
rows                 [NORM] Ottieni il conteggio delle righe in una tabella [I,L]
sample               [NORM] Query di un campione di dati di tabella [I,L]
sccm                 [SUBM] Sottomodulo per comandi specifici di SCCM
search               [NORM] Cerca in una tabella un nome di colonna [I,L]
smb                  [NORM] Forza l'autenticazione NetNTLM tramite xp_dirtree [I,L]
tables               [NORM] Enumera le tabelle all'interno di un database [I,L]
users                [NORM] Enumera gli utenti con accesso al database [I,L]
whoami               [NORM] Raccogli utente connesso, utente mappato e ruoli [I,L]
xpcmd                [PRIV] Esegui un comando di sistema utilizzando xp_cmdshell [I,L]     

Comandi SCCM

I comandi SCCM si trovano eseguendo pysqlrecon [OPTIONS] sccm -h (i flag globali richiesti devono essere specificati per farlo funzionare - vedi utilizzo)

root@kitploit:~
addadmin             [PRIV] Eleva un account ad Amministratore completo [I]
credentials          [NORM] Mostra credenziali crittografate [I]
logons               [NORM] Mostra client SCCM e ultimo utente connesso [I]
removeadmin          [PRIV] Rimuovi account elevato o privilegi elevati [I]
sites                [NORM] Raccogli informazioni sui siti SCCM [I]
taskdata             [NORM] Decifra sequenze di attività [I]
tasklist             [NORM] Mostra sequenze di attività [I]
users                [NORM] Enumera utenti SCCM [I]   

Utilizzo

PySQLRecon dispone di opzioni globali (disponibili per qualsiasi comando), con alcuni comandi che introducono flag aggiuntivi. Tutte le opzioni globali devono essere specificate prima del nome del comando:

root@kitploit:~
pysqlrecon [GLOBAL_OPTS] COMMAND [COMMAND_OPTS]

Visualizza le opzioni globali:

root@kitploit:~
pysqlrecon --help

Visualizza le opzioni specifiche del comando:

root@kitploit:~
pysqlrecon [GLOBAL_OPTS] COMMAND --help

Cambia il database a cui autenticarsi, o utilizzato in alcuni comandi di PySQLRecon (query, tables, columns rows), con il flag --database.

Esegui come target un comando di PySQLRecon su un server collegato (invece del server SQL a cui si è autenticati) utilizzando il flag --link.

Impersonifica un account utente durante l'esecuzione di un comando PySQLRecon con il flag --impersonate.

--link e --impersonate sono incompatibili.

Utilizzo con ntlmrelayx

PySQLRecon può essere utilizzato con proxychains per sfruttare l'autenticazione reindirizzata verso un servizio mssql://. A causa del funzionamento delle sessioni ntlmrelayx, il parametro --database non verrà rispettato durante l'esecuzione di PySQLRecon (la sessione di relay sarà sempre connessa al database master). Questo può essere rilevante specialmente quando si utilizzano moduli SCCM, che richiedono che il database del sito sia specificato. Per risolvere, prima cambia il contesto del database utilizzando il modulo query (questo persisterà in qualsiasi utilizzo successivo di PySQLRecon, con la stessa sessione di relay). Esempio:

root@kitploit:~
proxychains4 pysqlrecon -t <target> -d <DOMAIN> -u <username> -p FAKE query --query 'use new_db_name'

Ora puoi eseguire moduli/query che mirano a risorse all'interno di quel database specifico, anche senza specificare --database, dalla stessa sessione ntlmrelayx.

Sviluppo

pysqlrecon utilizza uv per gestire le dipendenze. Installa dal sorgente e configura per lo sviluppo con:

root@kitploit:~
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install pysqlrecon
git clone https://github.com/tw1sm/pysqlrecon
cd pysqlrecon
uv sync
uv run pysqlrecon --help

Aggiungere un Comando

PySQLRecon è facilmente estendibile - vedi il template e le istruzioni in resources

TODO

  • Aggiungi comandi SCCM di SQLRecon
  • Aggiungere supporto per Azure SQL DB?

Riferimenti e Crediti

  • Impacket
  • @sanjivkawa per il progetto SQLRecon
  • https://securityintelligence.com/x-force/databases-beware-abusing-microsoft-sql-server-with-sqlrecon/
  • https://gist.github.com/skahwah/a585e176e4a5cf319b0c759637f5c410
  • Vedi anche MSSqlPwner per altre capacità offensive MSSQL scritte in Python
  • PXEThief
Scarica lo strumento