martes, 31 de agosto de 2010

"Espera que saco plata y agendo un análisis en el cajero" - (Banco Itaú)

El viernes pasado volvía a mi casa luego de ir al cine con mi novia y se me ocurrió sacar plata ya que pensábamos salir a comer algo por el barrio.

Luego de notar que mi banco se encontraba cerrado por reparaciones me dirigí al banco continuo, una sede del Itaú.

Por si no lo registran al banco, es aquél que hace poco instalo en sus sedes esas puertas corredizas al estilo Star Trek que se abren luego de deslizar la tarjeta.

Luego de este ingreso de "película" a dicha sede, me detengo estupefacto ante el mensaje que mostraba el cajero:


Así es, el cajero me preguntaba si quería confirmar la realización de un análisis programado por parte del antivirus que posee instalado, Trend Micro Office Scan.

Obviamente esta no es la normal pantalla de bienvenida de un cajero, ni tampoco una operación que un cliente del banco tenga que realizar antes de operar sobre su cuenta. Por el lado comercial esto podría afectar a la entidad financiera ya que el cliente podría perder confianza sobre la misma y a consecuencia una posibilidad real que considere incluso el cierre de su cuenta.

Pero no es el aspecto comercial el que nos interesa en este blog, sino el técnico. El hecho de que veamos dicha ventana nos indica que solución antivirus utiliza el banco y también la versión (Office Scan).

Antes de detallar el potencial peligro, me gustaría explicarles el termino "seguridad por oscuridad". Básicamente es un principio que plantea que un sistema o sistemas pueden basar su seguridad o parte de ella en el secreto de su existencia, ya sea a nivel diseño o implementación.

Normalmente uno no debería saber que antivirus utiliza un banco es sus cajeros, pero sabiendo esto y realizando una simple búsqueda en Google con los términos "Trend Micro Office Scan vulnerabilidad" damos con este interesante artículo. ¿Ven algún nombre en la lista que les parezca familiar?

Continuando con la anécdota, procedí a darle clic en "Ok" y luego utilice el cajero de al lado, el cual no tenia ninguna alerta atípica...solo por las dudas. :-)

PD: Sepan disculpar la calidad de las imágenes, pero solo tenia a mano la cámara de mi celular.


Ximo

miércoles, 18 de agosto de 2010

Y por casa? Auditoría de IP's - Parte 2


Como prometí, aquí les dejo la segunda parte de este post. Como verán me esmeré un poco y arme un vídeo...ya que si una imagen vale mas que mil palabras, entonces un vídeo seria algo como (FRAMESxSEGUNDOS DE DURACIÓN)x1000= ?....no? :P.

(Les recominedo que vean el video en pantalla completa ya que lo subí en alta calidad)




Como pueden ver una de las IP's con las que me encontré realizando el análisis poseía un panel de login bastante raro (y si, es de Argentina, Buenos Aires). Pero la cosa se ponía más y más rara a medida que me adelantaba con la investigación.

Como siempre, el problema común de las credenciales por defecto. Una vez dentro me encontré con una cámara de seguridad que apuntaba a una calle. Lo curioso fue ver como la segunda cámara ya parece encontrarse más escondida al igual que la tercera, cuarta y quinta, donde ya nos metemos en el domicilio de quien asumo son los dueños de este "sistema de vigilancia". Aunque...parecen estar muy escondidas las cámaras, no? Pareciera que esta familia es la vigilada...Honestamente no sé la respuesta, lo dejo a ustedes que saquen sus propias conclusiones.

Lo importante a destacar aquí es que si efectivamente se trata de un sistema de seguridad propio, ponerle admin:admin de usuario y contraseña hace no solo que se pierde todo sentido de la instalación, sino también que dicha tecnología se vuelva en nuestra contra, exponiéndonos al mundo.


Ximo

martes, 10 de agosto de 2010

Y por casa? Auditoría de IP's - Parte 1


Buenas buenas mis ávidos lectores! El día de hoy no les voy a hablar de servidores web, ni de los errores o descuidos que sufren los administradores de los mismos. No señor, hoy les voy a hablar de ustedes...si, de ustedes y de los problemas que pudieran llegar tener en el punto mas externo y público de su/s equipo/s o red: su IP.

