31 ene 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! ;)
 

30 ene 2012

Solución al #FPR5: ¡Jackmi Amijo!

Buenas a todos, acaba de finalizar el reto de Flu Project #FPR5: ¡Jackmi Amijo!, correspondiente al mes de Enero. Este reto era de dificultad media-baja y consistía en una pequeña intrusión en un portal programado en PHP. Contábais de inicio con el código fuente del programa, lo que facilitaba enormemente la labor para los usuarios que se están iniciando en las técnicas de penetración.

El reto se dividía en 2 fases. En la primera había que explotar una vulnerabilidad de Xpath Injection que padecía el formulario de autenticación del portal al interactuar con una base de datos XML donde almacenaba el usuario y contraseña del usuario administrador:

En la segunda fase había que descargar un archivo de tipo .run, que en realidad era un archivo docx con una imagen oculta:

Os dejamos con el solucionario que nos a enviado Danigargu, tercer clasificado del reto.

Mirando un poco el código de login.php vemos que es una autenticaciónbasada en XML, también vemos que las variables enviadas porPOST no están filtradas, por lo que puede haber un XPath Injection.17:   $resultado = $xml->xpath("//users/user[username/text()='" . $user . "' and password/text()='" . $pass . "']");Al intentar bypassearlo vemos que la web solo deja introducir hasta10 caracteres en cada campo por lo que tendremos que modificar lapagina o modificar los datos durante el envio con TamperData o cualquier otro programa.Bypass------usuario: abc' or 1=1 or 'a'='bpasswd: (blanco)Tras ello, la web nos redirige a menuPrincipal.php donde nos descargamos un fichero llamado programa.zip. Su contenido es un fichero llamado 'programa.run'. Como no sabemos que tipo de fichero se trata, lo comprobamos con el comando file.dani@debian:~/FPR5$ file programa.runprograma.run: Zip archive data, at least v2.0 to extractViendo que es otro fichero zip, lo descomprimimos:dani@debian:~/FPR5$ unzip programa.runArchive:  programa.run   creating: docProps/  inflating: docProps/app.xml  inflating: docProps/core.xml   creating: word/  inflating: word/document.xml  inflating: word/fontTable.xml   creating: word/media/ extracting: word/media/image1.png  inflating: word/media/reto.png  inflating: word/settings.xml  inflating: word/styles.xml   creating: word/theme/  inflating: word/theme/theme1.xml  inflating: word/webSettings.xml   creating: word/_rels/  inflating: word/_rels/document.xml.rels  inflating: [Content_Types].xml   creating: _rels/  inflating: _rels/.rels Al parecer es un fichero de Word. Si lo abrimos nos aparece una imagen que no nos dice nada, pero si miramos la carpeta word/media que hemos descomprimido,encontramos otra imagen llamada reto.png la cual nos dice:!Enhorabuena!, has pasado el reto.

El reto era muy sencillo como podéis ver. Algunas inyecciones de ejemplo que podríais haber utilizado para saltar el formulario serían:

' or 1=1 or ''='abc' or 1=1 or 'a'='b' or '1'='1admin' or '1'='1

No hemos dado por buenas las soluciones que nos habéis pasado en las que os saltábais el primer paso del reto, explotar la vulnerabilidad de Xpath Injection (o no nos lo habéis indicado claramente).

A continuación os dejamos con el listado de h4x0rs que han finalizado el reto correctamente:

  1. @sh4r3m4n [licenciaparahackear.wordpress.com] (4horas y 57 minutos)
  2. Alverid (7 horas y 15 minutos)
  3. Danigargu (14 horas y 22 minutos)
  4. zprian (15 horas y 19 minutos)
  5. Fuska (19 horas y 4 minutos)
  6. Jesus Gutierrez (19 horas y 19 minutos)
  7. --J4z-- (19 horas y 32 minutos)
  8. Pedro Tunelko (20 horas y 16 minutos)
  9. Edwin Alberto (1 dia)
  10. Aneraka (1 dia)
  11. Palangui (5 dias)
  12. Oscar @dot_ike (6 dias)

Esperamos que os hayáis divertido con el reto :) Para febrero, si el tiempo lo permite, lanzaremos un reto de mayor complejidad, podéis enviarnos ideas que se os ocurran para este reto por Twitter y correo electrónico.

Saludos!

29 ene 2012

Informe Flu - 56

Holas a todos, os dejamos con el resumen de la semana:

Lunes 23 de Enero

  • El lunes iniciamos el quinto reto de flu project, centrado en la temática de la intrusión, ¿lo habéis logrado resolver? :-) #FPR5: ¡Jackmi Amijo!
Martes 24 de Enero

Miércoles 25 de Enero

Jueves 26 de Enero
  • Tercer artículo de la cadena Pantalla Pública, con algunos "exposed" polémicos, ¿os fiais de los cajeros automáticas? ¡Cuidado! Pantalla Pública III
Viernes 27 de Enero

Sábado 28 de Enero

Temas de la semana en el foro

28 ene 2012

¡El pisapapeles de Flu!

Buenas a todos, en Flu Project nos gusta mucho el arte, no somos coleccionistas de picassos y van goghs (ya nos gustaría, aunque la seguridad no da para tanto...) pero si que nos encanta hacer manualidades y que nos enviéis vuestros inventos, como ya hizo Miriam hace unos meses con su genial Flu-Mochila.

