7/20/2010

Jugando con SHODAN

Ayer estuvimos jugando un poco con SHODAN y me parece interesante dejar aquí plasmados algunos resultados bastante curiosos de las pruebas que fuimos haciendo. Para empezar, ¿qué es SHODAN? Es un buscador, para dar una explicación rápida diremos que en vez de buscar por contenidos como hace Google busca máquinas(servidores, routers, etc) que ejecuten el software que le especifiquemos, además permite filtrar los resultados por otros parámetros como países, puertos o versiones, en este pdf lo explican con más detalle. Un buen punto de partida para familiarizarse con esta aplicación web son las búsquedas populares, entre las que podemos encontrar algunas con resultados muy sorprendentes.


Después de un rato trasteando se nos ocurrió buscar routers, ya que con esta lista de contraseñas por defecto(o otra de las muchas que hay por ahí) para cada modelo y un poco de scripting se podrían hacer maravillas. A continuación dejo algunos ejemplos de búsquedas por modelo de router:

http://www.shodanhq.com/?q=DWL-G700AP
http://www.shodanhq.com/?q=wg602
...

Como podíamos pensar en un principio lo del scripting para probar por fuerza bruta no es necesario ya que hay demasiados con la configuración por defecto:



Hasta aquí vemos que son routers como podrían ser los de nuestra casa, la configuración por defecto puede ser por distintos motivos que pueden ir desde simples tormentas hasta que alguien lo reinició como le aconsejaron en el soporte de su ISP y no lo volvió a securizar por desconocimiento, por vagancia, por prisa... Por experiencia como clientes de más de un ISP no es extraño encontrarse que los técnicos que hacen la instalación en casas la dejen así por los mismos motivos.

Pero nos encontramos que incluso routers para cosas "más serias" supuestamente dentro de una empresa(la gente no suele tener de esos en su casa) están accesibles sin pedir ni usuario ni contraseña. Imaginemos por un momento que a alguien se le ocurriera instalar un sniffer en este router CISCO
como se explica en éste artículo, podría capturar todo lo que pasase por cualquiera de las interfaces del router. Viendo las pocas molestias que se toman en cambiar las contraseñas y con todo lo que permite hacer un router de este tipo(crear VPNs por ejemplo) mejor no pensar en lo que se podría hacer desde aquí.


Por si todo esto resultase poco sorprendente pensamos que pasaría con los sistemas de video-vigilancia, ¿estarían también expuestos con contraseñas por defecto? Pues parece que más de lo mismo, probamos con sencillas búsquedas como las siguientes:




Y vemos que obtenemos multitud de resultados, las contraseñas por defecto de estos sistemas son un poco más difíciles de encontrar y no se si hay alguna lista parecida a la de antes pero en los manuales del producto o sitios como foros de los propios fabricantes no lleva mucho tiempo.




Eso de que nos puedan estar grabando(tanto en el trabajo como en tu propia casa) y retransmitiendo por internet "casi" en abierto no creo que le haga mucha gracia a nadie, sin comentarios...

Carlos López
Jesús Pérez

6/01/2010

ISO 27001: Inventario de los activos de información

Uno de los primeros pasos que debe seguir la entidad para adaptarse a la norma ISO 27001 es realizar el inventario de activos que contendrá todos aquellos activos de información que tienen algún valor para la organización y que quedan dentro del alcance del SGSI. En un principio puede parecer un poco abrumador para un principiante(como yo) por la enorme cantidad de activos que se te van ocurriendo por eso decidí empezar por clasificarlos de alguna forma, de entre las múltiples maneras que me encontré elijo la definida por los expertos del foro ISO27k ya que me parece la más completa, mostrando ejemplos de cada tipo y es válida para entidades de muy distinta naturaleza. Éste podría ser un buen punto para comenzar siempre teniendo en cuenta lo que nos aconsejan también en ese foro:
"Debido a que los activos son algo cambiante, incluso si pudieras cubrir absolutamente todo lo que hay hoy, mañana la situación sería un poco diferente y más en unas semanas, meses o años. Así que es perfectamente aceptable seguir con un inventario "suficientemente bueno por ahora", siempre incluyendo en el SGSI la revisión y actualización de procesos como parte de la mejora continua"

Traducción del artículo:

ACTIVOS DE INFORMACIÓN PURA

