jueves, 30 de septiembre de 2010

No cON Name (NcN) 20 y 21 de Octubre

Transmitimos la nota de prensa emitida por la asociación No cON Name, en cuya conferencia ya anunciamos que participaremos como ponentes los próximos 20 y 21 de Octubre, y os recordamos pegar un buen vistazo a los cursos (18 y 29 de Octubre) y a las ponencias (20 y 21 de Octubre) que tendrán lugar durante esta conferencia:

La seguridad informática, protagonista en el congreso “No cON Name 2010”

El congreso pretende consolidarse como uno de los encuentros principales del Sur de Europa en el ámbito de la seguridad informática.

Los próximos días 20 y 21 de Octubre tendrá lugar en el CosmoCaixa Barcelona la séptima edición del “No cON Name”, el congreso de seguridad informática con más antigüedad en España. Este evento anual reune tanto a nuevas promesas del sector como a expertos con experiencia, así como a profesionales en el campo de la informática en general, redes telemáticas, programación o ingeniería de protección de software. El congreso tiene lugar en un momento en el que la seguridad de equipos informáticos se ha convertido en la principal preocupación para empresas y particulares.

El congreso se orienta al intercambio para la actualización del conocimiento con el objetivo de estimular una industria puntera en seguridad. Para ello busca la construcción de un foro libre y abierto donde converjan tanto los conocimientos técnicos como la libre opinión.

Esta edición del “No cON Name” analizará diversas áreas clave de la seguridad asociadas a infraestructuras críticas como los sistemas de control de SCADA, responsables de mantener seguras las plantas de producción energética, como centrales eléctricas, de gas, eólicas o hidráulicas.
También profundizará en los sistemas de telefonía móvil que permiten, entre otros usos, las transacciones seguras mediante mensajes sms o la seguridad en tarjetas inteligentes, que permiten, por ejemplo, la identificación personal en los pasaportes, DNI, tarjetas de crédito o el acceso a instalaciones restringidas de alta seguridad.

El “No cON Name” ha organizado en esta edición una serie de concursos novedosos que pretenden dinamizar y cohesionar el evento, como el que anima a formar equipos de varias disciplinas para dar una respuesta rápida y efectiva frente a posibles problemas de seguridad informática en entidades especialmente sensibles como bancos o administraciones públicas.

Cabe destacar la implicación institucional de la Generalitat de Catalunya en el “No cON Name”. Josuè Sallent, director del Centre de Seguretat de la Informació de Catalunya (CESICAT) asistirá a la jornada inaugural del congreso. Además, el Secretari General de Telecomunicacions i Societat de la Informació de la Generalitat, Jordi Bosch intervendrá como ponente para abordar la seguridad informática desde el punto de vista de las políticas llevadas a cabo por su departamento y participará en un coloquio posterior con los asistentes al congreso.

El congreso se realiza gracias al apoyo de sus patrocinadores: Internet Security Auditors, Pentest.es, Blueliv, ackstorm y Evolium, y la colaboración del Centre de Seguretat de la Informació de Catalunya(CESICAT), la Generalitat de Catalunya mediante el plan TIC.cat y SecurityByDefault.

miércoles, 29 de septiembre de 2010

CeWL: Custom Word List Generator

Hace algunas semanas tuve que hacer la auditoría WiFi de una empresa que tenía sus puntos de acceso con WPA-PSK, así que entre las pruebas que hicimos, nos encontramos con unos cuantos "handshake" de WPA (ya lo explicaremos en otra ocasión) sobre los que podríamos intentar un ataque de diccionario.

Sin embargo, los diccionarios "normales" no siempre funcionan, aunque el usuario haya cogido una palabra presente en diccionario, algunas de esas palabras pertenecen al "argot" propio del gremio, o a la cultura de la empresa. Esto es algo bastante común por parte de los usuarios a la hora de escoger claves.

Para ello, existen herramientas como CeWL, que realiza un crawling del sitio web que deseemos, y genera un diccionario a partir de las palabras encontradas en dicho sitio web, entre las cuales deberíamos encontrar estas palabras propias del "argot" de esta empresa.

Aunque podemos lanzarlo con los parámetros por defecto con buenos resultados, hay dos parámetros (entre otros) con los que podamos ajustar el funcionamiento de la herramienta. Veamos este ejemplo para crear un pequeño diccionario de la web de Movistar (publi corporativa):

# ./cewl.rb --depth 2 --min_word_length 5 --write wordlist.txt http://www.movistar.es