Hoy nos gustaría mostraros este pisapapeles de Flu que hemos hecho con un poco de arcilla, pinturas verde, blanca y amarilla y un rotulador negro. ¿A que mola? :-)

Para la próxima vez tocará preparar alguna plantilla y moldes, porque el diseño fue algo improvisado :P, pero con un poco de paciencia tendremos un chulo pisapapeles de Flu!

Saludos!

27 ene 2012

DEFT Linux, la suite de análisis forense, llega a su versión 7 RC1

Las gentes de DEFT Linux, autores de la excelente distribución de Linux para análisis forense informático, han publicado la versión RC1 de DEFT Linux 7. Entre otras mejoras, incluye herramientas para el análisis forense de móviles y/o dispositivos con iOS o Android. Además, la inclusión del kernel 3.0.0-12 con soporte para USB 3, acelerará el trabajo con dispositivos que usen la última versión de este interfaz.

Entre otras novedades, según lo que se recoge en la página del anuncio de la RC1, están:

- Basado en Lubuntu 11.10- Distribución instalable- Linux kernel 3.0.0-12, con soporte para USB 3- Libewf 20100226- Afflib 3.6.14- TSK 3.2.3- Autopsy 2.24- Digital Forensic Framework 1.2- PTK Forensic 1.0.5 DEFT edition- Maltego CE- KeepNote 0.7.6- Xplico 0.7.1- Scalpel 2- Hunchbackeed Foremost 0.6- Findwild 1.3- Bulk Extractor 1.1- Emule Forensic 1.0- Guymager 0.6.3-1- Dhash 2- Cyclone wizard acquire tool- SQLite Database Browser 2.0b1- BitPim 1.0.7- Bbwhatsapp database converter- Creepy 0.1.9- Hydra 7.1- Log2timeline 0.60- Wine 1.3.28

Aunque la versión final se espera a finales de este mes (enero), es una buena oportunidad para hacernos con esta copia casi definitiva, que hará las delicias de los que nos gusta ver las tripitas de las cosastrabajamos en el mundo de la seguridad informática.

URL de DEFT Linux: http://www.deftlinux.net/Descarga de DEFT Linux: http://www.deftlinux.net/download/

Saludos,

26 ene 2012

Pantalla Pública III

Buenas a todos, hoy os traemos tres nuevas pantallas públicas. La primera nos la envía nuestro blogger ZerialKiller, es un vídeo grabado en un cajero automático:

[youtube zwwahvWpPVw nolink]

Asusta... ¿verdad?

La segunda pantalla pública del día nos la envía @dot_Ike, en la que se puede ver un menú de inicio de Windows 7 en una pantalla de publicidad de móviles y arriba el teclado virtual:

Finalmente la última Pantalla Pública del día nos la envía @gotomah, en la que se pueda apreciar lo que parece un menú de configuración en un monitor que parece ser que controla alguna cámara en la Renfe de Nuevos Ministerios de Madrid:

Podéis seguir enviándonos nuevas imágenes a info@flu-project.com.Saludos!

25 ene 2012

MBSA: Microsoft Baseline Security Analyzer

MBSA, Microsoft Baseline Security Analyzer, es una herramienta diseñada para los profesionales TI, con un uso realmente sencillo, la cual ayuda a las pequeñas y medianas empresas a calificar o determinar su estado de seguridad basándose en las recomendaciones de Microsoft. Además esta pequeña herramienta ofrece orientación a soluciones específicas cuando se encuentra alguna anomalía en el entorno empresarial.

Con MBSA el usuario puede detectar errores de configuración de seguridad habituales e identificar las actualizaciones que faltan en el sistema informático. Estas acciones se pueden realizar sobre una máquina en local o remoto o sobre un grupo de máquinas. MBSA asegura coherencia con otros productos de administración como pueden ser WSUS, SMS, SCCM o SBS.

MBSA tienes 2 tipos de escaneos, single host y multiple hosts. Single host da al usuario la posibilidad de escanear el propio equipo dónde reside MBSA o un equipo remoto siempre y cuando dispongamos de las credenciales necesarias. En un dominio este tipo de análisis se haría con credenciales de alto privilegio para que MBSA se pudiera ejecutar y realizar un escaneo de todas las máquinas de una empresa o de un subgrupo, esto se realizaría con el modo multiple hosts.

MBSA puede realizar una comprobación en la configuración de seguridad de la máquina basándose en la recomendación de Microsoft para este aspecto. Las siguientes opciones pueden ser chequeadas por la herramienta en busca de una mala configuración:

- Windows Administrative Vulnerabilities. Evalúa las posibles vulnerabilidades que pueden existir al nivel de servicios administrativos de Windows.

-  Weak Passwords. Evalúa contraseñas mal formadas o vulnerables a ataques de fuerza bruta o diccionario.

-  IIS Administrative Vulnerabilities. Evalúa posibles vulnerabilidades que pueden existir al nivel de servicios administrativos de Internet Information Services (IIS).

- SQL Administrative Vulnerabilities. Evalúa posibles vulnerabilidades que pueden existir en los servicios administrativos de los servicios SQL Server.