Este numero nos identifica como únicos dentro de internet (ojo!, hablamos del IP externo o publico y no de el o los IP's locales). La mejor forma de averiguar nuestro IP externo es ingresando a algún sitio como MyIP.es.

¿Y ahora que se mi IP qué hago?

Bueno mis queridos amigos, con este numero ya sabemos el rango de IP que nos asigno nuestro proveedor de Internet.

Digamos que nuestro IP es 123.123.10.2 (ni se gasten, el IP no existe :P ), y se nos ocurre escanear todos los IP's dentro de nuestro rango (último octeto del IP), entonces vamos a analizar todos los valores comprendidos entre 123.123.10.0 hasta 123.123.10.255.

Excelente! Yyyy....¿con qué y cómo los analizamos?

Existen literalmente miles de herramientas para escanear IP's. Una de las mas populares es Nmap por lo versátil que es, pero en este caso vamos a usar Angry IP por su amigable interfaz. En ambos casos los productos son multiplataforma por lo que nadie tiene excusa... :-]




Arriba vemos una captura de los resultados obtenidos del análisis de un rango con el Angry IP. En este caso además de especificar el rango, yo edite las preferencias y le indique que analizara todos los hosts activos (para no seguir diciendo IP's) en busca de determinados puertos abiertos. Puntualmente los siguientes: 21,22,23,80,139,443,445,8080.

¿Qué buscabas con esto?

Muchos routers y modems poseen una consola de administración web o telnet a la cual se puede acceder por un determinado puerto (El 23,80,443 y 8080 son los más comunes). Obviamente que dicha consola se encuentra protegida por usuario y contraseña, pero los datos por defecto no suelen ser muy complejos que digamos (el incansable admin:admin es el más popular). El gran error que comenten muchos usuarios es no cambiar dichas credenciales por defecto, ya sea porque ignoran que este acceso existe o porque creen que al poseer una IP dinámica nadie los va a encontrar. Gran error!!! Es un tremendo problema, ya que esto puede darle acceso a nuestra red y equipos a un usuario malicioso, y como demostramos anteriormente, el IP dinámico aparece en los resultados del análisis al igual que cualquier otro.




Arriba un router el cual posee credenciales por defecto donde se puede ver que tiene dos clientes conectados por LAN y WAN respectivamente, uno es una PC que al parecer fue comprada en Garbarino y el otro es un Iphone.

Y si creen que lo único que se puede hacer aquí es volver loco a los clientes desconectándolos de la red se equivocan. Imaginen que un usuario malicioso abra y redireccióne el puerto 445 a uno de los clientes que se encuentra conectados, con la esperanza de que este disponga de recursos compartidos. De ser así este podría lanzar un exploit que le permita obtener una shell dentro del equipo en cuestión y así disponer de acceso total sobre este.

No es tan gracioso ahora, ¿no?.

No se imaginan la cantidad de routers y módems que encontré con credenciales por defecto. Debajo otro ejemplo:




Además encontré algo muy interesante que voy a postear en una segunda parte ya que estoy terminando de producir el material y sino me queda el post muuuuuy largo.

Recuerden que no deben acceder a dispositivos ajenos, y si accidentalmente lo hacen, no deben modificar nada en absoluto ya que es ilegal. Dentro de lo posible traten de comunicarle al propietario que cambie sus credenciales.


Ximo

viernes, 6 de agosto de 2010

Nuevo domino www.insegar.com.ar



¡Buenos días (o noches, según corresponda) mis estimados lectores! Tengo el agrado de informarles que desde hace aproximadamente una semana disponemos de un dominio .com.ar. El mismo es:




 Lo importante de esto es que va a permitir crecer a IN-SEGAR hacia nuevos horizontes. Con este nuevo domino también aprovecho para contarles la incorporación de un nuevo Tag o Etiqueta llamada "Internacionales" donde publicaré fallas a nivel mundial, expandiendo así el alcance del blog.


Espero que les agraden estas noticias y les pido que comenten para conocer su opinión y si les gustan o no los cambios realizados. También los animo a expresar sus criticas o recomendaciones para el blog, en caso de que no deseen hacerlo de forma publica en un comentario me pueden escribir a ximo.insegar@gmail.com .

Ah! Me olvidaba! Dentro de muy poco voy a estar realizando un pequeño desafío, para quienes se animen, con interesantes premios, asique estén atentos al blog. (Pueden suscribirse para recibir los post por correo o en su lector RSS de confianza, :p).


Ximo

martes, 3 de agosto de 2010

Nueva versión 2.1.2 de Nikto


Les dejo una nueva versión de Nikto. En este caso la version 2.1.2 que fue liberada el 11 de Julio del corriente año. Como dije en el anterior post, esta es una excelente herramienta de auditoría, por lo que les recomiendo a todos aquellos interesados en la auditora de seguridad que lo descarguen, y para aquellos que ya la tienen que la actualicen.



Les dejo los links de descarga:

Descarga: Version 2.1.2 .gz o .bz2

Y a continuación les dejo el changelog (registro de cambios):

2010-07-11 Nikto 2.1.2
  • Ticket 8: Interactive scan status.
  • Ticket 122: Cleanup db_404_strings to prevent over-matching.
  • Ticket 122: Use db_404_strings as a higher priority.
  • Ticket 125: fetch is dead, long live nfetch!
  • Ticket 126: subdomain plugin tries to guess domain on unqualified hostname.
  • Ticket 127: dav methods are treated specially and reported all at once.
  • Ticket 129: Change references for config.txt to nikto.conf.
  • Ticket 130: Added -D E to show HTTP errors, otherwise suppress.
  • Ticket 132: Properly check for HTTP and HTTPS ports in cache.
  • Ticket 133: Regular expression matching causes errors. Removed char_escape and some other regexs in favor of the faster quotemeta(). Also set many regexs to non-capturing for speed.
  • Ticket 134: Added documentation of -config to usage_short.
  • Ticket 136: Moved set_scan_items to only run once, should speed things up with multiple targets.
  • Ticket 137: Added -ask to override nikto.conf's UPDATES value (same options).
  • Ticket 139: Partial fix: Moved URI error handling and reporting result to nfetch, rather than being in nikto_tests.
  • Ticket 141: pre-compile RE in content_search to give some speed-up.
  • Ticket 142: Enhancement to allow easier addition of hooks.
  • Ticket 144: Cleaned up map_codes to use general rules, still needs some for redirection.
  • Ticket 145: Added OSVDB 0 to orphan items in db_tests.
  • Ticket 146: Paritial fix: with new "start" hook which is run at the start after target enumeration.
  • Ticket 147: Grab HTTP information on the fly, deprecate get_banner.
  • Ticket 150: Special characters in XML output.
  • Ticket 152: HTTP Version set in nikto.conf over-ridden.
  • Ticket 153: Properly check for HTTP and HTTPS ports in cache.
  • Ticket 156: Update system couldn't update nikto_core.plugin.
  • Ticket 163: Scan details not appearing in XML reports.
  • Allow changing certain config settings during scans.
  • Optimized rm_active_content() a little by shuffling code and reducing some mem copies/regexs. Needs more work.
  • Update nikto.conf to switch tests to always have the (report:500) parameter.
  • Updates to read known headers on the fly, rather than make requests for them.
  • Fixed a bug with the order of parameters in hooks (broke parameters being passed to some plugins).
  • Added the parameter "report" to tests plugin to report when completed x number of tests.
  • Stop LibWhisker producing an error when talking HTTP to HTTPS during port_check.
  • Merged apacheusers and apache_enum_users.
  • Add facillity for a plugin to inform which options it can take.
  • Added nbe output plugin which written by Frank Breedijk of the Seccubus project.
  • Moved do_auth to a postfetch plugin.
  • Removed dead code from fetch().
  • Optimizations in nfetch(), nikto.pl, & elsewhere.
  • Added support for prefetch and postfetch hooks.
  • Moved content_search to a plugin.
  • Some tuning around plugin execution.
  • Updated user_enum_apache to use Plugins instead of mutate.
  • Rewrote the macro expanding bit to make it more efficient.
  • Mutate 1 now wrapped into nikto_tests and doesn't take up anywhere near the amount of memory!
  • Starting to deprecate mutate by replacing with plugin options. -mutate 2 (passfiles) is now implemented within tests and
  • uses less memory.
  • Updated -check_updates to use nfetch instead of fetch.
  • Updated -Plugins support.
  • Add filename support to rm_active_content.
  • Added basic support for -D s (scrub, removes some information from the log).
  • Match plugin names case-insensitive.
  • Warn if RFIURL is undefined.


Ximo