Mediante este comando, estamos realizando un crawling de la web de Movistar, con una profundidad 2, es decir, profundidad 1 serían todas las palabras de la web principal, profundidad 2 todas estas y todas las de las webs enlazadas desde esta, y así sucesivamente. De las palabras obtenidas, comprobamos si estas tienen una longitud mínima de 5, y sino las descartaremos. La longitud mínima es algo importante a considerar, ya que si ponemos un tamaño muy pequeño, preposiciones como "de", "a", "en" podrían ser reconocidas como palabras de nuestro wordlist, que se guardará en un dichero con nombre wordlist.txt.

Según el tamaño de la página, el crawling puede tardar más o menos, pero en páginas de tamaño considerable como la que hemos elegido para el ejemplo, puede tardar un buen rato.
Tras unos minutos, ya tenemos una primera lista, que como os podéis imaginar, ademas de las palabras que nos interesan, va a tener muchas palabras que realmente nos van a resultar de poca utilidad.

# wc -l wordlist.txt
3889 wordlist.txt

Sin embargo, aunque la mayoría de estas casi 4000 palabras no nos vayan a resultar de utilidad, sí que hay palabras que pueden darnos más de una alegría ¿Alguien sabe que es "Keteke"?

# more wordlist.txt | grep -i keteke
Keteke

Keteke es un proyecto de una red social que intentó sacar Telefónica hace algún tiempo, pero cuyo éxito ni se ha acercado al de otras redes sociales como FaceBook o Tuenti. Seguramente ninguno habíais oído hablar de él, igual que yo antes de empezar a trabajar en el grupo, y por supuesto es una palabra que probablemente no aparecerá en ningún diccionario del mundo, pero con una alta probabilidad, podría ser usada por el equipo técnico que participó en su desarrollo, y seguir siendo usada en alguna de las máquinas que albergaban este servicio pero que ahora se dedican a otros temas, etc.

Vale, tenemos un diccionario personalizado de 4000 palabras, de las cuales tengo un montón que son morralla, y algunas palabras que me pueden resultar muy útiles ¿Cómo hago para eliminar todo o gran parte de lo que no me va a resultar útil?

Observando las palabras de este diccionario en un vistazo diagonal (como se suele decir), vamos que hay muchas palabras numéricas que parecen no tener mucho significado, así como palabras "normales" que podrían estar presente en cualquier diccionario.
En primer lugar, vamos a quedarnos únicamente con las palabras que no contengan números, así que usaremos una expresión regular (ver nota al final para explicación):

# cat wordlist.txt | egrep "^[a-zA-Z]{5,12}$" > wordlist_movistar.txt

# wc -l wordlist_movistar.txt
3239 wordlist_movistar.txt

Bueno, hemos reducido un poco. Podríamos reducir un poco más haciendo "diff" con un diccionario y eliminando aquellas palabras comunes, pero aún así no conseguiríamos reducirlo mucho, así que vamos a dejarlo como está por el momento.

Claro... tenemos palabras como "Keteke", pero un usuario podría usar contraseñas como "keteke", "KETEKE", "Keteke06" o similares.
¿Cómo podemos obtener todas estas variaciones?

El próximo lunes destriparemos un par de herramientas para realizar estas "mutaciones" de palabras y enriquecer así nuestro diccionario para tener en cuenta todas estas combinaciones.

Nota: Explicación de la expresión regular (para los que no las dominen):
[a-zA-Z] = cualquier carácter mayúscula o minúscula
X{5,12} = que se produzca entre 5 y 12 veces
^X = que se encuentre al principio
X$ = que se encuentre al final
^[a-zA-Z]{5,12}$ = cualquier cadena de mayúsculas o minúsculas de longitud entre 5 y 12

martes, 21 de septiembre de 2010

Ponentes en No cON Name

La No cON Name (NcN) es una de las principales conferencias que tienen lugar en nuestro país, y probablemente la más antigua (2002), que tras un descanso de casi 4 años sin realizarse, vuelven el próximo 20 y 21 de Octubre en su edición 2010, pero esta vez se traslada de Mallorca a Barcelona.

Hace unos pocos días se publicó oficialmente la lista de ponentes y cursos de los que podremos disfrutar durante los días que duren las conferencias, entre los cuales se encontrará Pentester.Es, con una charla sobre "IP Fragmentation Overlapping", una técnica que ya comentamos en el blog como ayuda a la resolución de uno de los retos de las PreQuals de la DEFCON, pero esta vez aplicado a un entorno más real como es la evasión de IDS y contramedidas para evitarlo.

Además de la charla que daremos nosotros en la NcN, esta es la lista del resto de ponencias confirmadas en este momento:
Los interesados en asistir a las conferencias, podéis apuntaros por el módico precio de 20€ a través de éste enlace.

Allí nos vemos!

jueves, 16 de septiembre de 2010

iScanner, detección de código malicioso