- Datos digitales: Personales, financieros, legales, de investigación y desarrollo, estratégicos y comerciales, correo electrónico, contestadores automáticos, bases de datos, unidades lógicas(particiones) privadas y compartidas, copias de seguridad(cintas, CDs, DVDs), claves de cifrado.
- Activos tangibles: Personales, financieros, legales, de investigación y desarrollo, estratégicos y comerciales, correo tradicional/electrónico, FAXs, microficheros y otros materiales de copia de seguridad/archivo, llaves de oficinas/cajas fuertes y otros medios de almacenamiento, libros, revistas, periódicos.
- Activos intangibles: Conocimiento, relaciones y secretos comerciales, licencias, patentes, experiencia, conocimientos técnicos, imagen corporativa/marca/reputación comercial/confianza de los clientes, ventaja competitiva, ética, productividad.
- Software de aplicación: propietario desarrollado por la empresa, de cliente(compartido y aplicaciones de escritorio), COTS, de planificación de recursos empresariales(ERP), de gestión de la información(MIS), utilidades y herramientas de bases de datos, aplicaciones de comercio electrónico, middleware.
- Sistemas operativos: Para los servidores, ordenadores de sobremesa, ordenadores centrales, dispositivos de red, dispositivos de mano e incrustados (incluyendo la BIOS y el firmware).

ACTIVOS FÍSICOS

- Infraestructura de TI: Edificios, centros de datos, habitaciones de equipos y servidores, armarios de red/cableado, oficinas, escritorios/cajones/archivadores, salas de almacenamiento de medios físicos y cajas de seguridad, dispositivos de identificación y autentificación/control acceso del personal (tornos, tarjetas, etc) y otros dispositivos de seguridad (circuito cerrado de televisión(CCTV), etc.)
- Controles del entorno de TI: Equipos de alarma/supresión contra incendio, sistemas de alimentación ininterrumpida (SAI), alimentación de potencia y de red, acondicionadores/filtros/supresores de potencia, deshumificadores/refrigeradores/alarmas de aire, alarmas de agua.
- Hardware de TI: Dispositivos de almacenamiento y cómputo como ordenadores de sobremesa, estaciones de trabajo, portátiles, equipos de mano, servidores, mainframes, módems, líneas de terminación de red, dispositivos de comunicaciones (nodos de la red), impresoras/fotocopiadoras/faxes y equipos multifunción.

ACTIVOS DE SERVICIOS DE TI

Servicios de autenticación de usuario y administración de procesos de usuario, enlaces, cortafuegos, servidores proxy, servicios de red, servicios inalámbricos, anti-spam/virus/spyware, detección/prevención de intrusiones, teletrabajo, seguridad, FTP, correo electrónico/mensajería instantánea, etc., servicios web, contratos de soporte y mantenimiento de software.

ACTIVOS HUMANOS:

- Empleados: Personal y directivos, en particular los que tienen roles de gestión como altos cargos o directores ejecutivos, arquitectos de software y desarrolladores/probadores, administradores de sistemas, administradores de seguridad, operadores, abogados, auditores, usuarios con poder y expertos en general.
- Externos: Trabajadores temporales, consultores externos o asesores especialistas, los contratistas especializados (por ejemplo, los que entienden el mantenimiento del entorno físico de TI), proveedores y socios ...

En lo referente a software para crear el inventario en este wiki sobre ISO 27000 se nos ofrece alguna opción de pago y una hoja de cálculo gratis, pero una vez más me quedo con la alternativa de foro ISO2K7 [ muchas gracias ;) ], en su toolkit tenemos una hoja de cálculo mucho más completa organizada por tipo de activo (ISO27k Asset Register.xls)




Nota: Esta entrada tiene licencia Attribution-Noncommercial-Share Alike 3.0 Unported para respetar la del texto original.


Jesús Pérez

5/10/2010

Jugando con la FOCA 2: Metadatos en los ayuntamientos gallegos

Hace unos días asistí al webcast sobre la nueva versión de la FOCA de la gente de Informática 64, aprovecho para darles las gracias desde aquí por la charla que me sirvió para resolver algunas dudas que me surgieron cuando la probé. No voy a explicar los problemas asociados a los metadatos en los documentos, dejo este enlace donde lo explica Chema Alonso para el caso de los formatos de Microsoft Office. Un resumen rápido: todo documento tiene asociada una información relativa a sí mismo y hay herramientas que permiten extraerlos, pero también las hay para limpiarlos, el OOMetaExtractor es GPL :) y los elimina de los tipos de archivo del OpenOffice.