- Security Updates. Analiza las versiones de “parches” de seguridad o actualizaciones no instaladas y que solucionan vulnerabilidades en el sistema.

- Configure Computers for Microsoft Updates and Scanning Prerequisities. Activa actualizaciones e instalación de “parches” en los equipos a escaner previo al escaneo definitivo.

Estos reportes finales podrán ser almacenados a modo de histórico y ser consultados cuando el usuario requiera.

Otra opción es utilizar un cliente MBSA de consola, que es agregado en la instalación del MBSA, su nombre es mbsacli.exe. Con esta herramienta de consola realizaremos los mismos tipos de escaneos que con la interfaz gráfico, pero además podremos utilizar otras credenciales para realizar el escaneo sobre un equipo con otras credenciales.

Es altamente recomendable utilizar MBSA en un entorno empresarial de pequeña y mediana empresa. El responsable de realizar este tipo de administración debe ser un usuario con privilegios sobre el resto de máquinas de un dominio.

24 ene 2012

Firewall Windows 7 y Cygwin

Hola!

Muy buenas a todos/as!

En mis andaduras de configurción del Firewall de Windows 7, me encontraba con el problema de que a veces no sabía si un paquete estaba recibiendo un DROP o un allow. Los firewalls en general conocen 3 estados para la decisión con un paquete:

Allow: El paquete mediante una regla preestablecida deja pasar hacia fuera.

Drop:Se deniega el paso del paquete y no manda respuesta de ello

Reject:Se deniega el paso de ese paquete, manda un ICMP como destino inalcanzable

El log de Firewall de Wndows 7 es bastante sencillo de interpretar, así que mientras hacía mis pruebas y al mas estilo Unix, con Cygwin me hice un sh para ir comprobando los paquetes. Para activar el LOG en Firewall hemos de ir a la utilidad wf.msc con permisos de administrador.

Si obervamos la imagen tenemos que ir al menú de Propiedades de Firewall

Aqui tenemos los 3 perfiles del firewall, cada perfil se establece en un área de red que heos definido cuando nos conectamos a una red. En el caso de dominio normalmente  si trabajas en dominio en una empresa, privado en casa, por ejemplo y público en todo aquel sitio que no conozcas ni sea de tu confianza.

Aunque puede que cada pefil debería de estar configurado de una manera especial, creo que es bueno configurar el Firewall lo más restringido posible en todas las áreas, siendo así una medida de mitigación contra posibles ataques del exterior.

En el apartado de inicio de sesión:

Para cada uno de estos dominios, hemos de activar que registre los paquetes descartados y correctos. El log se guarda por defecto en:

/Windows/System32/LogFiles/Firewall/pfirewall.log

Como trabajo mucho con Cygwin, con un simple tail, podríamos ir viendo como se van registrando los paquetes:

#!/bin/bash#Shell que hace un tail de las conexiones del Firewalltail -f /cygdrive/c/Windows/System32/LogFiles/Firewall/pfirewall.log

Una utilidad más por si hay alguien quiere probarlo ;)

23 ene 2012

#FPR5: ¡Jackmi Amijo!

Buenas a todos, hoy os traemos el quinto reto de Flu Project al que hemos titulado con el nombre "¡Jackmi Amijo!", y que se corresponde con el reto del mes de Enero (en Diciembre no tuvimos tiempo de montar ninguno, ¡lo sentimos!).
Como nos habéis ido pidiendo en las encuestas, este reto consiste en una pequeña intrusión en un Sitio Web. El reto es de nivel medio-bajo, y lo hemos puesto especialmente para todos aquellos que nos habéis comentado durante los últimos meses que no habíais podido pasaros los retos anteriores. Así que los que os lo paséis, os pedimos por favor que no comentéis la solución hasta que finalice el reto.
Una vez que paséis la primera prueba recibiréis instrucciones sobre como proceder a continuación.
El reto durará una semana, y el próximo lunes lo resolveremos, publicando un listado de los usuarios que hayan finalizado el reto correctamente.
El hashtag oficial en Twitter del reto es #FPR5, y a través de él os iremos dando pistas y haciendo comentarios a lo largo de la semana.
El sitio web donde tendréis que penetrar se encuentra desarrollado en PHP, os lo podréis descargar desde el siguiente link:

DESCARGAR RETO 5

Tendréis que alojar el sitio web en un apache, por ejemplo nosotros utilizamos WAMP, y visualizar desde un navegador la página principal, "index.php". En dicha página encontraréis un formulario de autenticación, y en el cuál comenzará la primera prueba, que consistirá en saltaros dicha autenticación.

Al tener el sitio web vosotros en local, podéis lanzarle todos los escáneres de vulnerabilidades que queráis sin miedo, y romper otras cosas (y hasta aquí puedo leer...). Aprovecho para recordaros que estamos escribiendo ahora una cadena de artículos sobre esta temática, que quizás os sea útil.

Si véis que tenéis problemas para pasar el reto, siempre podéis ir viendo el código fuente de la aplicación en cualquier momento, ya que el objetivo de este reto es aprender. Si lo hacéis por el simple hecho de decir que os lo habéis pasado, os engañaréis vosotros mismos ;)

Si el reto os gusta es probable que ampliemos este sitio web de pruebas para que lo tengáis junto con otros sitios como badstore para practicar ataques sin meteros en líos

