Descubre 4n4lDetector Pro y Pescan.io

Analiza archivos de forma avanzada con 4n4lDetector Pro y prueba la versión online en Pescan.io. Todo desde tu navegador o tu escritorio.

Intelligent String para priorizar IOCs útiles, heurísticas de flujo anómalo, generación de reglas YARA con un clic, carving de encabezados PE, y detección de firmas Microsoft manipuladas. Compatible con 32/64-bit y formatos comunes (.exe, .dll, .sys, .ocx, .scr, .drv, .cpl). Funciona desde cualquier navegador o en tu escritorio con CLI, GUI y plataforma web integrada. Incluye hash intelligence, gamificación interna, Interest Words, y más de 10,000 reglas para detección avanzada de malware.

Mostrando entradas con la etiqueta Parches. Mostrar todas las entradas
Mostrando entradas con la etiqueta Parches. Mostrar todas las entradas

martes, 31 de enero de 2012

De fiesta con UniGUI Framework

Esta que vengo a contar, es una de esas historias que me llenan de ganas de publicar, junto al pequeño hilo que se escapa de felicidad, después de lograr algo que nos parece interesante, no cuanto menos de mostrar.

Para deleite de programadores en Delphi tirando a ser muy curiosos, va más bien encaminada la entrada. Esta vez tocaremos un poco de todo, seguridad web, desde Cross Site Scripting hasta Full Path Disclosure, pasando por edición de binarios en hexadecimal, acortadores URL y un par de softwares de regalo en mi querido Visual Basic 6 y ensamblador.

Hasta hace bien poco, un nuevo concepto de desarrollo web se cruzó por mi camino, gracias a un compañero de trabajo, era el llamado UniGUI Framework. Destinado en exclusiva, para dar opción a desarrolladores que trabajan con Delphi, de poder diseñar proyectos destinados a aplicaciones web. El Framework entre otras funciones de publicación, trae la de exportar el proyecto a librerías DLL para su integración en ISS o Apache mediante Mod ISAPI.

¿Y como no? ¡Tenía que reventarlo!

Así que cargando mis jeringuillas de sustancias psicotrópicas, me topé con un Cross Site Scripting, en el control de errores que trae de forma interna la aplicación y aunque no vean el típico mensaje de alert, observen bien la imagen, pues podemos llamarle Blind-XSS.


Cualquier URL agregada de forma externa por un atacante, o interna por el propio programador en el código de la librería, se adjunta a la ruta actual y prescinde del protocolo, en el cual se realizan las peticiones.

¿Por qué ocurre esto? ¡Muy simple! La librería se encarga de filtrar los slashes modificándolos por barras invertidas. Esto quiere decir que el Cross Site Scripting existe y es explotable, pero su margen de acción, se ve reducido para ataques externos, a no ser que logremos bypassearlo.

Detrás de “Access denied”, encontramos ese Full Path Disclosure tan llamativo, que muestra la letra de la unidad y el tipo de servidor que utilizo ¡Genial más datos para realizar un ataque!

Después de hacer pruebas con diferentes navegadores y ver su eficiencia ;) , lo que más asombro me causó, es lo que os muestro en la siguiente captura.


¡Google Chrome se lleva la palma! Así que él solito, fuerza la petición y muestra el enlace corregido. Por si alguno no se había dado cuenta, el servidor de Bit.ly trabaja con un certificado firmado por una autoridad certificadora, con lo que podremos explotar la vulnerabilidad mediante protocolo seguro, pudiendo así, visitar cualquier página sin restricciones.

Podremos incluir un IFRAME sin ningún tipo de problema, gracias al Bypass de Google Chrome y el certificado de Bit.ly, para no sé... ¿visitar enelpc?

O echarle imaginación, y tirar de onMouseOver para jugar en Firefox a ser hackers malos.


Pero nosotros somos buenos ¿verdad? Y queremos corregir vulnerabilidades a toda costa, así que como ya reporté con anterioridad el fallo al foro de UniGUI y no me hicieron ni p*** caso, decidí armarme de valor y buscar entre las strings en hexadecimal del binario, para ver de que forma podría contrarrestar el dichoso ataque.


