Network - Privesc, Port Scanner and NTLM chanllenge response disclosure
Encuentra más información sobre estos ataques en el documento original.
Desde PostgreSQL 9.1, la instalación de módulos adicionales es sencilla. Las extensiones registradas como dblink
se pueden instalar con CREATE EXTENSION
:
Una vez que hayas cargado dblink, podrías ser capaz de realizar algunos trucos interesantes:
Escalada de Privilegios
El archivo pg_hba.conf
podría estar mal configurado permitiendo conexiones desde localhost como cualquier usuario sin necesidad de conocer la contraseña. Este archivo suele encontrarse en /etc/postgresql/12/main/pg_hba.conf
y una mala configuración se vería así:
Nota que esta configuración se usa comúnmente para modificar la contraseña de un usuario de base de datos cuando el administrador la olvida, por lo que a veces puedes encontrarla. También ten en cuenta que el archivo pg_hba.conf solo es legible por el usuario y grupo postgres y solo se puede escribir por el usuario postgres.
Este caso es útil si ya tienes una shell dentro de la víctima, ya que te permitirá conectarte a la base de datos de postgresql.
Otra posible mala configuración consiste en algo como esto:
Como permitirá que cualquier persona desde el localhost se conecte a la base de datos como cualquier usuario.
En este caso y si la función dblink
está funcionando, podrías elevar privilegios conectándote a la base de datos a través de una conexión ya establecida y acceder a datos a los que no deberías poder acceder:
Escaneo de Puertos
Abusando de dblink_connect
, también podrías buscar puertos abiertos. Si esa **función no funciona, deberías intentar usar dblink_connect_u()
ya que la documentación indica que dblink_connect_u()
es idéntico a dblink_connect()
, excepto que permitirá a los usuarios no superusuarios conectarse utilizando cualquier método de autenticación.
Ten en cuenta que antes de poder usar dblink_connect
o dblink_connect_u
es posible que necesites ejecutar:
Ruta UNC - Divulgación de hash NTLM
Última actualización