Disfrutarlo, saludos!

22 ene 2012

Informe Flu - 55

Holas a todos, os dejamos con el resumen de la semana:

Lunes 16 de Enero

Martes 17 de Enero

Miércoles 18 de Enero

  • El miércoles kari_243, habló sobre las redes botnets, aportando numerosos datos sobre algunas botnets y bots que han dado mucho que hablar en los últimos años: Redes botnet (Parte I)
Jueves 19 de EneroViernes 20 de Enero
  • Jesusdml regresa con el artículo Megaupload desde el terminal, donde nos habla de la herramienta plowshare, una aplicación que seguro encontraréis muy útil.

Sábado 21 de Enero

21 ene 2012

Pantalla Pública II

Buenas a todos, hoy os traemos la segunda parte de la sección pantalla pública con tres nuevos "cazados" que nos habéis enviado a info@flu-project.com. ¡Gracias!

Comenzamos con Lorenzo Martínez (@lawwait), de Security by Default, que nos envía otro error de Windows en La Vaguada, como nos comenta en el email que nos envió, ¡este centro comercial es una mina!:

La segunda pantalla pública nos la envía sh4r3m4n (@sh4r3m4n), os dejamos directamente con su correo:

Hola, les envío algunas fotos que le tomé al una pantalla gigante en el shopping Unicenter, que queda en Martínez, Argentina. Esta estaba ubicada en medio del patio de comidas, y estaba formada de 9 pantallas LCD. Su problema era que alguien entró al menú inicio de Windows 7 y se veía desde la pantalla!.

Y por último, la tercera pantalla pública del dia nos la envía nuestro blogger y mejor amigo Jordisk (@jordisk), de un pantallazo azul en el tranvía de Barcelona (¿se rompen mucho estos cacharros no? :) ).

Seguir enviandonos pantallas públicas! Saludos!

20 ene 2012

Megaupload desde el terminal

 

Después de un tiempecito sin publicar nada, ya tenía ganas de tener un rato y/o algo interesante que poner por aquí. Para los que tienen por casa alguna máquina un poco desfasada o un NAS con acceso por terminal, la aplicación que he descubierto hoy, quizá les resulte tan útil como a mi.

Se trata de plowshare. Esta pequeña aplicación en bash, hace que podamos operar con ficheros en el conocido website Megaupload (también soporta Rapidshare, 2Shared, 4Shared, ZShare, Badongo, Divshare.com, Depositfiles, Netload.in, Sendspace, Usershare o x7.to entre otros) desde la línea de comandos. Funciona tanto en Linux como en OSX, y su instalación no puede ser mas sencilla.

Simplemente deberemos bajar el script de su web http://code.google.com/p/plowshare/ e instalar previamente un par de dependencias para que pueda funcionar.

Entre sus opciones están:

  • Bajar ficheros usando cuentas premium
  • Resolución de CAPTCHAs
  • Subida de ficheros
  • Uso de listados de ficheros a bajar y subir…
  • Limitación del ancho de banda
  • Soporte para ficheros protegidos por password
  • Opciones para el manejo de ficheros (marcarlos como bajados, testear links, etc.)

Su uso es muy sencillo. Para descargar un fichero, simplemente deberemos ejecutar:

$ plowdown http://www.megaupload.com/?d=onf9IUYdd

Si tuviéramos cuenta premium, se la indicaremos en la propia linea de comandos:

$ plowdown -a usuario:contraseña http://www.megaupload.com/?d=onf9IUYdd

En el caso de que queramos bajar varios ficheros, los podremos poner en un fichero de texto separados en líneas, y pasarle este como argumento:

$ plowdown fichero_con_enlaces.txt

Una solución muy completa para poder automatizar nuestras descargas directas desde el propio terminal. Al estar realizado en bash, lo podremos utilizar en la mayoría de sistemas Linux, Unix, OSX o incluso en nuestro NAS.

Saludos,

 

19 ene 2012

Entendiendo el funcionamiento de un script de nmap