El HTML que muestra la ruta y la unidad de disco, se muestra mediante una llamada a una variable de tipo string, la cual en caso de contener un valor añadido no alfabético, por ejemplo un número o símbolo en la URL, busca la nueva ruta y si no la encuentra, terminamos con el aviso de acceso denegado en pantalla.

La enfermedad debía de venir acompañada de la cura, y ya que encontré la variable, no me quedó otra que suprimirla de forma definitiva del control de errores, así que un par de Offsets en 00, corregían ambas vulnerabilidades y me daban pie a sacar un nuevo proyecto en VB6. El parche muestra en hexadecimal, la opción de seleccionar los caracteres y la localización en el binario a modificar, más de un avispado le habrá sacado similitud a un AVFucker, ya que si lo desean también puede hacerse con tal función.


Ya que dependiendo de la versión de UniGUI y del proyecto, la ubicación del valor vulnerable puede cambiar, me armé una opción más simple programada en ensamblador y compilada con MASM. Gracias a un código similar de diablo2oo2, que modifica ambos Offsets y corrige la vulnerabilidad para todas sus versiones, buscando una cadena exclusiva de este tipo de binarios, logré modificarlo.


El resultado a la inyección, sería el siguiente:


Ahora sí, reportaré al equipo de desarrollo, algo que posiblemente les haga ver lo que planteé anteriomente de forma más clara... ¿Qué loco iba a corregir un XSS con un editor hexadecimal?

Saludos 4n4les! ;)

jueves, 8 de diciembre de 2011

¿Autopwn deprecated? ¡Busquemos al conejo!

Es tiempo de cambiar, it's time to change... sin duda la música que marcó el mes, a más de un desarrollador de Metasploit. A diferencia de Juanes, que dio el paso de alterar su coche por un tuning Lego, Metasploit optó por cepillarse sin más, una herramienta que hizo diferente las auditorías y test de intrusión, sí... estamos hablando de Autopwn. Lanzar cientos de Exploits a varios objetivos era pan comido como expliqué en la anterior entrada, mientras vulneraba un Windows 2003 server ¿Pero y ahora?

Otro de los “changes” en el famoso Framework, que nos dejó un poco dolidos, era sin duda el cambio de funcionalidad con aquella olvidada base de datos que utilizábamos todos llamada SQLite3, nada que no pudiésemos remediar con Postgresql. Esta vez sí, nos echaron un cable, colocando un fichero “yml”, con los datos de acceso a dicha base de datos, preconfigurados para conectarnos. Explicaré brevemente por si acaso alguno, quedó perdido desde entonces.

Tecleando db_driver en la consola, nos devolverá de serie nuestra nueva Postgresql. Podremos conectar a ella, mediante el fichero situado en la siguiente ruta predeterminada:

/opt/metasploit-4.1.4/config/database.yml


Y tan solo deberemos teclear.
db_connect -y /opt/metasploit-4.1.4/config/database.yml

En el caso de que deseemos hacerlo desde otros datos, dados de alta por nosotros mismos, bastará con.
db_connect user:pass@ip:port/db

Me sentía tan mal con aquello de Autopwn, que no sé vosotros... pero a mi me da bastante rabia aquello de quedarme con una versión desactualizada de Metasploit, sin opciones a lanzar tan magnífica herramienta, con el pack de aquellos Exploits que están saliendo casi al día. La explicación de parte del equipo de desarrollo, fue anunciada días atrás en el propio software de tal manera.


Nadie les quita la razón sin duda... el caso es que nosotros somos buenos, y no la vamos a liar.

Así que mientras veía mi triste framework desactualizado, desde hacía 41 días.


Me despedía de Autopwn.


Este desapareció de mi “help”, al hacer el Update del día 7 de Diciembre...


