Tras haber hablado de los CERTs de España, vamos a ver un caso de un phishing contra el Banco de España, distribuido por numeroso spam recientemente.
Se trata de un troyano Zeus o Zbot, este troyano tiene un comportamiento bastante avanzado.
Zeus se trata de un troyano que se vende en kit, es decir, que cualquiera que pague por él (en el mercado negro) puede crear su propia infraestructura de ordenadores zombis.
Este troyano del que existen varias versiones, implementa técnicas como: rootkit, cifrado de contenido,explotación de vulnerabilidades de todo tipo, detección de sandboxes ...
Este troyano en particular se distribuye usando su propia red de equipos zombis para alojarse. Para poder hacer esto hace uso de una técnica conocida como "fastflux".
Para realizar esta técnica tendrémos que tener un dominio y un servidor DNS que nos permita asociar muchas ips a este dominio.
Este servidor DNS, tiene un comportamiento peculiar, cada vez que recibe una petición de resolución devuelve como respuesta un ip elegida de forma aleatoria.
De este modo se puede hacer que un equipo troyanizado forme parte de una red de servidores, con la utilidad de servir malware, actualizaciones, y cualquier otra cosa a el resto de equipos infectados, creando una red muy entramada de miles de equipos.
Ahora la pregunta que todos os haréis, ¿como acabo con este tipo de redes?. Como supondréis eliminar este tipo de redes es arduo difícil.
Para empezar abría que atajar el problema desde la fuente inicial, es decir, el dominio, en este caso ruso, que es usado para distribuir el malware. De este modo evitamos que las personas accedan al malware.
Bajo mi punto de vista debería de investigarse las posibles conexiones que puede haber con los servidores DNS (gracias a los cuales se puede hacer fastflux), en este caso "ns1.growth-property.net" y "ns1.pointstory.net".
Si analizamos el malware, podemos ver que realiza conexiones a otro dominio, este dominio tendría que ser neutralizado de igual modo para poder desactivar el troyano.
Sería muy recomendable seguir analizado el malware durante un tiempo por si descargase alguna actualización que variara su comportamiento.
Este caso es publicado por Hispasec en la "una al día", el día 15, a día de hoy este sitio sigue estando accesible. Vermos cuanto tardan en liminarlo o si no se elimina.
Más información:
http://www.hispasec.com/unaaldia/4252
http://blog.s21sec.com/2009/09/detectando-un-zeus.html
22 de junio de 2010
16 de junio de 2010
CSIRTs y CERTs de España
Para quienes no sepáis a que me refiero con CERT o CSIRT, son las siglas de "Computer Emergency Response Team" y "Computer Security Incident Response Team" respectivamente; es decir, son los encargados de gestionar los incidentes de seguridad relacionados con sistemas de computación, equipos y redes informáticas.
Existe un organismo que intenta agrupar a los principales CERTs y CSIRTs regionales, tanto públicos como privados. El FIRST (Forum of Incidence and Response Security Teams) tiene como principal misión la colaboración entre los distintos CERTs y CSIRTs públicos y privados.
En España tenemos 5 CERTs/CSIRTs miembros del FIRST:
Pero no son los únicos CERTs o CSIRTs existentes en España. Algunas comunidades autónimas y/o regiones tienen sus propios equipos, aunque no pertenecen al FIRST como csirt.ecija.com o sirtcv.es entre otros.
Existe un organismo que intenta agrupar a los principales CERTs y CSIRTs regionales, tanto públicos como privados. El FIRST (Forum of Incidence and Response Security Teams) tiene como principal misión la colaboración entre los distintos CERTs y CSIRTs públicos y privados.
En España tenemos 5 CERTs/CSIRTs miembros del FIRST:
- Iris CERT: http://www.rediris.es/cert/ Encargado de la detección de problemas que afecten a la seguridad de las redes de centros de RedIRIS.
- e-LC CSIRT: Empresa privada dedicada a incidentes relacionados con cajas de ahorros.
- CCN CERT: https://www.ccn-cert.cni.es El "Centro Criptológico Nacional" se encarga de la cooperación y ayuda a todas las administraciones públicas.
- Inteco CERT: http://cert.inteco.es Encargada en materia de seguridad para PYME y ciudadanos.
- esCERT UPC: http://escert.upc.edu/ Está encargada de ayudar y asesorar en temas de seguridad informática y gestión de incidentes en redes telemáticas.
Pero no son los únicos CERTs o CSIRTs existentes en España. Algunas comunidades autónimas y/o regiones tienen sus propios equipos, aunque no pertenecen al FIRST como csirt.ecija.com o sirtcv.es entre otros.
15 de junio de 2010
Listando contactos en Android con "Android.Contact"
Como prometí en el primer post sobre Android hoy voy a esplicar un poco de código de Android.
En este ejemplo podremos ver como se obtiene datos de contactos con una API menor de 5, es decir para los moviles con Android 1.x y actualmente se encuentra deprecated (obsoleta), en general esto quere decir que en un futuro será eliminada. Pero no obtante este no es el caso, ya que esta API continuará activa, pero sólo devolverá datos de la primera cuenta de Google creada.
Para el API 5 se creó la clase "ContactsContract", más reciente, que permite acceder a múltiples cuentas y agregar contactos que tengan un apoyo similar.
Para este ejemplo vamos a usar un "Cursor" para acceder a los datos, la clase "Contacts.Phones" para obtener las constantes para acceder a los datos de la agenda. Por supuesto, para poder leer esto es necesario tener permiso para leer la agenda. (Puedes descargar el codigo desde http://pastebin.com/AMGkjhzz)
Más Información:
http://developer.android.com/guide/appendix/api-levels.html
En este ejemplo podremos ver como se obtiene datos de contactos con una API menor de 5, es decir para los moviles con Android 1.x y actualmente se encuentra deprecated (obsoleta), en general esto quere decir que en un futuro será eliminada. Pero no obtante este no es el caso, ya que esta API continuará activa, pero sólo devolverá datos de la primera cuenta de Google creada.
Para el API 5 se creó la clase "ContactsContract", más reciente, que permite acceder a múltiples cuentas y agregar contactos que tengan un apoyo similar.
Para este ejemplo vamos a usar un "Cursor" para acceder a los datos, la clase "Contacts.Phones" para obtener las constantes para acceder a los datos de la agenda. Por supuesto, para poder leer esto es necesario tener permiso para leer la agenda. (Puedes descargar el codigo desde http://pastebin.com/AMGkjhzz)
@SuppressWarnings("finally")
public static boolean isContact(String num, ContentResolver contentResolver) {
/**
* Dado un numero de telefono num, retorna si está o no en la agenda
* Para poder acceder a estos datos es necesario tener permiso de leectura de contactos.
* ("android.permission.READ_CONTACTS" en AndroidManifest.xml)
* @param num Numero de telefono
* @param context Contexto con permisos de leectura de Contactos
*/
boolean ret = false;
try{
Cursor cur = contentResolver.query(Contacts.Phones.CONTENT_URI, null, null, null, null);
int index = cur.getColumnIndex(Contacts.Phones.NUMBER);
while (!ret && cur.moveToNext())
if (num.equals(cur.getString(index)))
ret = true;
cur.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
return ret;
}
}
Más Información:
http://developer.android.com/guide/appendix/api-levels.html
ContentResolver
6 de junio de 2010
Verano de rol
Aunque parezca mentira cuando empezé este blog tenía ganas de escribir cosas de rol, y no solo de informática y seguridad.
Tras varios meses de vida por fin hoy vamos a escribir este primer post sobre los próximos eventos roleros en Andalucía.
Las primeras jornadas a las que tengo intención de ir son las Ex-mundis.
Estas jornadas se celebran en Almería, concretamente en "Purchena" del 30 de Julio al 1 de agosto.
Además este año cumplen 10 años organizando estos encuentros, todo un logro.
El año pasado desafortunadamente coincidieron con las ERA (Encuentros Roleros Andaluces) y no puede ir.
Y la semana siguiente a las Ex-mundis tenemos en Granada las JLA (Jornadas Lúgicas Andaluzas).
Las JLA son organizadas por la misma organización que otros años hiciera las ERA (antes mencionadas) este año las ERA han mutado en JLA.
Este año las JLA se celebrarán en "Maracena" en lugar de Granada capital como ocurria con las ERA. Pero lo más destacables es que este año el alojamiento es gratuito.
Estas jornada como ocurrian con las ERA se celebran durante 4 intensos días, del 5 al 8 de Agosto.
Bueno espero que este sea el primero de muchos post sobre rol.
Más información:
Exmundis:
Web: http://www.exmundis.org/
Usuario Tuenti: http://www.tuenti.com/#m=Profile&func=index&user_id=68788926
JLA:
Web: http://jornadasludicasandaluzas.isgreat.org/
Página Tuenti: http://www.tuenti.com/#m=Page&func=index&page_key=1_148_61008280
Tras varios meses de vida por fin hoy vamos a escribir este primer post sobre los próximos eventos roleros en Andalucía.
Las primeras jornadas a las que tengo intención de ir son las Ex-mundis.
Estas jornadas se celebran en Almería, concretamente en "Purchena" del 30 de Julio al 1 de agosto.
Además este año cumplen 10 años organizando estos encuentros, todo un logro.
El año pasado desafortunadamente coincidieron con las ERA (Encuentros Roleros Andaluces) y no puede ir.
Y la semana siguiente a las Ex-mundis tenemos en Granada las JLA (Jornadas Lúgicas Andaluzas).
Las JLA son organizadas por la misma organización que otros años hiciera las ERA (antes mencionadas) este año las ERA han mutado en JLA.
Este año las JLA se celebrarán en "Maracena" en lugar de Granada capital como ocurria con las ERA. Pero lo más destacables es que este año el alojamiento es gratuito.
Estas jornada como ocurrian con las ERA se celebran durante 4 intensos días, del 5 al 8 de Agosto.
Bueno espero que este sea el primero de muchos post sobre rol.
Más información:
Exmundis:
Web: http://www.exmundis.org/
Usuario Tuenti: http://www.tuenti.com/#m=Profile&func=index&user_id=68788926
JLA:
Web: http://jornadasludicasandaluzas.isgreat.org/
Página Tuenti: http://www.tuenti.com/#m=Page&func=index&page_key=1_148_61008280
23 de mayo de 2010
Reto 12 de ESET-LA
ESET Latino América realiza habitualmente diversos retos para hacer pensar a sus lectores.
El reto 12 de ESET trata de hacer que dos robots colisionen en una linea infinita. Os invito a ver la descripción original en el sitio de ESET Latino América en http://blogs.eset-la.com/laboratorio/2010/05/22/desafio-12-eset/
El principal problema que tenemos es que la linea al ser infinita evita que si ambos robots van en la misma dirección puedan colisionar, por tanto lo primero que tenemos que hacer es pensar como podemos hacer para acotar la linea.
Como desconocemos si el otro robot está a izquierda o a derecha, tendremos que ir mirando a uno y otro lado para ver si encontramos la marca (de aceite) del robot que buscamos y así poder acotar el recorrido.
Para esto tenemos que hacer una busqueda primero hacia un lado y luego hacia otro, asta encontar las marcas. Y luego ir siempre por este camino.
Para esto vamos ha hacer "bibar" sobre la marca de aceite a los robots e iremos incrementando su recorrido.
IZQ - Mover a izquierda
DER - Mover a derecha
¿ACEITE? - Evitar la siguiente instrucción si existe aceite en donde estoy
GOTO - Ir a etiqueta
Code Pseudolenguaje:
El reto 12 de ESET trata de hacer que dos robots colisionen en una linea infinita. Os invito a ver la descripción original en el sitio de ESET Latino América en http://blogs.eset-la.com/laboratorio/2010/05/22/desafio-12-eset/
El principal problema que tenemos es que la linea al ser infinita evita que si ambos robots van en la misma dirección puedan colisionar, por tanto lo primero que tenemos que hacer es pensar como podemos hacer para acotar la linea.
Como desconocemos si el otro robot está a izquierda o a derecha, tendremos que ir mirando a uno y otro lado para ver si encontramos la marca (de aceite) del robot que buscamos y así poder acotar el recorrido.
Para esto tenemos que hacer una busqueda primero hacia un lado y luego hacia otro, asta encontar las marcas. Y luego ir siempre por este camino.
Para esto vamos ha hacer "bibar" sobre la marca de aceite a los robots e iremos incrementando su recorrido.
IZQ - Mover a izquierda
DER - Mover a derecha
¿ACEITE? - Evitar la siguiente instrucción si existe aceite en donde estoy
GOTO - Ir a etiqueta
Code Pseudolenguaje:
F_CONT = 0
F_MOV = FALSE
CONT = 1
MODO = FALSE
IR:
SI F_CONT > 0:
CONT = F_CONT;
MODO = F_MOV;
PARA CONT:
SI MODO:
IZQ;
SINO:
DER;
FINPARA
¿ACEITE?
GOTO VUELVE;
GOTO FOUND;
FOUND:
F_CONT = CONT;
F_MOV = MODO;
VUELVE:
MODO = !MODO;
PARA CONT:
SI MODO:
IZQ;
SINO:
DER;
FINPARA
CONT = CONT + 1;
GOTO IR;
19 de mayo de 2010
Native Client SDK
Native Client SDK es un nuevo proyecto de Google para tratar de hacer más pontete la web.
La idea de Google es poder ejecutar código nativo desde la web. De este modo se pude aunmentar el portencial de las aplicaciones web dado que JavaScript no tiene la potencia que puden tener otros lenguajes.
Con esta iniciativa se dá más poder a los desarroyadores para poder acceder a más partes de la maquina de quien accede a ellas.
Bajo mi punto de vista este desarroyo puede tener implicaciones graves de seguridad; dado que los nuevos Virus, Troyanos y demás malware podría aprovechar esta tecnología para hacerse más potentes, dado que ya no tendrán que explotar vulnerabilidades de los navegadores, sino que podrán ejecutarse directamente.
Os dejo el video del proyecto:
Más Info:
http://code.google.com/p/nativeclient-sdk/
La idea de Google es poder ejecutar código nativo desde la web. De este modo se pude aunmentar el portencial de las aplicaciones web dado que JavaScript no tiene la potencia que puden tener otros lenguajes.
Con esta iniciativa se dá más poder a los desarroyadores para poder acceder a más partes de la maquina de quien accede a ellas.
Bajo mi punto de vista este desarroyo puede tener implicaciones graves de seguridad; dado que los nuevos Virus, Troyanos y demás malware podría aprovechar esta tecnología para hacerse más potentes, dado que ya no tendrán que explotar vulnerabilidades de los navegadores, sino que podrán ejecutarse directamente.
Os dejo el video del proyecto:
Más Info:
http://code.google.com/p/nativeclient-sdk/
16 de mayo de 2010
Reto 2 de "forensicscontest.com"
En el segundo reto forense, vamos a buscar indicios que ayude a la policía a encontrar a un fugitivo (Ann).
Ann ha comunicado a su amante donde se va ha esconder. Para poder descubirlo tendremos que buscar la información que ha sido enviada por correo de Ann a su amante.
Las preguntas que tenemos que responder son:
1. ¿Cuál es la dirección de correo electrónico de Ann?
2. ¿Cuál es la contraseña de correo electrónico de Ann?
3. ¿Cuál es la dirección de correo electrónico del amante secreto de Ann?
4. ¿Qué dos elementos pide Ann a su amante secreto?
5. ¿Cuál es el nombre del archivo adjunto enviado Ann a su amante secreto?
6. ¿Cuál es la suma md5 del archivo adjunto enviado Ann a su amante secreto?
7. ¿En qué ciudad y país es su punto de encuentro?
8. ¿Cuál es la suma md5 de la imagen incrustada en el documento?
Dado que nuestra misión es interceptar un correo vamos a filtrar el trafico SMTP (Filtro [smpt]).
A continución vamos ver la primeta traza (Filtro [tcp.stream eq 2]).
En ella podemos ver que existe una conexión a un servicio de correo de "aol.com"
De esta trama destacaré:
En este punto se puede ver como se autentica contra el servidor. El contenido se encuentra cifrado en Base64
Pero este primer mensaje no nos dá ninguna pista de su ubicación, por tanto vamos a por la siguiente trama interesante.
Podemos saver cuando se ha enviado otro correo por el saludo al servidor (Filtro [tcp.stream eq 3]).
En este mensaje, dirigido a "mistersecretx@aol.com" podemos ver que se hace referencia a un pasaporte y que se ha adjuntado un documento "secretrendezvous.docx"
Si abrimos el fichero docx podemos ver un mapa del sitio donde se piensan fugar.
Teniendo todos estos datos vamos a empezar a contestar las preguntas.
1. sneakyg33k@aol.com
2. 558r00lz
3. mistersecretx@aol.com
4. ... Bring your fake passport and a bathing suit. ...
5. secretrendezvous.docx
6. 9e423e11db88f01bbff81172839e1923
7. "Playa del Carmen, Mexico"
Para responder a la pregunta octaba podemos cambiar la extensión del fichero docx a zip y en la carpeta "word/media" la imagen que nos interesa.
8. aadeace50997b1ba24b09ac2ef1940b7
Fuente original (Ingles):
http://forensicscontest.com/2009/10/10/puzzle-2-ann-skips-bail
Ann ha comunicado a su amante donde se va ha esconder. Para poder descubirlo tendremos que buscar la información que ha sido enviada por correo de Ann a su amante.
Las preguntas que tenemos que responder son:
1. ¿Cuál es la dirección de correo electrónico de Ann?
2. ¿Cuál es la contraseña de correo electrónico de Ann?
3. ¿Cuál es la dirección de correo electrónico del amante secreto de Ann?
4. ¿Qué dos elementos pide Ann a su amante secreto?
5. ¿Cuál es el nombre del archivo adjunto enviado Ann a su amante secreto?
6. ¿Cuál es la suma md5 del archivo adjunto enviado Ann a su amante secreto?
7. ¿En qué ciudad y país es su punto de encuentro?
8. ¿Cuál es la suma md5 de la imagen incrustada en el documento?
Dado que nuestra misión es interceptar un correo vamos a filtrar el trafico SMTP (Filtro [smpt]).
A continución vamos ver la primeta traza (Filtro [tcp.stream eq 2]).
En ella podemos ver que existe una conexión a un servicio de correo de "aol.com"
De esta trama destacaré:
EHLO annlaptop
...
AUTH LOGIN
334 VXNlcm5hbWU6
c25lYWt5ZzMza0Bhb2wuY29t
334 UGFzc3dvcmQ6
NTU4cjAwbHo=
235 AUTHENTICATION SUCCESSFUL
MAIL FROM: <sec558@gmail.com>
...
En este punto se puede ver como se autentica contra el servidor. El contenido se encuentra cifrado en Base64
EHLO annlaptop
...
AUTH LOGIN
334 Username:
sneakyg33k@aol.com
334 Password:
558r00lz
235 AUTHENTICATION SUCCESSFUL
MAIL FROM: <sec558@gmail.com>
Pero este primer mensaje no nos dá ninguna pista de su ubicación, por tanto vamos a por la siguiente trama interesante.
Podemos saver cuando se ha enviado otro correo por el saludo al servidor (Filtro [tcp.stream eq 3]).
En este mensaje, dirigido a "mistersecretx@aol.com" podemos ver que se hace referencia a un pasaporte y que se ha adjuntado un documento "secretrendezvous.docx"
Si abrimos el fichero docx podemos ver un mapa del sitio donde se piensan fugar.
Teniendo todos estos datos vamos a empezar a contestar las preguntas.
1. sneakyg33k@aol.com
2. 558r00lz
3. mistersecretx@aol.com
4. ... Bring your fake passport and a bathing suit. ...
5. secretrendezvous.docx
6. 9e423e11db88f01bbff81172839e1923
7. "Playa del Carmen, Mexico"
Para responder a la pregunta octaba podemos cambiar la extensión del fichero docx a zip y en la carpeta "word/media" la imagen que nos interesa.
8. aadeace50997b1ba24b09ac2ef1940b7
Fuente original (Ingles):
http://forensicscontest.com/2009/10/10/puzzle-2-ann-skips-bail
Suscribirse a:
Entradas (Atom)