En este post intentare ilustrar el funcionamiento de un script básico de Nmap, para ser específicos el http-enum, que es muy utilizado para enumerar directorios y/o aplicaciones populares que estén presentes en un servidor web.Primero buscamos el script que debería de estar localizado en la carpeta de instalacion de Nmap dentro del directorio scripts.Encontramos el script y lo abrimos con nuestro editor preferido (a los Winusers les recomiendo Notepad++):En la primera linea de código nos encontramos con la descripción del código donde nos explica detalladamente lo que hace el script. Datos generalesUn script de Nmap se compone en diferentes secciones y no todas son obligatorias o necesarias:Cabeceraid : nombre del script que se muestra en la salida Nmap.description : descripción del script, notas.author : autor del script.categories : categoría del scriptlicense : licenciadependencies : Estos son otros scripts que se requieren incluir para el funcionamiento.Funciones.portrule / hostrule Datos para decidir si se cumple y ejecuta el script. Los datos pueden ser host y/o port.action (acción) este es digamos el cuerpo del script donde se encuentra las acciones que realizara el propio script.Veamos el Codigo del script:En las lineas 71 y 73 encontramos las extensiones de archivos que busca el script, y aqui es donde nosotros podemos agregar las extensiones que creamos necesarias a nuestro gusto.En la linea 337 comienza el "action" del script y en las siguientes lineas lee los argumentos que nosotros enviamos cuando ejecutamos nmap y llamamos al script, si es que los enviamos, pero la linea que nos debe llamar la atención es la 343 donde encontramos esto:local fingerprint_file = stdnse.get_script_args({'http-enum.fingerprintfile', 'fingerprints'}) or 'http-fingerprints.lua'Se le asigna a la variable fingerprint_file el nombre del archivo http-fingerprints.lua el cual se encuentra en la carpeta nselib/data/ en la instalacion del Nmap.La linea 349:local status, fingerprints = get_fingerprints(fingerprint_file, category)Llama a la funcion get_fingerprints y le envía como parametro el nombre del archivo y la categoria.El codigo de esta funcion esta en la linea 157 y es donde encontramos el funcionamiento de la misma, que lee las url que estan en el archivo http-fingerprints.lua de acuerdo a la categoría que ingresamos como parámetro.Y una vez el script cuenta con esta información procede a probar con las url's obtenidas del http-fingerprints.lua y obtener los codigos 404 o 200 o 403 respectivamente si encuentra o no las rutas y/o archivos.Es por eso que podemos llamar al script http-enum de la siguiente manera:nmap -p 80,443 -A -v --script http-enums --script-args http-enum.category=managementIPdelAMIGOSi se fijan en el archivo http-fingerprints.lua en la linea 712 en la función table.insert lleva como parametro category=management y de esta manera pueden ver las demás categorias que incluye el script y agregar nuevas rutas que tengamos en nuestros diccionarios.Hasta la PROXYma.
 

18 ene 2012

Redes botnet (Parte I)

A medida que avanza el tiempo y dado que el uso del internet cada vez es mayor, el malware se ha ido expandiendo y mutando, agregándosele funcionalidades adicionales y haciéndolos cada vez más peligrosos. Por tanto, es necesario conocer el funcionamiento y ejecución de este tipo de códigos maliciosos. Para este propósito, hablaré en esta oportunidad de uno de los distintos malware que existen, el bot, software usado para el desarrollo de las redes Botnet. Este programa tienen como función infectar el mayor número máquinas para así tomar control de ellas y realizar negación de servicios distribuidos, envió de spam, entre otra diversidad de acciones que más adelante se describirá.

¿Qué es una Botnet?

Una red botnet es un conjunto de equipos infectados con un programa que contiene un código malicioso denominado bot o también conocido como robots, el cual al entrar en una máquina permitirá que un atacante, o dueño de la botnet, pueda mandar instrucciones al software y tener control del equipo. Las computadoras que pertenecen a este tipo de red pueden encontrarse en cualquier parte del mundo, puesto que la forma de propagación de los bot es buscando en internet cualquier máquina que se encuentre vulnerable o que posea fallos de seguridad para luego entrar en ella y tratar de pasar desapercibido ante la víctima, en espera de que sea requerido por el atacante.

En el instante en el que el bot infecta una máquina, este se comunica con el Centro de Comando y control, también denominado como C&C, y adiciona el equipo a la red botnet, convirtiéndolo así en un zombie o drone y permitiéndole al administrador de la red tener control del equipo remotamente por medio del envío de comandos por un canal de comunicación creado.

Modos de infección

Existen múltiples formas de lograr infectar una maquina, todo dependerá de la imaginación del atacante. Se puede hacer uso de las redes P2P para esparcir este malware de forma más rápida, así como de la ingeniería social, para que la víctima ejecute o instale el bot sin sospechar de ello, de esta manera se le hace creer que necesita instalar alguna aplicación, como por ejemplo un plugin para ver videos, visitando un sitio infectado o descargando algún tipo de programa que posea código malicioso, ya sea enviado a través del correo electrónico como datos adjuntos o descargado de alguna página. También esta infección se puede dar por el uso de crack, logrando que al ejecutarse se libere el bot e infecte el equipo e intente su propagación escaneando la red y aprovechándose de las vulnerabilidades del sistema, para ello, usa exploits que ataquen las debilidades más conocidas del sistema operativo en el que se encuentre.

La mayoría de los bots, han sido desarrollados para auto propagarse, buscando cualquier equipo en internet que presente fallos de seguridad. Realizan un escaneo en la red o usan un rango de direcciones en busca de máquinas vulnerables. También hacen uso de aplicaciones de la víctima como la mensajería instantánea y redes sociales (mediante el envió de supuestas fotografías o archivos), de esta manera logra propagarse a todos los contactos de la víctima.

Formas de controlar una Botnet

Las redes Botnet pueden tener su Centro de Comando y Control de forma centralizada o descentralizada. En la primera, el C&C se encuentra ubicado en un solo servidor con el ancho de banda suficiente para comunicarse con los bots. La mayor debilidad de este tipo de modelo es que si dicho Centro de Comando y Control es encontrado y eliminado se perderá el mando de la red. Dentro de esta categoría se encuentran las Botnet que basan su comunicación por IRC y HTTP.