Posiblemente, esta imagen la tengan todos aquellos que dejaron las actualizaciones automáticas habilitadas en dicho software. En su instalación, nos da opción de elegir que queremos hacer con ellas.

Así que entré al directorio donde tengo instalado Metasploit en busca de la carpeta de módulos, donde descarga todos aquellos exploits, módulos axiliares... que me harán falta para terminar una buena auditoría de caja negra. La copié y eliminé un fuzzer, que agregaron este último mes, el cual la anterior versión no estaba preparada y como era normal, daría conflicto.

Y si algo tenemos en común Neo y yo, es que los dos, vamos detrás del conejo.

Bienvenidas sean a mi Backtrack sus actualizaciones, pues sin duda viene genial eso de tener una virtual para sacrificarla, a cambio de un Autopwn renovado.

Para dejar vuestros Metasploits a Full, os he dejado subidos la última versión con Autopwn y las últimas actualizaciones, que deberéis de depositar en el directorio de instalación donde se encuentre el vuestro.

Esperemos que no se termine rápido el chollo.

Saludos 4n4les! ;)

viernes, 28 de octubre de 2011

MSA-11-0036: Messaging refresh vulnerability

Bonito nombre le pusieron al ataque de denegación de servicio que publiqué el pasado 10 de Septiembre en el blog. Reportado al foro de Moodle y revisado en el Tracker, la severidad del ataque era calificada como “Serious”, pues las repercusiones que podía provocar como comenté anteriormente, eran la caída del servidor, debido a la inundación de peticiones y posibles daños como el crasheo de la BD.

Las versiones vulnerables eran todas las conocidas hasta la fecha, anteriores a la 1.9.14. A pesar de que Moodle está desarrollando su versión 2.x, la anterior sigue puliéndose con actualizaciones continuas, siendo esta la más utilizada.

Según la descripción dada por Michael de Raadt, Manager del desarrollo de Moodle:

-
Topic: Message refreshing system may cause unlimited queries and DDos attack
Severity: Serious
Versions affected: < 1.9.14 (2.x not affected)
Reported by: Xavier Paz
Issue no.: MDL-29311
Solution: upgrade to 1.9.14
Changes (1.9): http://git.moodle.org/gw?p=moodle.git;a=commit;h=97f258fabb3ebfa7acc7c02cb59de92b01710f99
Description:
Users could change the wait parameter from message/refresh.php to zero to cause a denial of service attack.
-

¡Realmente lo más jodido es que aparezca la persona que movió mi tema al Tracker! ¿Y yo que pasá? ¡Qué copiar y pegar sabemos todos! ¡Sino que se lo digan a los desarrolladores del FIFA!


Para la corrección manual que ha deseado publicar el equipo de desarrollo, tenemos esta alternativa similar a la que expuse.




Cerraremos de este modo el bucle infinito que conseguíamos, al modificar la URL de forma manual, gracias a la función ceil que redondeaba al número más alto entero resultante, se lograba el fallo. Así después de incorporar la actualización (0*1,2 = 0 → 0) terminaría siendo un entero positivo no vulnerable, gracias a la implementación de un simple if.

Además, aparecieron otras 6 vulnerabilidades para los que seguimos con la v1.X , lo cual se recomienda actualizar a todos aquellos que posean versiones anteriores a 1.9.14.
  • MSA-11-0031 - Fallo en las constantes de la API de formularios.
  • MSA-11-0032 - Problema de validación SSL de MNET.
  • MSA-11-0036 - Vulnerabilidad en el refresco de los mensajes.
  • MSA-11-0037 - Inyección en la edición de las secciones de curso.
  • MSA-11-0038 - Reforzada la protección contra inyecciones en base de datos.
  • MSA-11-0040 - Potencial revelado de información personal.
Saludos 4n4les! ;)

lunes, 10 de octubre de 2011

Ser root no siempre es un privilegio...

Aunque SYSTEM sea para mí el colega más majo, también me considero amigo íntimo de root, si además me ponen cerca de una Backtrack, me guste o no, tengo que ser buen amigo a las buenas o a las malas.