iScanner para que los que no os suene, es una herramienta open source que permite detectar y eliminar código malicioso de forma local en contenido Web (perdonarme los puristas por esta definición tan simplista). Durante esta entrada vamos a ver qué nos ofrece iScanner, qué usos le podemos dar. La herramienta está desarrollada en Ruby y en base a un conjunto de "firmas" detecta el contenido malicioso y permite eliminarlo.

Como siempre una vez hechas las presentaciones formales, pasamos a ver como utilizarla. Lo primero es descargar la herramienta (versión 0.6) del sitio oficial:

$ cd /tmp
$ wget http://iscanner.isecur1ty.org/download/iscanner.tar.gz

Una vez descargada la aplicación la descomprimimos:

$ tar -xvzf iscanner.tar.gz

Dado que es una aplicación desarrollada en Ruby, recordar que deberemos tener los paquetes de ruby instalados. En esta entrada como hemos trabajado sobre Debian lo instalaremos mediante APT:

$ apt-get install ruby

Podéis encontrar esta info para otras plataformas la web oficial.

Ya disponemos de la aplicación lista para usar. Lo primero visualizamos qué es lo que contiene la aplicación:

-rw-rw-r-- 1 500 500 34521 mar 16 21:54 LICENSE
-rwxrwxr-x 1 500 500 3611 jun 5 13:05 installer
-rwxrwxr-x 1 500 500 20633 jun 6 11:08 iscanner
-rw-rw-r-- 1 500 500 2670 jun 6 11:12 signatures-0.1.7.db
-rw-rw-r-- 1 500 500 1585 jun 6 11:13 CHANGELOG
-rw-rw-r-- 1 500 500 6076 jun 6 11:15 README

  • installer es un script para realizar la instalación y desinstalación de la aplicación.
  • iscanner es un script que realiza las funciones de la aplicación
  • signatures-0.1.7.db es la base de datos de firmas, vamos es la madre del cordero.

Visto lo visto, tenemos un script y una base de datos de firmas. Ahora vamos a ver qué opciones nos presenta la aplicación:

-R, --remote [URL] Scan remote web page / website
-F, --file [FILE] Scan a specific file
-f, --folder [DIRECTORY] Scan a specific folder
-e, --extensions [ext:ext:ext] The extensions you want to scan
-d, --database [DATABASE] Select database file
-M, --malware [FILE] Specify malware to be removed
-o, --output [LOG-FILE] Output log file
-m, --email [EMAIL-ADDRESS] Send report to email address
-c, --clean [LOG-FILE] Clean infected files
-b, --backup Backup infected files
-r, --restore [BACKUP-FOLDER] Restore the infected files
-a, --auto-clean Enable auto clean mode
-D, --debug Enable debugging mode
-q, --quiet Enable quiet mode
-s, --send [MALICIOUS-FILE] Send malicious file for analyzes
-U, --update Update iScanner to latest version
-u, --update-db Update signatures database only
-v, --version Print version number
-h, --help Show this message

En vista de las opciones vemos que iScanner nos ofrece, escaneo de URL's remota, y ficheros locales, filtrando por extensiones y envío de informes por correo electrónico. En el trato de los ficheros infectados, permite realizar copias de seguridad, restaurar la copias, borrado de contenido malicioso y envío de los ficheros malicioso por correo electrónico. Además de esto nos ofrece la actualización de las firmas a través de la aplicación.

Observando la base de datos de firmas, vemos que se trata de expresiones regulares con la siguiente forma:

El fichero de firmas en la versión recién instalada vemos que contiene 18 firmas. Por tanto lo primero es actualizar la base de datos de firmas con:

$ ./isanner -u

En nuestro caso nos actualiza las firmas a las versión 0.1.8

Starting iScanner 0.6 on [localhost] at (Tue Sep 7 18:33:07 2010)
Copyright (C) 2010 iSecur1ty

[*] Connecting to the server, please wait...
[*] iScanner's database successfully updated to version [0.1.8].

[*] Check out: iCommander, A Command and Control Centre lets you manage
multiple servers from one place.

[-] Exiting iScanner...

Actualizada las base de datos de firmas, probamos a realiza un primer escaneo de la página web "www.pentester.es" a ver qué resultado obtenemos:

$ ./iscanner -R http://www.pentester.es

Starting iScanner 0.6 on [localhost] at (Tue Sep 7 18:38:04 2010)
Copyright (C) 2010 iSecur1ty

[*] Opening: http://www.pentester.es
[*] Scanning "www.pentester.es-18:38:11-07.Sep.html". (db:0.1.8 - 07/Jun/2010)