Las redes que hacen uso de IRC, utilizan este canal para el envió de todas las instrucciones de los ataques que la máquina zombi debe realizar. En la mayoría de los casos, para evitar que la red Bonet sea infiltrada o sea eliminada, cada equipo infectado debe proveer tres tipos de contraseñas para el acceso, las cuales al ser correctas van a permitir que el bot se pueda conectar al servidor IRC, luego al canal de chat en el cual está la red y por último, pueda recibir las instrucciones del herders.

Las Botnet que basan su comunicación en el uso del protocolo HTTP, tienen como ventaja que su detección es más difícil que la de IRC, puesto que se puede confundir con el tráfico normal de Internet, evadiendo en la mayoría de los casos el firewall.

 Y la segunda forma de control, la descentralizada, es la que se apoya en las comunicaciones P2P. Es mucho más difícil de detectar y destruir, ya que no dependen de un solo servidor, puesto que cualquier equipo conectado a esta, puede ser tanto un C&C como un cliente.

A medida que pasa el tiempo los atacantes han tratado de encontrar diversas formas de controlar una botnet y expandir su bot más fácilmente, un ejemplo de esto es el uso de las redes sociales y de twitter para poder cumplir con este objetivo. Esto es, por medio de mensajes o tweets, se realiza la comunicación entre el C&C y las máquinas zombie. En los siguientes enlaces se encuentran informes realizados por blogs.eset sobre estos hallazgos: http://blogs.eset-la.com/laboratorio/2010/05/14/botnet-a-traves-twitter/, http://blogs.eset-la.com/laboratorio/2011/12/08/facebook-troyanos-y-botnets/

Finalidades de una Botnet

Este tipo de redes pueden ser realizadas para diferentes tareas, entre las cuales se encuentran las siguientes:

  • Envió masivo de email o spam.
  • Ataque de negación de servicios distribuidos o DDOS.
  • Propagación de virus.
  • Instalación de programas espías.
  • Instalación de Keylogging.
  • Sniffing de tráfico.
  • Realizar fraude en los sistemas de pago por clic.
  • Phishing.
  • Uso para alojamiento de archivos.
  • Ofrecer anonimato al herders, puesto que los equipos zombis son los que realizarán el ataque directamente.
  • Ganar dinero con el alquiler de la red Botnet.

Modos de protección

  • Actualizar el sistema operativo con los parches que ofrece la entidad.
  • Mantener el antivirus y un anti spyware actualizado.
  • Bloquear la ejecución de código JavaScript en el navegador.
  • Bloquear los puertos usados frecuentemente por los troyanos, incluyendo el 6667 que corresponde al IRC, aunque normalmente no se conectan a los puertos por defecto.
  • Usar un firewall.
  • No visitar sitios web que puedan estar infectados.
  • No ejecutar programas de los cuales no se conozca su procedencia.
  • No abrir correos de destinatarios desconocidos.
  • Navegar con un usuario que no posea todos los privilegios sobre el sistema.
  • Revisar el tráfico saliente de nuestro equipo.
  • Analizar el sistema con un detector de rootkits

Tipos de bot

La mayoría de los Bots, fueron creados para los mismos fines, el envió de spam, el robo de credenciales de los usuarios, la propagación de sí mismos para ampliar la red Botnet aprovechando las fallas o vulnerabilidades que posean los sistemas operativos, la instalación de keylogger, de sniffer, realización de negación de servicio distribuido, etc. Un bot a grandes rasgos, tiene como objetivo principal su propagación y lograr pasar desapercibido por los usuarios, para ello algunas de las herramientas que usan son los rootkid, que van a permitir esconder al gusano y sus procesos.

A continuación presento algunos de los muchos tipos de bots existentes, cada uno posee numerosas variantes a las cuales les han incluido mejoras para no ser detectados.

  • Rxbot, Rbot, RvBot: busca copiarse a sí mismo en los documentos compartidos. Intenta obtener los nombres de los usuarios y las claves del equipo. Se aprovecha de las vulnerabilidades de Windows para acceder a otras máquinas.
  • AgoBot o Gaobot: la administración de las redes con este tipo de bot se realiza por medio de comandos de IRC, permite realizar peticiones HTTP, el uso de sniffer, keylogger, rootkits y cliente smtp para el uso de spam.
  • ZeuS, Zbot, Zbot, Wsnpoem, Ntos o Prg: se pueden presentar de modo distinto en las máquinas zombie, ocasionando su difícil detección por medio de las firmas.
  • Sober: su funcionamiento se basa en el envió de spam. Manda una copia de sí mismo en el mensaje de los correos electrónicos para su propagación. Las nuevas variantes no dependen de este medio para propagarse.
  • Spybot: usan el IRC como medio de comunicación, existen aproximadamente 1000 tipos de variantes de este virus.
  • Korgo, Sasser, SasserC: usa el IRC como medio de comunicación. Se propaga explotando la vulnerabilidad en lsass.exe de Windows.
  • SdBot: busca propagarse atacando direcciones ip aleatorias. Si logra acceder a una maquina descarga el virus a través de FTP.
  • Phatbot: se apoya en la comunicación p2p, se usa más que todo para envío de spam y la realización de DDOS. En el equipo infectado desactiva el antivirus y el firewall.