¿Como una distribución dedicada a la seguridad informática no iba a trabajar como superusuario?

El siguiente tema no es más que una crítica constructiva a lo que algunos software, llaman seguridad, pues me parece bien que se pongan medios para que el territorio malware no afecte a los usuarios privilegiados de un equipo y cada vez se pongan más trabas para su ejecución, como la conocida UAC de Windows o en Linux un chmod para dar permisos y sudo para llamar al superusuario.

Me considero un tipo ajetreado con bastante prisa en mi vida diaria, que aunque no hago grandes cosas, nunca me gusta dejarlas a medias. Pero como el día solo tiene 24 horas de las que, 7 te pasas durmiendo, 8 trabajando más extras, 6 de preparatoria, comida y necesidades existenciales, tan solo me quedan 3 horas para leer el reader, pasarme por foros, pensar que puedo redactar que a mis chicos les parezca al menos algo guay para salir del paso y como no, pararme en cada línea que redacto para depurar el alto contenido en sensualidad derrochada, que suelen salir de estas manitas.

Se me ocurrió la idea de instalarme una herramienta bastante popular, para aquello del control remoto ¡Nadie se imagina el tiempo que se desperdicia en el trono! Así que no dude en bajarme la última versión de TeamViewer, así instalármela en mi fabuloso BackTrack 5 R1.

No me ocurrió otra cosa que al ejecutar el binario con doble clic, ya podía esperar dos días sentado enelpc, que de ahí no se movería ni un pixel para abrir la chusma de ventana de TeamViewer. Ya que dicen los linuxeros que la terminal de Linux es la leche, habría que hacerles caso y despegarme de la del señor Gates, así que me dirigí hasta su carpeta de binarios y ejecuté desde la Shell el script “teamviewer”.




El mensaje de error que se puede leer en la última línea, no es otro que “Teamviewer must not be executed as root!” ¡Vaya por dios! ¿Seguro que root tiene más privilegios que la de invitado?

Me sentía totalmente violado, así que no dudé un momento en ver el contenido del script para encontrarme con lo siguiente.




Hoy en día sacan montones de aplicaciones para Linux, cosa que ni te enteras de que siguen siendo ejecutables de Windows los que corren gracias a Wine, pero no desvariemos pues en dicho archivo se encuentra una variable que llama a otro fichero en el directorio, así que sigamos la pista.

Entramos en wrapper y en una de las últimas líneas, nos encontramos lo siguiente.




La variable $userid es igual a 0 y dentro del if, veremos el texto de error que nos devolvió al ejecutarlo en consola.

La id del usuario root es 0, probando la variable en la segunda línea en la ejecución, confirma el funcionamiento del script ¿Pero que devolvería si la id es Enelpc.com?




¡Perfecto! Vim, i, Enelpc.com y :wq.




Ejecutamos el script y al llegar al if, seguiremos como root y ya podremos disfrutarlo en nuestras distros como superusuario.




Todo el chollo se nos termina cuando las cosas dejan de ser gratuitas, rápidos nos volvemos locos con la inversa, o simplemente buscando cracks en Google...

No tendremos muchos quebraderos de cabeza, si Teamviewer nos detecta como uso comercial, aunque seamos de esos usuarios amistosos que nos encanta mostrar nuestros progresos a la gente de los foros mediante esta herramienta.

Como dije anteriormente, este software utiliza Wine para su ejecución, así que sí somos capaces de crackearlo en uno de los sistemas, matamos posiblemente 4 pájaros de un tiro, o tantos sistemas este sea compatible. He leído al respecto mucha documentación de auténticos hackers que cambian su mac, su ip y casi llegan a formatear el ordenador por eliminar un par de entradas de registro en el intento de saltarse las medidas de protección de Teamviewer, para que aun apareciendo la siguiente ventana de aviso, el software no se cierre a los 5 minutos de uso... ¡Qué feo es dar soporte con una desconexión continua y una espera para la nueva!