[!] Scanned file: www.pentester.es-18:38:11-07.Sep.html
Signature: [id:2.0] (<\/script>)
Description: Javascript 'unescape' function detected, possible obfuscated malicious code.


[*] Scan finished in (7) seconds, [1] infected files found.
Please check "infected-18:38:04-07.Sep.log" for details.

Vemos como ha salto una de las firmas porque ha detectado la función unescape y viendo el código "volcado" al fichero www.pentester.es-18:38:11-07.Sep.html se puede observar como no es malicioso, tratándose del código para google-analytics. Esta misma operación la podemos realizar sobre un fichero pasado por argumento como un directorio.

Después de haber realizado diferentes pruebas hemos llegado a las siguiente conclusiones preliminares:
  • La herramienta aún tiene un largo camino que recorrer en cuanto a firmas se refiere, siendo por el momento insuficiente, para la gran cantidad de variedad de malware en la web que nos podemos encontrar.
  • Si os ha pasado como a nosotros que esperábamos que fuera una herramienta para monitorización de malware un poco más completa, deciros que no ofrece crawling web para realizar un escaneo de manera remota, cosa que bajo nuestro punto de vista es necesario si queréis monitorizar un dominio. Este punto podría ser realizado de manera externa por aplicación que haga crawling y le pase los resultados a iscanner, quizá sea como han pensado dicha herramienta.
  • Para lo que parece estar más orientada por el momento la herramienta y por eso puede ofrecer la funcionalidad de borrado de malware, es para analizar nuestro propia aplicación de manera local en nuestro propio servidor Web.
  • Las firmas son bastante genéricas por lo que nos han generado falsos positivos sobre páginas web analizadas. Solo hemos comentado pentester.es, pero han habido otros casos de falsos positivos. Debemos ser muy cautos si ponemos la funcionalidad de eliminación del malware a trabajar.
De todos modos, este es el estado de iScanner en su versión 0.6, y nuestra humilde opinión . Esperemos estar pronto con nuevas versiones y funcionalidades nuevas, etc. ¿Alguien conoce alguna alternativa a iScanner? ¿Experiencias con iScanner?

martes, 14 de septiembre de 2010

CTF ex-RootedCON 2010

Seguramente muchos de vosotros conoceréis las conferencias RootedCON, cuya primera edición tuvo lugar el año pasado en Madrid, con gran éxito, por cierto. Pues bien, de entre las actividades, conferencias, cursos, etc de los que pudieron disfrutar los visitantes de la RootedCON, se diseñó un CTF (Capture de Flag), es decir, una serie de retos de seguridad que cualquier asistente de las conferencias podía intentar resolver, ganando puntos por cada una de las pruebas. Como suele pasar en los CTF, hubo pruebas que se resolvieron y otras que no.

Ahora RoMaNSoFt, una de las personas que diseñó estas pruebas, ha recogido todas aquellas que no se resolvieron y ha añadido algunas nuevas, para crear un nuevo CTF, diferente e independiente de la RootedCON.

La información para apuntarse la podéis encontrar aquí.
El reto comienza este viernes, 17 de Septiembre, a las 20:00 CEST (hora española).

Como premio, el ganador del CTF obtendrá un iPod Touch 4G, por cortesía de Hispasec Sistemas.

Mucha suerte a todos los participantes, y sobretodo... pasadlo bien :)

jueves, 9 de septiembre de 2010

Conferencias SOURCE: Apuntate ya!



Martes 21 y Miércoles 22 de Septiembre (dentro de un par de semanas) tiene de nuevo lugar en Barcelona las conferencias SOURCE Conference, que tras un paso por Boston y Seattle durante el último año, vuelven a llegar a nuestro país.

Las charlas estarán divididas en su mayoría en dos auditorios, el primero más centrado en tecnología, y el segundo más orientado a negocio, aunque tengo que decir que, como viene siendo habitual en estas conferencias, incluso las conferencias orientadas a negocio tienen una componente técnica muy fuerte. Podemos ver la planificación de ponencias en la web de las conferencias.

En Pentester.Es tuvimos la suerte de poder asistir el año pasado a la primera edición de las conferencias que se realizaban en nuestro país, y tengo que decir que quedamos muy satisfechos de las charlas y de los ponentes, y nos hemos convertido en unos fijos de estas conferencias.

Podeis apuntaros a través de la web de registro. El coste es de 600€ para el público en general (hay ofertas por pronto pago, pero ya estamos fuera de fechas), pero debido a una oferta especial ofrecida por la organización del evento a los lectores de este blog, cualquiera que al registrarse utilice el código "SOURCECM" obtendrá un 25% de descuento. Por otra parte, los estudiantes que se acrediten como tal podrán registrarse por tan solo 75€, una gran oportunidad!!.

Nos vemos allí!