Network - Privesc, Port Scanner and NTLM chanllenge response disclosure
Trouvez plus d'informations sur ces attaques dans le document original.
Depuis PostgreSQL 9.1, l'installation de modules supplémentaires est simple. Les extensions enregistrées comme dblink
peuvent être installées avec CREATE EXTENSION
:
Une fois que vous avez chargé dblink, vous pourriez être en mesure d'effectuer quelques astuces intéressantes :
Élévation de privilèges
Le fichier pg_hba.conf
pourrait être mal configuré, autorisant les connexions depuis localhost en tant que n'importe quel utilisateur sans avoir besoin de connaître le mot de passe. Ce fichier est généralement situé dans /etc/postgresql/12/main/pg_hba.conf
et une mauvaise configuration ressemble à :
Notez que cette configuration est couramment utilisée pour modifier le mot de passe d'un utilisateur de base de données lorsque l'administrateur l'oublie, donc parfois vous pouvez la trouver. Notez également que le fichier pg_hba.conf est lisible uniquement par l'utilisateur et le groupe postgres et modifiable uniquement par l'utilisateur postgres.
Ce cas est utile si vous avez déjà un shell à l'intérieur de la victime car cela vous permettra de vous connecter à la base de données postgresql.
Une autre mauvaise configuration possible consiste en quelque chose comme ceci :
Comme cela permettra à tout le monde depuis le localhost de se connecter à la base de données en tant qu'utilisateur.
Dans ce cas et si la fonction dblink
fonctionne, vous pourriez escalader les privilèges en vous connectant à la base de données via une connexion déjà établie et accéder à des données auxquelles vous ne devriez pas pouvoir accéder:
Balayage de ports
En abusant de dblink_connect
, vous pourriez également rechercher des ports ouverts. Si cette **fonction ne fonctionne pas, vous devriez essayer d'utiliser dblink_connect_u()
car la documentation indique que dblink_connect_u()
est identique à dblink_connect()
, sauf qu'elle permet aux non-superutilisateurs de se connecter en utilisant n'importe quelle méthode d'authentification_.
Notez que avant de pouvoir utiliser dblink_connect
ou dblink_connect_u
, vous devrez peut-être exécuter :
Chemin UNC - Divulgation du hachage NTLM
Last updated