Algunas redes Botnet

  • Botnet Mariposa: extraía datos personales y de las tarjetas de crédito.
  • Botnet Rustock: fue utilizada para realizar spam.
  • Botnet Zeus: usa un troyano llamado Zeus, y se caracteriza por el robo de información, como nombres de usuario, contraseñas, números de cuenta y números de tarjetas de crédito.
  • Botnet Koobface: emplea las redes sociales como Facebook o MySpace para distribuirse, haciendo que el usuario presione sobre un enlace que lo envía un supuesto amigo para ver un vídeo y que para mostrarlo pida una actualización, engañando a la víctima y descargando así el bot en la máquina.
  • Botnet TidServ: se usa para el envió de Spam, su forma de propagación es enviándose como archivo adjunto dentro de los correos. Usa herramientas rootkit para ocultarse en el sistema.
  • Botnet Trojan.Fakeavalert: empleada para distribuir antivirus falsos.
  • Botnet TR/Dldr.Agent.JKH: es usada para realizar fraude en los sistemas de pago por clic.
  • Botnet Monkif: empleada para secuestrar navegadores mediante la descarga de un BHO malicioso.
  • Botnet Hamweq: la distribución de este gusano se realiza principalmente mediante dispositivos USB.
  • Botnet Swizzor: permite descargar otra clase de virus en el drone.
  • Botnet Gammima: se usa principalmente para robar cuentas en juegos online.

17 ene 2012

Backdoor indetectable generado con Metasploit

Hola!

Muy buenas a todos/as!

Muchas de las veces en las que se consigue acceso remoto a otro host mediante una vulnerabilidad explotada con Metasploit (por ejemplo) en la que conseguimos una shell con Meterpreter. Es bueno intentar dejar un backdoor por si queremos volver a acceder en un futuro.

La problemática de un backdoor instalado en la parte de la víctima es la detección del antivirus, que aunque no sea la panacea de la seguridad, cumple parte de su función.

Para que el ejecutable que dejaremos no sea detectado por el antivirus codificaremos el ejecutable con shitaka ga nai de Metasploit, tras conseguir acceso remoto en el equipo lo dejaremos en el equipo víctima, además pondremos una clave en el registro para que se inicie en cada inicio del sistema operativo.

Para hacer esta tarea, usaremos un script de SecurityLabs y The Hackers News que se llama Vanish, lo podemos descargar de aquí

Como dependencias para usar el script hemos de instalar las siguientes dependencias

root@bt:~# apt-get install mingw32-runtime mingw-w64 mingw gcc-mingw32 mingw32-binutils

Nos bajamos el script

root@bt:~# wget http://localhostr.com/file/p4SrRVe/vanish.sh

Si queremos consultar el código fuente del script podemos también verlo en Pastebin

Una vez hemos descargado el script, si lo usamos en backtrack como es mi caso, lo hemos de copiar a la carpeta donde se encuentre Metasploit, es decir, /pentest/exploit/framework

Una vez lo hayamos copiado, lo ejecutamos, nos irá haciendo preguntas sobre la targeta de red, un número seed aleatorio y las veces que será encodeado con shitaka ga nai

El ejecutable se creará, nos hará una firma de hash del ejecutable, además de meterlo en una carpeta que se llama seclab

Para comprobar la fiabilidad de nuestro ejecutable lo subiremos a Virus Total, del que obtendremos una buena noticia dado el bajo ratio de detección:

El ratio de detección es muy bajo y eso nos permitirá el poder evadir la mayoría de antivirus

Como ya tenemos sesión con Meterpreter es sencillo el poder subir un archivo al host víctima

Le cambiado el nombre para que el archivo no se llame backdoor.exe :P

Ahora depende del atacante si quiere dejarlo así y enviar este ejecutable por email o ejecutarlo cada vez que vulnera la máquina o bien, puede añadir una entrada al registro para que se inicie en cada inicio de sistema operativo.

Luego desde la máquina atacante podemos hacer una conexión al host víctima

Podremos tener accesos remotos al equipo víctima tantas veces como deseemos con el backdoor generado.

Saludos cordiales

16 ene 2012

Escáneres de vulnerabilidades Web ¿Cuál es tu preferido? Parte I

Buenas a todos, en el post de hoy me gustaría iniciar una cadena de artículos para discutir con todos vosotros sobre herramientas automáticas para analizar vulnerabilidades en Sitios Web. Abro el debate y el primer post hablando de una de mis herramientas preferidas para esta labor (tengo varias, pero hablaré de las demás en próximos días), Acunetix.

Probaremos a lo largo de esta cadena todas las herramientas que nos recomendéis contra el sitio Web de pruebas "Badstore" e iremos publicando los resultados en el blog para discutirlos. Además, los iremos añadiendo a nuestro listado de herramientas de auditoría de seguridad, donde ya tenemos varias aplicaciones para auditar sitios Web, para que así las tengáis siempre a mano.

Para que os hagáis una idea rápida de las vulnerabilidades que encontraremos en badstore, o las recordéis si las visteis hace tiempo, os dejo algunos enlaces a antiguos artículos donde hemos hablado de vulnerabilidades en badstore:

Y por si no sabéis donde conseguir Badstore, o qué es, os dejo este otro enlace:

Acunetix

Para quienes no conozcan Acunetix, se trata de un escáner de vulnerabilidades que permite analizar la seguridad de las aplicaciones Web de una manera sencilla. Basta con configurar la url/ip/puerto donde se encuentra la aplicación, y seleccionar el perfil de ataque para lanzar un escáner.

