Underc0de - La Casa de los Informáticos

[In]Seguridad Informática => Seguridad web y en servidores => Mensaje iniciado por: Lonewolf en Octubre 14, 2016, 09:24:35 AM

Título: Bypassear el WAF con Sqlmap
Publicado por: Lonewolf en Octubre 14, 2016, 09:24:35 AM
Hola en esta entrada vamos a ver como bypassear el WAF (Web Application Firewall) con la herramienta sqlmap y sus tampers .
Que es un Tamper ?
-Un tamper es un script compatible con sqlmap cuya funcion es simplemente camuflar los payloads para asi burlar los sistemas de proteccion de los cortafuegos que traen las bases de datos .

Que tampers tenemos disponibles por defecto en sqlmap ?
-Tenemos una gran cantidad de tampers para burlar distintas soluciones de seguridad . La ubicacion de los tampers es :
En el caso de tenerlo instalado :  /usr/share/sqlmap/tamper
Si lo clonaron desde github es : /sqlmap/tamper
(http://i.imgur.com/iyultpX.png)
Funcion de los tampers mas utilizados :
space2comment.py = Sustituye un carácter de espacio >>  " ( ' ') ", con inserciones ' / ** /'
charencode.py = Codifica todos los caracteres con numérico   44%20%54%20%
base64encode.py = Convierte todo los caracteres en codificación base64 'MScgQU5EIFNMRUVQKDUpIw=='
randomcomments.py = Añade comentarios al azar mediante búsquedas de palabras MySQL 'I/**/N/**/SERT'
Los invito a averiguar las funciones de los demas tampers por sus propios medios .
Bueno , dicho esto vamos al ataque  ;D ;D ;D
Voy a dar por hecho que sabran lo que es una sqli como explotarlas y mas aun con sqlmap  :-\
Una vez con nuestro sitio vulnerable en pantalla y su tipico error de bases de datos vamos a comenzar con la inyeccion .
(http://i.imgur.com/1e0hwcA.png)
Ahora abrimos el terminal y lanzamos el ataque de la siguiente forma : sqlmap -u pagina.php?id=1 --random-agent --tamper=space2comment -v 3 --dbs .
En este caso estamos frente a una db MySql assi que vamos a utilizae el tamper "space2comment" ya que es uno de los tampers mas funcionales en dichas bases de datos .
(http://i.imgur.com/gaqhT6v.png)
Muy bien , la herramienta nos confirma que estamos frente a  MySql asi que vamos a proceder con el ataque
(http://i.imgur.com/PwByh5K.png)
Perfecto !!! logramos vulnerar el parametro id esto significa que el tamper ofusco correctamente los payloads . ahora vamos a solicitar las bases de datos .
(http://i.imgur.com/uP8a7FW.png)
Bueno esta es una pagina de la biblia asi que creo que es lo mas cerca que podemos estar de "Hackear" a dios ?) jaja
asi concluye el post de hoy , a continuacion se muestran los tampers disponibles y con que database son compatibles  ;)
MySQL
space2randomblank,
unionalltounion
unmagicquotes
versionedkeywords
versionedmorekeywords
xforwardedforbetween
bluecoat
charencode
charunicodeencode
concat2concatws
equaltolike
greatest
halfversionedmorekeywords
ifnull2ifisnull
space2morehash
space2mysqldash
space2plus
modsecurityversioned
modsecurityzeroversioned
multiplespaces
securesphere
space2comment
space2hash
nonrecursivereplacement
percentage
randomcase
MSSQL:
sp_password
space2comment
space2dash
space2mssqlblank
space2mysqldash
space2plus
space2randomblank
charencode
charunicodeencode
equaltolike
greatest
unionalltounion
unmagicquotes
multiplespaces
nonrecursivereplacement
percentage
randomcase
securesphere
MSAccess:
modsecurityversioned
modsecurityzeroversioned
equaltolike
greatest
halfversionedmorekeywords
nonrecursivereplacement
percentage
randomcase
securesphere
between
bluecoat
charencode
charunicodeencode
concat2concatws
space2comment
space2hash
space2morehash
space2mysqldash
space2plus
space2randomblank
unionalltounion
unmagicquotes
versionedkeywords
versionedmorekeywords
ifnull2ifisnull
multiplespaces
PostgreSQL:
xforwardedfor
space2comment
space2plus
space2randomblank
between
charencode
charunicodeencode
equaltolike
greatest
multiplespaces
nonrecursivereplacement
percentage
randomcase
securesphere
between


SQLite:
space2plus
unionalltounion
unmagicquotes
xforwardedfor
ifnull2ifisnull
randomcase
securesphere
space2comment
space2dashmmultiplespaces
nonrecursivereplacement

Conceptos : http://www.backtrack-omar.com/2015/10/bypasseando-waf-con-sqlmap-tamper.html


Título: Re:Bypassear el WAF con Sqlmap
Publicado por: Luciernaga en Octubre 14, 2016, 10:40:58 AM
Super útil me lo añado a favoritos.

Desconocía lo de los tampers por completo !! A veces una busca en --help lo que le interesa y se le pasan cosas muy útiles.

Tengo una duda: Si alguien tiene una SQLi típica, estilo id=1' OR '1'='1 y no tiene ningún WAF activado pero usas un tamper, sqlmap será capaz de encontrar la inyección, o al pasar la cadena difente el servidor interpretará mal el parámetro y por tanto no detectará la SQLi?
Título: Re:Bypassear el WAF con Sqlmap
Publicado por: Lonewolf en Octubre 14, 2016, 11:52:29 AM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Super útil me lo añado a favoritos.

Desconocía lo de los tampers por completo !! A veces una busca en --help lo que le interesa y se le pasan cosas muy útiles.

Tengo una duda: Si alguien tiene una SQLi típica, estilo id=1' OR '1'='1 y no tiene ningún WAF activado pero usas un tamper, sqlmap será capaz de encontrar la inyección, o al pasar la cadena difente el servidor interpretará mal el parámetro y por tanto no detectará la SQLi?
Hola Luciernaga ,  respondiendo tu pregunta sqlmap va a ejecutar correctamente la inyeccion tenga o no waf activado ya que las bases de datos son capazes de interpretar los parametros ofuscados :)
Título: Re:Bypassear el WAF con Sqlmap
Publicado por: Luciernaga en Octubre 14, 2016, 12:48:14 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Super útil me lo añado a favoritos.

Desconocía lo de los tampers por completo !! A veces una busca en --help lo que le interesa y se le pasan cosas muy útiles.

Tengo una duda: Si alguien tiene una SQLi típica, estilo id=1' OR '1'='1 y no tiene ningún WAF activado pero usas un tamper, sqlmap será capaz de encontrar la inyección, o al pasar la cadena difente el servidor interpretará mal el parámetro y por tanto no detectará la SQLi?
Hola Luciernaga ,  respondiendo tu pregunta sqlmap va a ejecutar correctamente la inyeccion tenga o no waf activado ya que las bases de datos son capazes de interpretar los parametros ofuscados :)
Gracias majo, luego me pondré a investigar !!
Título: Re:Bypassear el WAF con Sqlmap
Publicado por: ceroMee en Octubre 14, 2016, 11:11:36 PM
interesante man, aunque deberias probar eso en local porq eso es ilegal