¿Por qué en mi mismo pc si ejecuto el software en el perfil soporte me detectan y en el de usuario no?

¡Fácil! Un fichero log guardado en la carpeta del usuario, identifica la cantidad de conexiones que hacemos con este, si son demasiadas... ¡Tú eres una empresa no un usuario doméstico!

Ok... borremos el directorio y que cada vez que ejecutemos Teamviewer, lo cree de nuevo con un log vacio y ya tendremos nuestro crack.




Espero de esto no se aprovechen empresas, si no aquellos que simplemente lo utilizan en sus casas para uso privado y tengan la mala suerte de que los cazen sin motivo muajaja

Saludos 4n4les! ;)

domingo, 28 de noviembre de 2010

¡Ponle el cinturón a tu navegador!

Cuanto más tiempo paso en internet, más me doy cuenta de los diferentes perfiles de personas que navegan por la red y es que una gran mayoría, anda concienciada en que si tienen un antivirus de pago, jamás les pasará nada.

Ser de Panda, NOD32, Karpesrky o cualquier otra empresa puntera anti-malware, les hace inmunes o eso les hacen pensar las masas publicitarias. Lástima que todo sueño termina cuando el hijo se descarga un supuesto Plug-in, que le permitirá ver con claridad los videos de dios sabe que, y siendo realistas, un alto porcentaje de las páginas con contenidos explícitos para adultos, ya me entienden.

El caso es que los componentes o servicios que se ejecutan junto a nuestro navegador, como puede ser un visor de documentos, aplicaciones flash o incluso nuestra versión de java, puede llegar a crear un gran agujero de seguridad si esta contiene una vulnerabilidad no parcheada.

Para evitar a la medida de lo posible una intrusión no permitida por cualquier agente externo a nuestra voluntad, existe una aplicación llamada Qualys BrowserCheck, que permite hacer un scaner de las versiones de los accesorios más usuales instalados en nuestro navegador y mostrarnos detalladamente cuales requieren de actualización. 


 

Dicha web, pedirá la instalación de un complemento compatible para los siguientes navegadores y sistemas.



Internet Explorer**FirefoxChromeSafariOperaCamino
Operating System87634 / 5 / 6 / 734 / 59.5+ / 102
Windows 7X--XXX*X*X*-
Windows Server 2008 R2X--XXX*X*X*-
Windows Server 2008XX-XXX*X*X*-
Windows VistaXX-XXX*X*X*-
Windows Server 2003XXXXXX*X*X*-
Windows XP SP2, SP3XXXXXX*X*X*-
Windows XP RTM (no SP)---------
Windows 2000 SP4--XX-X*-X*-
Mac OS X 10.6.3 and above---X*X*X*X*X*X*


Es importante dependiendo de nuestro nivel de paranoia y de lo mucho que queramos proteger nuestros datos sensibles, establecer un mínimo de tiempo entre actualización y actualización del software instalado. Si necesitan más información, la página posee un FAQ para resolver las preguntas más usuales.


¡Revisen sus navegadores si no quieren que nadie les revise sus ordenadores!

Saludos 4n4les! ;)

miércoles, 10 de noviembre de 2010

El duelo de FireSheep vs BalckSheep

Seguro alguno habrá escuchado algo sobre la nueva herramienta de Zcaler Security, entre bombos y cajas se anunciaba a la nueva “oveja negra” para Firefox, pues no se quedaron de brazos cruzados al ver el ataque que protagonizó la anterior semana otro plug-in llamado Firesheep.




Dicha aplicación se instalaba como extensión sobre el navegador de Mozilla Firefox, con la que se podían realizar series de ataques de sniffing, con el objetivo de adueñarse de las Cookies de sesión de la mayoría de las redes sociales actuales, aprovechándose de que estas Cookies viajan por un protocolo no seguro (HTTP), siendo totalmente legibles para cualquier ladronzuelo.

La nueva aplicación que contrarresta el ataque, ha sido llamada BlackSheep y la pueden descargar de su propia web.



Un Saludo!