Acunetix es capaz de probar vulnerabilidades de tipo Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF), SQL Injection, Code Execution, Directory Traversal, HTTP Parameter Pollution, File Inclusion, Script Source Code Disclosure, CRLF Injection, Cross Frame Scripting (XFS), PHP Code Injection, XPath Injection, Path Disclosure (Unix and Windows), LDAP Injection, Cookie Manipulation, Arbitrary File creation, Arbitrary File deletion, Email Injection, File Tampering, URL redirection, Remote XSL inclusion, DOM XSS, MultiRequest Parameter Manipulation : Blind SQL/XPath Injection, Input Validation, Buffer Overflows, Sub-Domain Scanning, permite escanear puertos abiertos, métodos habilitados, fuzzear en busca de archivos no linkados, comprobar listados de directorios, y un largo etc.

Tenéis más información en su página oficial.

La herramienta tiene una pega, y es que es de pago.

A continuación os muestro el resumen del reporte final tras auditar la aplicación Badstore:

Como veis, Acunetix es una herramienta muy potente, ha sacado 117 alertas, de entre las cuales 47 son graves, y algunas recomendaciones que yo incluiría como vulnerabilidades graves, como el encontrarse habilitado el método TRACE.

Si comparamos el reporte con el de la auditoría de SQL Injection que realizó @Jesusprubio en el post BadStore, SQLi y otras chicas del montón, y cuya captura principal os copio a continuación, se ve como Acunetix es capaz de localizar hasta 29 inyecciones de tipo SQL frente a las 6 que identifica la herramienta W3af:

Como veis, Acunetix puede ser un gran aliado durante una auditoría de tipo Web.

Ahora llega el turno de vuestras opiniones,

saludos!

15 ene 2012

Informe Flu - 54

 

Holas a todos, os dejamos con el resumen de la semana:

Lunes 9 de Enero

Martes 10 de Enero

Miércoles 11 de Enero

Jueves 12 de EneroViernes 13 de Enero

Sábado 14 de Enero

  • Ayer todos bailamos al ritmo del "Hacker Rap" by zerialkiller
 http://www.flu-project.com/hacker-rap-by-zerialkiller.html

14 ene 2012

Hacker Rap by zerialkiller

Hoy sábado os traigo una curiosa canción sobre la temática del hacking en formato Rap. La idea me la dió el señor ZerialKiller desde el otro lado del charco :) Saludos Zerial ;)Os dejo la letra y el vídeo.Toda tu mente siente la atracciónde la inquietud, romper barreras, la superaciónbajo las yemas de tus dedos un tecladopupilas dilatadas y el corazón acelerado.Suplanto MAC identidad, y expulso a los clientes,capturo en modo monitor, e inyecto más paquetes,rubik resuelvo sentado en el sillónaircrack se ejecuta reventando encriptación.Desde niño entre chips y cables,comprender e inconformismo siempre fueron las constantes,deseando subyugar a la tecnología,bajo el mando de mi voluntad, me divertía.Procesadores y teclados revolucionaronmi imaginación se desbordaba programando.Soluciono los problemas imposibles sin dilemas,imparable acometida de mi mente a tus sistemas.No sólo existe lo que ves, no seas zafioen franjas inaudibles viajan ondas, portan datos,la materia más preciada, información,viaja por el aire y es posible realizar intercepciónNuevo terreno, de escanear es tiempobacktrack se ejecuta interpretando lo que lleva el vientola zona está petada de WEP y WPA,en mis labios la sonrisa, tiempo es de trabajar.Suplanto MAC identidad, y expulso a los clientes,capturo en modo monitor, e inyecto más paquetes,rubik resuelvo sentado en el sillónaircrack se ejecuta reventando encriptación.Suplanto MAC identidad, y expulso a los clientes,capturo en modo monitor, e inyecto más paquetes,rubik resuelvo sentado en el sillónaircrack se ejecuta reventando encriptación.Autor: smdaniAño: 2009Género: rapBase: Kiwi kon almendras y salsa rosa - Jonan[youtube Qkwdm5SWLGM]

13 ene 2012

Estrenamos nueva sección en Flu Project - ¡Pantalla Pública!

Buenas a todos, hoy inauguramos una nueva sección en Flu Project a la que hemos titulado como "¡Pantalla Pública!".

En esta nueva sección publicaremos fotografías que hagamos y que nos enviéis de pantallas que os encontréis en centros comerciales, estaciones, cajeros, trabajos, universidades, etc. en las que veais cosas cursiosas, como por ejemplo, los típicos errores de Windows :)

¡Abrimos la sección con las siguientes fotografías!:

Error de Windows mostrado en una de las pantallas de información del Centro Comercial La Vaguada de Madrid:

Alguien no se le ocurrió otra feliz idea que mirar su Tuenti en el Centro Comercial El Corte Inglés de Xanadú, y para colmo se le olvidó cerrar la sesión...:

Ahora tocan errores en las pantallas de medios de transporte de Madrid y Barcelona :)

Renfe de Madrid:

Tranvía de Barcelona:

Como de costumbre, si queréis que publiquemos vuestras fotografías podéis enviarnoslas al email info@flu-project.com.

Saludos!