Microsoft SQL Server (MSSQL, port 1433) est la cible de base de données la plus productive dans un parc Windows. Il authentifie à la fois des connexions SQL et des comptes Windows/de domaine, son service s'exécute sous un compte privilégié qui parle NTLM, et il est livré avec des procédures stockées qui exécutent des commandes du système d'exploitation, atteignent d'autres serveurs et touchent au système de fichiers. Une seule connexion peu privilégiée s'enchaîne souvent jusqu'à SYSTEM sur l'hôte ou Domain Admin.
Pourquoi MSSQL compte#
- Il est intégré à AD : les utilisateurs de domaine peuvent être des principaux de base, et l'authentification du compte de service peut être forcée et relayée.
- Il exécute du code :
xp_cmdshellet plusieurs autres sinks donnent une exécution de commandes OS sous le compte de service. - Il est mis en réseau avec d'autres serveurs via les serveurs liés, donc une instance pivote vers plusieurs.
- Son modèle de privilèges (usurpation, propriété de base, TRUSTWORTHY) comporte des chaînes d'escalade bien rodées de
publicverssysadmin.
Pages#
- Énumération : trouver les instances, versions, connexions, bases et les privilèges que vous détenez.
- Accès : s'authentifier en tant que connexion SQL ou de domaine et les rôles qui comptent.
- Exécution de commandes : xp_cmdshell, automatisation OLE et CLR pour les commandes OS.
- Serveurs liés : interroger et exécuter à travers les liens de confiance entre serveurs.
- Usurpation : chaînes de propriété EXECUTE AS et TRUSTWORTHY vers sysadmin.
- Coercition et relais : xp_dirtree/xp_fileexist pour capturer ou relayer le compte de service.