Al terminar el webcast me puse a hacer unas pruebas y por curiosidad se me ocurrió probar con la dirección de la web de mi ayuntamiento y como podía suponer nadie limpia los metadatos de los documentos publicados. A continuación comprobé que en otros ayuntamientos pasaba lo mismo, así como en la web de A Xunta de Galicia. Para tener una idea general de como están las cosas hice un recuento usando los sitios de 8 de los ayuntamientos más importantes y el de A Xunta. Descargué los ficheros en proyectos por separado y después de arrastrar las carpetas que los contenían a la FOCA obtuve los metadatos (Metadata/Extract all documents metadata) y este es el resultado:



Vemos que en Galicia no nos preocupamos por los metadatos, es una pena que no esté disponible la versión 2.0.3 de la FOCA que incorpora el buscador Exalead y encuentra muchos más documentos del tipo WordPerfect, como nos mostró Chema en el webcast . Esta lista muestra el numero de elementos no repetidos para cada categoría, no tendría sentido usar todos estos datos juntos en un test de intrusión ya que son de dominios sin relación ninguna pero si nos permite observar el volumen de datos sensibles que se puede extraer con un par de clicks de tan solo 8 páginas web. Lo que sí nos puede interesar algo más es el software usado para la crear de los documentos:



No pego la lista completa porque alargaría demasiado la entrada, así que dejo algunos:
PDFCreator Version 0.8.0
GNU Ghostscript 7.06
OpenOffice 2.3
Adobe InDesign CS3 (5.0.3)
Adobe PDF Library 8.0
PScript5.dll Version 5.2.2
Acrobat Distillier 7.0
Microsoft Office 95
OpenOffice 3.0
PFU ScanSnap Manager 4.2.14
Microsoft Office 2000
ADOBEPS4.DRV Version 4.50
AppleWorks 6
QuarkXPress
Microsoft Office 2007
CorelDRAW
Corel PDF Engine 14.0.0.567
Microsoft Office 2008 for Mac
Adobe Illustrator 10.0
Adobe InDesign CS3 (5.0.4)
PSCRIPT.DRV Version 4.0
Acrobat Distillier 3.0
Acrobat PDF Writer 3.0 para Windows
Windows NT 4.0
Adobe LiveCycle Designer 8.0
DynaPDF 2.0
PDF Complete version 3.0.31.1
Macromedia FlashPaper 2.02.2302.0
PDFlib 5.0.3
FreeHand MX: pictwpstops filter 1.0
Adobe Photoshop CS3
pdfFactory Pro www.pdffactory.com
pdfFactory Pro 2.35 (Windows XP Professional Spanish)
Adobe Designer 7.0
pdftk 1.41 - www.pdftk.com

Esto no quiere decir que en los ayuntamientos/Xunta esté todo este software instalado, podría ser que el Photoshop sea de un estudio de diseño que es el que hizo el .pdf y que después se cuelgue directamente en la web. Lo que me llama la atención es la cantidad de software propietario distinto que se usa para crear un documento de ofimática cuando se puede hacer todo esto con el OpenOffice, y mejor no hacer comentarios sobre las versiones "Pro"... Esto puede tener dos lecturas, que en la administración usen copias piratas, lo cual estaría muy muy mal por su parte... ;) o que estén tirando nuestro dinero gastando en software que no es necesario, lo que no sería muy entendible teniendo en cuenta la campaña de apoyo al software libre, distribución de Linux inclusive, de A Xunta.

Para acabar la entrada voy a decirle a la FOCA que analice los metadatos extraídos (Metadata/Analize metadata), pero en este caso solo voy a utilizar los del caso de A Xunta ya que, como dije antes, no tiene sentido analizar conjuntamente los de dominios independientes. Quiero remarcar que solo utilizo las funcionalidades de la foca relacionadas con los metadatos, aunque incorpora otras muchas para ayudarnos a pintar una red durante un test de intrusión, este es el resultado:


Ya tendríamos 77 clientes y 3 servidores posibles con su sistema operativo para comenzar una auditoría solo utilizando la información relativa a los metadatos. Y como vemos, mucho software libre por aquí tampoco hay ... :(


Jesús Pérez

5/09/2010

"Top" riesgos en seguridad de la información (I): Introducción y amenazas

Mientras me documentaba sobre la serie ISO 27000 de cara a mi proyecto de fin de carrera se me ocurrió si habría alguna lista con los riesgos o disconformidades más comunes encontrados en las auditorías, algo similar al OWASP Top 10. Me quedo con éste articulo publicado por la gente del foro ISO27k en colaboración con CISSPForum que, a pesar de ser del 2008, me parece la mejor elección ya que la mayoría de listas de este tipo abordan el tema desde el prisma de la seguridad informática más que desde él de la seguridad de la información y, en este caso, los autores del artículo son auditores con una amplia trayectoria profesional. El objetivo de este artículo es familiarizarme con muchos de los problemas que me voy a encontrar durante una auditoría, intentaré traducirlo añadiendo algunos ejemplos o comentarios que faciliten su comprensión con un vocabulario más accesible a todo el mundo ya que las metodologías suelen utilizar un lenguaje diferente al que estamos acostumbrados.

Introducción
Antes de comenzar es necesario aclarar algunas definiciones de los términos que se van a usar y que según los autores del texto original pueden causar confusión. Se definen en armonía el estándar internacional ISO/IES 27001:
- Activo: Cualquier información o sistema relacionado con el tratamiento de la misma que tenga valor para la organización.
- Amenaza: Cualquier cosa que podría dañar algún activo de la organización.
- Vulnerabilidad: Una debilidad de un activo que puede ser explotada por una amenaza.
- Impacto: Medida del daño sobre el activo derivado de un incidente de seguridad.
- Riesgo: Combinación de un evento y su posible impacto.
- Control: Las políticas, los procedimientos, las prácticas y las estructuras organizativas concebidas para mantener los riesgos de seguridad de la información por debajo del nivel de riesgo asumido.
(Nota: Este glosario puede ser de ayuda con el resto de conceptos.)
Se enumera en listas separadas las amenazas, vulnerabilidades e impactos para, a partir de ellos, elaborar la de riesgos y los controles asociados.

Amenazas
Las amenazas son todo aquello que pueda explotar, deliberada o accidentalmente, alguna vulnerabilidad causando así un incidente de seguridad de la información:
- Imposición de obligaciones legales y reguladoras, lo que puede provocar la violación de las mismas. Por eso es muy importante adecuar los controles a cada organización de forma que se puedan cumplir de una forma razonable.
- Crimen organizado o grupos terroristas que usan identidades robadas y otras formas de compromiso o extorsión para financiar o apoyar actividades criminales. El famoso fallo de DNS permitía engañar al a víctima usando la identidad de una página web de un banco por ejemplo.
- Ciber-criminales, que pueden ser "hackers negros" muy capacitados técnicamente o alguien que pueda permitir pagarles.
- Autores de "malware" como virus, gusanos o troyanos, en particular "key loggers".
- "Phishers", incluyendo los que tienen como objetivo a usuarios individuales creando herramientas específicas para la ocasión.
- "Spammers" que malgastan el ancho de banda y llenan nuestros buzones de basura usando su "malware" y sus "botnets". Tenemos el caso reciente de la red Mariposa que se utilizaba para diferentes fines "por encargo".
- Personal negligente como programadores, arquitectos de software, "testers" y directores de proyectos que pueden causar o hacer fallar la prevención de vulnerabilidades. El 80% de fugas de información confidencial tienen origen en usuarios internos con acceso autorizado a la información.
- Actos intencionados o desastres naturales que pueden interrumpir, dañar o destruir activos y servicios. Engloba desde incendios provocados hasta tornados, inundaciones, etc.
- Estafadores que usan las TI(Tecnologías de la información) para explotar las debilidades en sus controles. Se centran en procesos de negocio activos pudiendo explotar directamente una vulnerabilidad en los sistemas o en otros tipos de información que no reside en sistemas informáticos. Un ejemplo sería un ataque por ingeniería social en el que se consiguen robar algún soporte extraible donde se almacenan las copias de seguridad.
- "Hackers", tanto los negros como los blancos, que aunque su motivación sea la curiosidad también pueden provocar incidentes de seguridad.
- Competencia poco ética(ej. espionaje industrial para robar secretos empresariales, listas de clientes, etc) o potencias extranjeras con objetivos comerciales o secretos de estado y que utilizan el espionaje, ingeniería social, "phishing", "malware" o todo tipo de técnicas de "pen-testing" para lograrlo.
- Empleados no cualificados que provocan que errores humanos de forma inocente, otros descontentos que utilizan mal o desconfiguran los sistemas de seguridad y los que ignoran las políticas de seguridad y las buenas prácticas.
- Boicoteadores que destruyen, o tratan de destruir, activos de información o que prohíben el acceso a los mismos(un tipo de extorsión).
- Acceso no autorizado, modificación o divulgación de activos de información ya sean hardware, software o datos.
- Países altamente cualificados técnicamente en materias de seguridad pueden utilizar la información de la que disponen durante una guerra para atacar las infraestructuras donde reside la información más crítica del oponente.
- Avances tecnológicos. Un ejemplo es la computación atómica, con su llegada es solo cuestión de tiempo que todos los algoritmos de encriptado actuales se queden obsoletos.

En la siguiente entrada sobre este tema seguiré con las vulnerabilidades e impactos.

Nota: Esta entrada tiene licencia
Attribution-Noncommercial-Share Alike 3.0 Unported para respetar la del texto original.


Jesús Pérez

4/08/2010

Karmetasploit en Backtrack (II)


En el artículo anterior configuré el entorno necesario para montar el punto de acceso ficticio y dar acceso a las víctimas a Internet, ahora paso a la segunda parte de este ataque que es lanzar el Karmetasploit. Antes de nada, como necesita una base de datos, la forma más sencilla de configurarlo(según sus cradores): gem install activerecord sqlite3-ruby. Ahora arranco Metasploit con el script karma.rc:


iptables -t nat -A PREROUTING -i at0 -j REDIRECT & msfconsole -r karma.rc >> captureKarma.txt



- El primero es necesario porque en la página del proyecto aconsejan forzar que siempre atienda el punto de acceso las peticiones DNS y el cliente no use las que tiene cacheadas.
- Al arrancar msfconsole hay un error al principio porque dice que el plugin dedb_sqlite3 está deprecated, hay que eliminar la primera línea de karma.rc ya que ahora (con Backtrack y Metasploit actualizados) lo carga directamente al iniciar el framework, de hecho vemos que crea la base de datos karma.db a pesar del error. Pero después de un buen rato rompiéndome la cabeza mi conclusión es que no funciona bien ya que solo almacena una cookie y una petición(las últimas) aunque la estructura de datos es correcta, incluso reconoce el sistema operativo del cliente (en la tabla hosts). Sería interesante solucionarlo instalando otra base de datos como MySQL que también tiene plugin para este script. A continuación se muestran unos pantallazos del sqlitebrowser al acabar esta prueba donde vemos este problema:


La tabla interesante es notes, donde guarda las cookies y las contraseñas, en este caso solo hay una(de Facebook), cuando tendría que haber conseguido otras dos más como vemos en el pantallazo de la víctima:




- Debido al problema anterior redirijo toda la salida a un archivo de texto para poder examinarlo con calma más adelante.

¿Qué pasa al arrancar Kametasploit?
Todas sus funcionalidades las encontramos en esta entrada de PenTestIT, pero en esta prueba(debido al software que se utiliza el cliente) podemos resumirlo en lo siguiente:






- Crea multitud de servidores e intenta explotar alguna vulnerabilidad en el cliente, si todo va bien(el software de la víctima no esta actualizado) conseguirá él solo una sesión de Meterpreter para poder jugar con ella :P. Pero en nuestro caso tenemos un Windows 7 actualizado así que no es el caso, el siguiente vídeo muestra un ejemplo de uso contra un XP vulnerable:








Al obtener una sesión podrían aplicarse distintas técnicas como por ejemplo activar el escritorio remoto de la víctima y crear un usuario administrador usando el script getgui.




- Se conecta a sitios comunes (Gmail, Facebook, Twitter...) para obtener cookies almacenadas en el navegador del cliente. Como dije antes almacené la salida encaptureKarma.txt, a falta de base de datos corto y pego las partes interesantes:
















Me falta comentar que en cuanto empezamos con esta parte del ataque en el navegador de la víctima deja de navegar y aparece lo que se ve en la imagen. Se podría modificar simplemente por una web en blanco para que fuese menos "cantoso" (ruta: /opt/metasploit3/msf3/data/exploits/capture/http/index.html).













Ahora me quedo con las ganas de probar al hermano de Karmetasploit: Jasager, que es, básicamente, el script KARMA en la Fonera. Dejo aquí este enlace donde explican como configurarlo por si alguno que tenga una se anima... ;)








Jesús Pérez