Network - Privesc, Port Scanner and NTLM chanllenge response disclosure
Encontre mais informações sobre esses ataques no artigo original.
Desde o PostgreSQL 9.1, a instalação de módulos adicionais é simples. Extensões registradas como dblink
podem ser instaladas com CREATE EXTENSION
:
Uma vez que você tenha o dblink carregado, você pode ser capaz de realizar alguns truques interessantes:
Escalação de Privilégios
O arquivo pg_hba.conf
pode estar mal configurado permitindo conexões de localhost como qualquer usuário sem precisar saber a senha. Este arquivo geralmente pode ser encontrado em /etc/postgresql/12/main/pg_hba.conf
e uma configuração ruim se parece com:
Note que esta configuração é comumente usada para modificar a senha de um usuário do banco de dados quando o administrador a esquece, então às vezes você pode encontrá-la. Note também que o arquivo pg_hba.conf é legível apenas pelo usuário e grupo postgres e gravável apenas pelo usuário postgres.
Este caso é útil se você já tem um shell dentro da vítima, pois permitirá que você se conecte ao banco de dados postgresql.
Outra possível má configuração consiste em algo como isso:
Como permitirá que todos, do localhost, se conectem ao banco de dados como qualquer usuário.
Neste caso e se a função dblink
estiver funcionando, você poderia elevar privilégios conectando-se ao banco de dados por meio de uma conexão já estabelecida e acessar dados aos quais não deveria ter acesso:
Varredura de Portas
Abusando do dblink_connect
, você também poderia pesquisar portas abertas. Se essa função não funcionar, você deve tentar usar dblink_connect_u()
, pois a documentação diz que dblink_connect_u()
é idêntico ao dblink_connect()
, exceto que permitirá que não superusuários se conectem usando qualquer método de autenticação.
Note que antes de poder usar dblink_connect
ou dblink_connect_u
, você pode precisar executar:
Caminho UNC - Divulgação de hash NTLM
Last updated