28 febrero 2013

Curso de perito telemático forense de la UDIMA




Disclaimer: Estimado lector, si has llegado a este artículo buscando ayuda con relación a algún análisis forense, formación relativa al tema o a una asociación existente, yo, Lorenzo Martínez, a título personal, te quiero hacer saber que ya no me encuentro en la ANTPJI. Por ello, si piensas que puede darte ciertas garantías que yo pertenezca a la misma, te ruego que leas el post relacionado con ANCITE, Asociación Nacional de Ciberseguridad y Pericia Tecnológica.

------------------------------------------------------------------------------------------------------------------------------



Después de la calurosa acogida que han tenido las pasadas ediciones de cursos de análisis forense organizados por la Asociación Nacional de Tasadores y Peritos Judiciales Informáticos (ANTPJI), es para mí motivo de orgullo y satisfacción, presentar la convocatoria a un nuevo evento.

En este caso, el curso se ofrece en colaboración del COITT (Colegio Oficial de Ingenieros Técnicos de Telecomunicación) y la UDIMA (Universidad a Distancia de Madrid), paradójicamente en formato presencial, que emitirá a sus asistentes un título universitario de 2 créditos ECTS. 

La dinámica del curso, al igual que ha ocurrido en Madrid y Valencia en 2012, de los que luego salen interesantes crónicas, se llevará a cabo mediante charlas especializadas de unos 50 minutos de duración. 

En esta ocasión, me han dado la oportunidad de haber participado muy activamente en la selección de los ponentes y charlas. Por lo que he podido comprobar, estoy completamente convencido que los asistentes saldrán muy satisfechos.

Aunque el curso está muy orientado a análisis forense en dispositivos móviles, no será de lo único que se hablará. Está pensado para personas que tengan interés en dedicarse a hacer peritajes forenses, de manera que habrá capítulos en los que se explicará cómo realizar un informe pericial, términos legales necesarios, intercalados con un montón de charlas técnicas. 

Será para mí un honor compartir el cartel de ponentes con amigos como Juan Garrido, Pedro Sánchez, Marc "Seifreed" Rivero, Luis Delgado, Juan Antonio Calles, Igor LukicAngelucho,... que estoy seguro que harán de este curso un evento que no podréis perderos.

Toda la información relevante al evento lo podéis consultar en el PDF del Curso de Perito Telemático de la ANTPJI.

Así que ya sabéis, a los que me preguntáis por un evento específico de análisis forense que merezca la pena, tenéis la oportunidad el 15 y 16 de Marzo en Madrid.

Nos vemos allí!

Leer más...

27 febrero 2013

Últimas plazas para RootedLabs 2013

Falta muy poco para que comience la semana Rooted, en la que ya sabéis que Lunes, Martes y Miércoles tienen lugar las acciones formativas RootedLabs, previas al congreso


Ya se han anunciado las ubicaciones diferentes dónde se llevarán a cabo los cursos, repartiéndose entre las instalaciones de Informática64 como en la Academia Alfonso XII.


Hace días, se tuvo que duplicar el Rootedlab de Iniciación al Ethical Hacking con Backtrack impartido por nuestro compañero Alejandro Ramos debido a su alta aceptación, y que las plazas se agotaron en pocos días. Esta nueva sesión va camino de lo mismo, teniendo hasta hoy sólo 2 plazas disponibles.


Los cursos que hay ahora mismo son:
Tienes más información detallada sobre los plazas disponibles de cada uno de ellos en la sección RootedLabs dentro de la página de RootedCON. 

Ya sabes, si quieres estar un día entero recibiendo una master-class de los mejores y de temas como reversing, hacking web, pentesting, forense en móviles y mucho más, aprovecha y reserva tu plaza cuanto antes, ¡queda muy poco para que se cierre el registro!


Leer más...

26 febrero 2013

A la hora de implementar un sistema antifraude para transacciones por Internet, lo que se suele hacer es analizar los parámetros de dicha transacción y validar que no haya nada raro.

Por ejemplo, una IP TOR, sin tener porque ser per se un riesgo de fraude, si que debería subir el nivel de alerta.

Otro de los puntos a tener en cuenta es analizar la fisonomía de la tarjeta de crédito empleada en la transacción. Y para eso, es necesario obtener tantos datos como sea posible de ella.

Muy útil resulta conocer el emisor de esa VISA y el país de origen. Conseguir esa información no es excesivamente fácil ya que es un tema un tanto oscuro. En este post me gustaría recopilar un listado de organizaciones / empresas / recursos para obtener dicha información:

Primero las opciones de pago (lamentablemente las más completas):

BinDB ofrece una base de datos con más de 290.000 registros a un precio de 2500$ al año, en la base de datos se puede obtener país y entidad emisora. Ofrecen una interface gratuita para 'lookups' manuales


BinBASE ofrece su base de datos desde 499$ y afirman tener unos 234.000 registros, disponen de interface online para consultas manuales



Fraudassets dispone de más de 352.000 registros y el precio de su bd es de 1200$, igualmente ofrece una interface online para consultas manuales.

Exactbins dice tener 160.000 registros y el precio de la base de datos es de 450$, se pueden hacer consultas manuales desde su interface online

Bindataset se moja totalmente y dice tener exactamente 352942 registros en su base de datos, su precio 475$, se pueden hacer consultas desde aquí


Y ahora las opciones gratuitas (y realmente pobres):

Wikipedia mantiene un listado de emisores de tarjetas de crédito bastante poco completo, solo basta con hacer un search por 'Banesto' para ver que le falta mucho contenido, además el contenido te lo tienes que parsear tu mismo y crearte la bd, nada difícil con un poco de Perl/Python kun fu !

Finalmente, Alberto Rodríguez me hizo llegar este enlace donde alguien ha colgado un listado independiente, igualmente se queda muy corto y requiere parseado, al final uno se puede hacer una bd low-cost con ambos registros si se entretiene parseando.

Si alguien conoce mas bases de datos -especialmente libres- ¡¡ que las ponga en comentarios !!
Leer más...

25 febrero 2013

Obteniendo cuentas de Whatsapp y Line como churros

Hace unos dias Yago me comentaba que le interesaba el tema de la telefonía VoIP. Le compartí algunas cosas sobre el tema que le gustaron y a raíz de esa conversación sale este post.

Un poco de historia: el "phreaking"
Realmente el "phreaking" (término que viene de "phone freak", monstruo de la telefonía) tuvo su momento glorioso en el pasado, y quien sea mas bien "30 añero" recordará haber leído en los ezines de los años 90 aquellas historias del mítico Joe Engressia, que podía marcar números de teléfono sin tocar el teclado, silbando; o de John Draper, conocido como "Capitán Crunch" porque utilizaba la misma técnica que Engressia, pero ayudado por un silbato sacado de una caja de cereales. 

Hubo mucho más: se desarrollaron dispositivos muy variados, llamados todos ellos "boxes", y a los cuales se les asignaba un color en función de lo que hacian, hasta el punto en que fué posible manipular de mil y una formas las lineas telefónicas de la por aquel entonces hegemónica AT&T. 

Por ejemplo la bluebox, (la primera box que se conoció, basada en el silbato usado por Draper), permitía marcar los tonos internos de señalización de llamadas, de otro modo inaccesibles para los usuarios de un teclado telefónico normal. La black box impedía que se detectase el hecho de que se había descolgado el teléfono, burlando así los sistemas de facturación de la compañía, y la Yellow Box realizaba lo que hoy conoceríamos como un DoS contra otra línea telefónica, dejándola inoperativa.

Los tiempos de la telefonía analógica y sus "glitches" ya han pasado, pero con el nacimiento de la tecnología VoIP, que empieza a desdibujar la línea entre internet y telefonía, puede decirse que la cultura phreaker sigue hoy dia teniendo mucho que decir. De hecho ahora las posibilidades son mucho mas abstractas, pero mayores.

La autenticación, control y validación de usuarios con teléfonos es poco efectiva
Hoy dia muchos servicios validan sus cuentas y la identidad de sus usuarios a través de sms a sus móviles o de llamadas a fijos. De este modo buscan evitar la suplantación de identidad, el fraude o el abuso en general.

Voy a explicar cómo se puede utilizar la telefonía VoIP en combinación con otros servicios online para ultrapasar esos métodos, creando cuentas anónimas que podemos usar como "decoy" sin tener que poner nuestro teléfono real, y sin perder la posibilidad de recibir llamadas o sms a estos números, para así poderlos usar como "verificadores" de nuestra identidad (¡ja!)

Por si alguien no lo ha notado, esto reabre la posibilidad (que algunos creen perdida) de crear cuentas como churros en servicios como Whatsapp y Line. Pero si se abre la mente, las posibilidades son algo más amplias. 


Antes de pasar a la receta, debemos conocer los ingredientes.

Cuenta SIP
SIP es la tecnología de VoIP más utilizada en todo el mundo, y es el estandar de facto con el cual son compatibles la mayoría de softwares y dispositivos. Una cuenta sip es el conjunto de credenciales que tiene un usuario dentro de la red. Con ellas, puede utilizar cualquier software de conexión VoIP (o routers y teléfonos físicos compatibles VoIP) para conectarse a la red y "registrar" su número. Por registrar se entiende al hecho de iniciar sesión en la cuenta VoIP y decir "aquí estoy yo, y quiero recibir las llamadas entrantes de esta cuenta".
Es interesante notar que varios clientes y dispositivos pueden usar la misma cuenta VoIP a la vez para realizar llamadas simultáneamente, pero solo uno puede "registrar" la linea para recibir las llamadas de otras personas. El comportamiento es similar al mapeo de puertos de un router.
Si el proveedor de la cuenta VoIP no tiene constancia de ningun cliente sip "registrado" en la cuenta en ese momento, puede enviar al llamante a un buzón de voz, simplemente informarle y colgar, o darle tonos falsos de llamada hasta que se aburra, con el fin enmascarar esta situación. 

Cliente SIP
Se entiende por cliente sip cualquier dispositivo físico o sofware capaz de gestionar una cuenta sip: iniciar sesion, hacer y recibir llamadas, etc. El protocolo sip contempla todo lo que se espera de una llamada telefónica tradicional. De hecho, si usamos un teléfono android como cliente sip para recibir y enviar nuestras llamadas, la diferencia entre las llamadas tradicionales y las llamadas VoIP es totalmente imperceptible y, manejado de forma transparente por el terminal y el sistema operativo, podremos poner la llamada en espera, enviar tonos, colgar, hacer conferencias, y todo lo que siempre hemos hecho en telefonía tradicional.


Número DID
Algunos proveedores SIP ofrecen como servicio adicional números DID (Direct Inward Dialing, llamada entrante directa). En terminología VoIP, esto quiere decir que el número no es para usarlo dentro de la red VoIP, sino que en realidad es una pasarela, una número físico real capaz de recibir llamadas de la red telefónica conmutada (la red de telefonia de toda la vida), ya que está físicamente conectado a ella. El proveedor de una linea DID se compromete a desviar las llamadas entrantes desde ese número hacia una cuenta SIP, uniendo el mundo digital y el mundo físico de una forma totalmete automática, sin que el llamante pueda advertirlo.

Google Voice
Aunque no es estrictamente una cuenta del estándar abierto SIP, google tiene su propio servicio de VoIP y es muy interesante. Te ofrece la posibilidad de tener un número DID gratis que realiza incluso más funciones que un teléfono físico real. Es una mezcla interesante entre un teléfono, y un pequeño PBX (coloquialmente llamados "centralitas" en España). No solo se puede desviar la llamada al cliente por software que ofrece la compañia y que se integra en gmail, sino que puedes desviarlo a otros números físicos de la red telefónica conmutada. Incluso puede desviar la llamada a varios teléfonos a la vez, y el primero que descuelga, se la queda.
Si nadie contesta, puede tomar un mensaje de voz que te hace llegar por correo electrónico junto a un reproductor de audio incrustado, o mediante un aviso al movil si tienes la aplicación google voice instalada.
A pesar de que el número es de una linea terrestre, si te envian uns sms al número DID google es capaz de recepcionarlo correctamente y presentarlo en la bandeja de entrada de google voice (esto es muy interesante... ¿lo veis venir?)
Pero... las funciones de google voice realicionadas con DID sólo funcionan en estados unidos y para la gente y las redes de allí. No porque Google no quiera, sino porque depende de redes de telefonía con las que debe realizar acuerdos que de momento no ha formalizado. Debido a estas limitaciones infraestructurales, google voice no puede desviar las llamadas a otros números que estén fuera de la red estadounidense, motivo por el cual te exigen que certifiques que eres el titular de un número de teléfono de alli. De hecho, google voice esconde todas estas opciones cuando detecta que conectas desde fuera de Estados Unidos, para evitar ofrecerte servicios que luego no puede darte realmente.

Callcentrinc
Callcentric es un popular proveedor SIP de USA, que se caracteriza porque además de ofrecerte tu "free sip account" como hacen muchos otros, ofrecen un "free phone number", que no es otra cosa que un número DID gratis para vincularlo a tu cuenta sip.
Es decir, tú les das un email, y ellos te dan un número de teléfono válido en USA...

¿Empezáis a ver cómo se podrian combinar estos ingredientes de forma creativa para realizar un pequeño hack sobre los sistemas de cuentas de aplicaciones como Whatsapp o Line?

Ahora que ya conocemos un poco mejor estos ingredientes, pasamos a...

La receta
Supongamos que quiero tener una cuenta de whatsapp válida para mi emulador android instalado en el PC. De este modo podré estar más cómodo chateando por el PC cuando lo tenga disponible. Pero no puedo registrar mi número de movil en dos terminales, asi que necesito un número nuevo.
En este caso, yo recomendaria el uso de un numero alternativo virtual de FonYou, tan utilizado y socorrido entre pequeños profesionales para separar vida personal y profesional cómodamente, pero quizás quiera crear no solo una segunda cuenta, sino más. Quizás soy un developer que necesita probar su nueva aplicación hecha sobre whatsapi utilizando 20 cuentas válidas de whatsapp, o simplemente soy un triste spammer que quiere usar las API's de whatsapp disponibles para enviar mensajes masivos anunciando mi sitio web o el de terceros que me pagan por ello.

¿Puedo usar un numero inventado? 
No, porque cuando whatsapp envie un código de validación a ese número por SMS o llamada, yo tendré que introducir dicho código en el software para demostrar que soy el titular. Así pues, el número tiene que ser realmente mio, en el sentido de que yo tengo que tener el control sobre él para recibir ese SMS. Hasta aqui el sistema funciona según lo que se espera de él.

¿Qué servicio hemos dicho que tenia la capacidad de recibir SMS? 
Google voice. Con el simple hecho de registrar una cuenta de google, tenemos acceso a un número de teléfono capaz de recibir SMS. Por lo tanto, ya sabemos lo que queremos: queremos crear una cuenta en google voice.

Ahora que ya sé lo que necesito, ¿qué obstáculos debo sortear para obtenerlo?
Como he dicho antes, google voice exige que conectes desde USA y que ya tengas un numero de teléfono "real" de USA. Por "real" quiero decir que está en la red telefónica conmutada tradicional, y que está geográficamente ubicado en USA.
Sabemos que la limtación geográfica a la hora de conectar a la web y fingir estar en USA se resuelve conectando a través de cualquiera de los proxys estadounidenses que aparecen constantemente en listas como esta, así que fingir la ubicación no será un problema.
Enfoquémonos por tanto en el problema menos conocido: tenemos que hacernos con un numero "real" de Estados Unidos para hacerle creer a Google Voice que estamos físicamente allí y nos deje activar sus servicios.

¿Quién hemos dicho que ofrecía un número "real" de USA con simplemente registrarse?
Callcentric. Si nos registramos en su web, obtenemos inmediatamente una cuenta SIP con su usuario y su contraseña.
El usuario es un numero con el formato 1777xxxxxxx, pero que nadie se confunda; aunque a ojos de un despistado parece un numero válido de USA con el prefjo internacional +1 delante, no lo es. Es solo un número VoIP. De hecho el area code 777 es muy WTF! porque no existe semejante cosa en la numeración conmutada estadounidense. El estado de Nevada lo quiso reclamar para asignarlo a los teléfonos de Las Vegas, por aquello del 777 en las tragaperras (LOL), pero se lo denegaron.

Una vez nos hayamos registrado en callcentric no habremos acabado con ellos, porque aún tenemos que solicitar el "free phone number", que es para lo que hemos venido aqui. Por tanto, nos aseguramos de tener nuestra recien creada sesión iniciada en la web y nos dirigimos a la sección "All Services" para buscar el servicio "Free Phone Number" y pulsar el botón Get a Number.
En la columna de la izquierda, ponemos esto (de hecho no hay mucho que cambiar)


En state, de momento solo ofrecen NY, cosa que nos da igual. El area code y el rate center los podeis elegir al azar. Tras pulsar "Lookup", el sistema nos dará un puñado de sugerencias tal que así:


Pulsamos "Order Now" para cualquiera de las opciones sugeridas. Respondemos NO a la pregunta "are you using the service within the US?" (es importante responder que NO). Seguimos el proceso, que es tratado por callcentric casi como si fuera un proceso de compra, pero tranquilos que no pedirán tarjeta 8-)
Seguid el asistente hasta pulsar el botón "checkout". Y con esto ya tendremos un número real de la red telefónica conmutada de USA. Nos llegará un email a modo de factura donde se indicará nuestro nuevo número de teléfono (en esta imagen, 1929223xxxx):


y de todos modos tambien será claramente visible en las preferences y en el dashboard de callcentric consultando el "caller ID to send" (en esta imagen, 1646xxxxxxx):

Veréis los números escritos de varias formas, con paréntesis, con guiones... explicaros el NANP aquí queda fuera del objetivo de estas líneas, pero debéis saberlo para no dudar durante el proceso: para el caso que nos ocupa, "19296969101" es lo mismo que "+1 (929) 6969-101"

Vale, pero ahora ¿cómo lo uso?
Fácil. Ya hemos dicho que un número DID es una extensión en el mundo real de una cuenta SIP en el mundo digital. Si alguien llama al numero DID, estará llamando a la cuenta SIP. Entonces lo único que tenemos que hacer es preparar nuestro PC/tablet/smartphone para convertirse en un cliente SIP capaz de recibir las llamadas entrantes de la cuenta SIP. Del resto, se encarga nuestro proveedor SIP.

Para hacer esto desde el PC, yo os voy a recomendar Linphone porque su hogar y ambiente naturales son el opensource y GNU/Linux, aunque es multiplataforma y tambien está disponible en Windows. Tambien podéis informaros sobre ekiga, aunque este me ha respondido un poco peor frente a problemas de conexión a la hora de registrar las cuentas SIP desde algunos sitios donde el mapeo de puertos no es una posibilidad.
En los terminales Android tambien teneis SIPDroid o el mismo cliente integrado en el sistema operativo (versiones más recientes de Android), que gestiona las llamadas SIP de forma transparente una vez configurado.

La confguración de los clientes SIP se sale del alcance de este artículo, pero supongamos que vuestra cuenta SIP en callcentric es 17772231234 (siempre empiezan por 1777). En tal caso, la configuración de la cuenta en Linphone sería tal que así:


Al pulsar aceptar os pedirá el password de la cuenta y lo guardará para futuro uso. Con eso ya teneis un software capaz de recibir llamadas desde la línea de USA, directamente hasta vuestro PC, que además tiene una forma de utilizarse muy parecida a la del popular skype. Dejamos el cliente SIP registrado en el PC y esperando a recibir llamadas. Ahora que ya tenemos todo alineado, solo queda rematarlo...

Conectamos a voice.google.com utilizando un proxy estadounidense (debe aceptar SSL!) que habremos configurado antes en el navegador, asegurándonos de que cualquier posible sesión nuestra de google está cerrada. Podems usar otro navegador sin proxy en paralelo para conectar al resto de sitios web mencionados aquí, puesto que no filtran por región. Así navegaremos a mayor velocidad.

Registramos una nueva cuenta de google usando el botón "sign up" y rellenamos los datos como si estuviéramos en USA. Durante el registro, google nos pide un email alternativo válido y un número de teléfono. Aquí podemos dejar sin poner aún el teléfono (nos lo pedirá luego). Suponiendo que queremos mantener nuestra privacidad y anonimato al máximo, podemos usar un email temporal de servicios como nowmymail.com como dummy para verificar el registro en google. 

Seguid el proceso de registro hasta que os pida un número de teléfono:

Aquí podemos hacer una pausa (sin cerrar esta ventana) para irnos a visitar el enlace de confirmación que nos había enviado google al email que le indicamos.

Luego volvemos a la ventana "Verify your account" y escribimos nuestro numero DID, sin el 1 inicial, y asegurando que sale la bandera de USA en el selector de al lado. Tambien tendremos que cambiar el método de envio de códigos, de TEXT MESSAGE a VOICE CALL, ya que los números DID de callcentric pueden recibir llamadas pero no SMS.

Con esto, si todo va bien, estaremos a punto de recibir nuestra primera llamada VoIP desde nuestro número DID estadounidense. Al pulsar CONTINUE la pantalla del navegador cambiará a la imagen que vemos a abajo, y deberia comenzar a sonar nuestro softphone. Descolgamos y escuchamos con atención la grabación, porque nos va a decir dos veces y en un inglés pausado y claro el código de validación que tenemos que introducir en "Enter verification code":


La llamada finalizará sola cuando la locución acabe. Ponemos el verification code y pulsamos "Continue".
Llegados a este punto, ya hemos validado la cuenta de google con las dos credenciales que nos piden, un email y un teléfono, ambos pseudofalsos y creados para la ocasión para proteger nuestra identidad.

A partir de ahora comienza el proceso de configuración de google voice propiamente dicho.

Estaremos en una pantalla tal que así:


Lo que nos está pidiendo es un primer número al que desviar las llamadas recibidas en el número de google voice. Como hemos dicho antes, este número debe ser forzosamente de USA. De nuevo, pondremos nuestro número DID sin el 1 inicial y pulsaremos "continue". Eso hará que google genere un código de validación. Esta vez el código de validación es de solo dos digitos y viajará en el sentido inverso al anterior (de la web al teléfono), así que nos preparamos para atender a una llamada en nuestro softphone, en la que además tendremos que utilizar el teclado virtual durante la llamada para enviar los tonos pertinentes. Cuando estemos listos, pulsaremos el botón "Call me now".



Oiremos una breve locución que nos pide el código. Cuando se calle, lo pulsamos en el teclado de nuestro cliente SIP. Si estais usando Linphone, el aspecto del teclado será este:


En cuanto hayamos realizado el marcado del código de validación, usando pulsaciones bien prolongadas y firmes, oiremos de nuevo la locución confirmando que el número ha sido validado, al tiempo que veremos que la pantalla de nuestro navegador cambia automáticamente de nuevo:


Pulsamos "I want a new number" y aparece un cuadro donde podemos elegir números disponibles por código postal (filtro de la izquierda) y/o por conjuntos de números o letras que nos gusten (filtro de la derecha):


Partiendo de la premisa de que no sabemos códigos postales de USA ni tenemos interés en ninguno en particular, podemos jugar un poco con el filtro de palabras y números para ver qué sale...



Y cuando os canséis, elegid uno de entre las opciones y pulsad "Continue". Por ejemplo, yo al final elegí el (802) SBD-0250, o lo que es lo mismo, (802) 723-0250:


Ahora ya puedo registrar este número en Whatsapp y recoger el SMS tranquilamente en la bandeja de entrada de google voice, todo ello protegiendo mi identidad real y anonimato en todo momento:


Y ahora que ya tengo mi número DID en USA, puedo usarlo para crear y validar más cuentas de google. No todas las veces que quiera, puesto que google no permite usar mas de 3 o 4 veces el mismo teléfono para validar diferentes cuentas, pero por lo menos un par de veces mas lo puedo hacer. Y cuando google deje de aceptar este numero DID siempre puedo volver a crear otra cuenta de callcentric y empezar desde cero.

Conclusión

Lo que hemos practicado en este post es un principio de interacción entre productos y servicios, que al combinarse permiten crear una "distorsión" de sus modelos de seguridad. Dado que el uno no contaba con la presencia del otro, y uno proporciona de forma menos controlada credenciales que son válidas para el otro, se ablandan unos vectores de entrada que parecian mas duros observando estos productos y servicios por separado. 

Este tipo de problemas son complejos y su incidencia es difícil de evitar dados los modelos de seguridad y control de acceso digitales que se utilizan hoy día en la mayoría de sitios.

Lo mas curioso es que nadie ha cometido un error, no hay flaw alguno, no hay un vector real, por lo menos no un vector "de asalto". Callcentric tiene su estrategia y sus políticas, y no son incorrectas para su negocio. Google tampoco. Simplemente se ha realizado una combinación creativa de elementos obteniendo como resultado un pequeño hack.

Por norma general todas las empresas que ofrecen servicios online piensan, aunque sea un poco, en la seguridad de sus usuarios y en la autenticidad de sus identidades, pero no todos lo hacen de la misma manera. Cada servicio confía en un tipo de credencial mas que en otro, e incluso el modelo de negocio que practican y su estrategia de marketing tienen influencia en este tipo de medidas de seguridad. Si tenemos en cuenta que algunas de estas empresas proporcionan credenciales que sirven a su vez de credenciales válidas para otras empresas, se crean situaciones como esta, en la que google confía plenamente en los números de teléfono para controlar la identidad de los usuarios, pero compañías como callcentric, con un planteamiento diferente dado que su nicho está tremendamente competido y todos los proveedores SIP regalan números con su ancho de banda sobrante, ellos no son menos y regalan números válidos de USA a cambio de un simple email con la intención de captar clientes en otros servicios VoIP de pago, creando esta paradoja en la que el nivel de seguridad de google cae literalmente al mismo nivel de callcentric, que es bajo por diseño y por necesidades de su guión. 

Aunque en este caso es mas deliberado, tambien sucede lo mismo con nowmymail y otros proyectos similares que están rompiendo el paradigma del control de identidad asociado al email. Dado que muchos servicios online consideran al email como el mejor (o el único) medio para validar y autenticar la identidad de los usuarios, el hecho de que aparezcan empresas que ofrecen emails temporales válidos que duran 5 minutos para facilitarte el registro en un servicio y luego autodestruirse, convierten el control de registro por email en algo inutil mucho menos útil para estos servicios, rompiendo la extensa infraestructura de suposiciones en las que se han basado muchos de ellos y reabriendo el debate sobre la privacidad y el control de acceso de los usuarios online.

Google ya habla de aportar soluciones por hardware a modo de llaves que garanticen totalmente la identidad y privacidad del usuario, aunque esto tambien plantearía otros problemas. Pero google acostumbra a traer buenas ideas y puede que resuelvan estos problemas con su habitual ingenio.

La cuestión es que ahora no tenemos mas límite que nuestra paciencia para crear tantas cuentas válidas  en Whatsapp/Line y derivados como queramos. Y como he dicho al principio, esto es solo la punta del iceberg. Siendo capaces de recoger llamadas, enviar tonos DMTF durante la llamada, y recoger SMS,  podríamos burlar mecanismos de comprobación de identidad y de posición geográfica de varios servicios online, todo mientras mantenemos un total anonimato. 

Y hablando de anonimato, esto siempre lleva una doble moral consigo: el anonimato como individuos nos proteje y nos hace sentir mas seguros, pero el anonimato de todos los demás como masa a la hora de usar productos servicios y herramientas de todo tipo nos parece un peligro y problema potencial...

Artículo cortesía de Alejandro Amo
Leer más...

24 febrero 2013

Enlaces de la SECmana - 163

Leer más...

22 febrero 2013

Microhistorias: La leyenda de la informática, humanizada.

Descubrí el libro de “Microhistorias: anécdotas y curiosidades de la Informática”, escrito por Rafael Troncoso y Francisco José Ramírez, de la mano de mi buen amigo Alejandro Ramos. Sabedor de mi creciente interés por la Informática y cansado de responder a mis continuas preguntas sobre los personajes que han contribuido a forjar su Historia, me dijo: "tengo un libro para ti. Acaba de salir y es muy bueno. Además, es de los que te gustan: lleno de datos que poder recordar y repetir a la menor ocasión". ¡Y vaya si me conoce!


Efectivamente, el libro está repleto de información, pero no dispuesta de cualquier manera, sino ordenada de forma cronológica para ofrecernos una vista panorámica de la Historia de la Informática, desde sus orígenes hasta la más inmediata actualidad. A lo largo de sus páginas, conocemos los acontecimientos y a las personas que han cambiado nuestras vidas de un modo que aún hoy sorprende descubrir. Precisamente por la velocidad y profundidad de estos cambios es fácil perder la perspectiva. Los episodios y sus actores se superponen y los árboles no dejan ver el bosque. Para evitar extraviarnos por el camino, no hay mejor guía ni brújula más precisa que estas “Microhistorias”.

A pesar de lo anterior, no pretende ser un tratado de Historia, sino, como su propio título indica, una colección de anécdotas y curiosidades, lo que podría definirse como la intrahistoria de la Informática, tan importante como sus grandes hitos, pues ayuda a humanizar a las personas y a desmitificar sus logros, a la par que a valorarlos mejor y situarlos en su exacto contexto. Así, podemos relacionar los grandes capítulos de la Historia reciente con los avances informáticos y analizar como éstos han influido de un modo determinante en aquéllos. Si en épocas pretéritas la Historia se escribía en el campo de batalla, la presente se está redactando utilizando las creaciones de los héroes que protagonizan las páginas de “Microhistorias”.

Es una gozada leer que mientras Alan Turing ayudaba a los Aliados a ganar la guerra descifrando la máquina Enigma de los nazis, se trasladaba por Bletchley Park en una bicicleta a la que se le salía la cadena a intervalos regulares. Para quien haya leído el “Criptonomicón” de Neal Stephenson, esa imagen le resultará  evocadora. Otros capítulos son igualmente fantásticos: la broma telefónica de John Draper, alias Capitán Crunch, al presidente Nixon; las reuniones del Homebrew Computer Club; la construcción del Apple I por Steve Wozniak, la maniobra de Steve Jobs para hacerse con las innovaciones de Xerox para su Macintosh; la réplica de Bill Gates cuando el anterior le acusó de robar su tecnología; la odisea de Kevin Mitnick para escapar de las autoridades; la amistad entre los dos creadores de Google… Hasta ahora, era imposible encontrar todos estos episodios reunidos en un solo volumen.

La lectura resulta ágil y sencilla, fácil de seguir para un neófito como yo. Ayuda mucho que la extensión de los capítulos no se explaye más allá de las seis páginas en ningún caso, lo que puede saber a poco para según qué historias. Pero esto no es inconveniente, porque los autores han aportado enlaces y bibliografía al final de cada capítulo en atención a quienes quieran profundizar en alguno de los temas esbozados. Así, el libro puede leerse una y otra vez, de principio a fin para adquirir una visión de conjunto, o eligiendo un capítulo, al azar o por interés, para exprimirlo a fondo con ayuda de los enlaces y los libros referenciados, lo cual constituye su mayor virtud: es un libro que puede dejarse en la mesilla de noche durante mucho tiempo.

En definitiva, esta pequeña joya me ha enseñado mucho sobre los protagonistas de una historia que a día de hoy se está escribiendo; me ha conducido a través del tiempo para compartir sus grandes éxitos, que son los de todos nosotros, pero también sus inquietudes, sus preocupaciones y sus miserias. Al retratarlos mediante la narración de anécdotas y curiosidades, los autores han conseguido mostrarlos como lo que son, personas extraordinarias que vivieron y viven tiempos extraordinarios, pero personas al fin y al cabo, y cuyo mayor acierto fue ver que el mundo iba a cambiar y propiciar ese cambio. Llegar a la última página es desear volver a la primera, para revivir una vez más estas apasionantes “Microhistorias”.

Rodrigo Yepes
Leer más...

Así como el otro día os contaba cómo sufrí en mis propias carnes la estafa de un vendedor chino por Ebay, hoy os quiero contar una estafa recibida por otra persona.

En este caso, la víctima es un potencial cliente al que tuve la oportunidad de conocer en una preventa en mi empresa anterior, integrante del departamento de sistemas y seguridad de una empresa aseguradora española, que incluso me envió por correo postal la muestra de su estafa, para que echara un vistazo y escribiera sobre ello.

Por diferentes motivos, me contó que, estando de vacaciones en China, y después de hacer fotos a mansalva como buen turista, se quedó sin espacio en la tarjeta de memoria de su cámara de fotos. Como no llevaba el portátil en su viaje, decidió comprar un pendrive USB y utilizando un PC del hotel volcar desde su tarjeta de memoria las fotos más antiguas al pendrive y así liberar sitio para poder continuar inmortalizando nuevos momentos con su cámara. Hasta aquí todo bien, si no tenemos en cuenta el pánico de usar un PC tan tan tan compartido para el trasiego de información tan privada como las fotos de un viaje, pero bueno…

Como el usuario no disponía de pendrives a mano, decidió comprar uno allí mismo…. Creo que fue en un puesto callejero (ya me corregirá si no cuando lo lea), donde vio diferentes dispositivos de almacenamiento USB. Como sabéis todo en China es mucho más barato, así que se decidió por un modelo "Kingston" de 16 GB, y cuya foto podéis ver bajo estas líneas. 



 La verdad es que a simple vista,… muy Kingston no es que parezca

Yo que tengo delante el pendrive, os puedo decir que lleva un "número de serie" grabado en un lateral y debajo de esa pegatina que tiene una pinta bastante cutre, pone Datatraveler. Sin embargo, el cacharro, por peso, y calidad de materiales, no inspira, ni de lejos, la confianza de uno absolutamente original como el que analicé tiempo atrás. no dando la sensación de un dispositivo de alta calidad, que es lo que se te viene a la cabeza cuando piensas en Kingston…. Este es más "Urdangarínston" que "Kingston"



Al pinchar el pendrive en el PC del hotel (dice que regalito, no trae), aparecen los 16GB disponibles, así que conectó la cámara y se dispuso a copiar las fotos. Una vez copiadas, extrajo de forma segura el dispositivo. Quiso el destino, que volviera a meter el pendrive en el PC, y se llevó una amarga sorpresa. Sus fotos no estaban en el pendrive. Sin embargo, los ficheros toman su tiempo en copiarse, el sistema de ficheros dice que se va llenando, etc,… pero los ficheros no están.

Al conectarlo a mi Mac, efectivamente, 16,78 GB disponibles (16.777.216.000 bytes). Lo formateo con la Utilidad de Discos, sistema de ficheros FAT, tarda su tiempo,… efectivamente todo parece correcto. 



Lo inserto en una máquina Linux, y para probarlo, preparo una carpeta con un montón de videos y la copio al raíz del pendrive USB


[root@vmserver usb]# ls -lisa
total 5840460
1       8 drwxr-xr-x   2 root root       8192 feb 21 20:22 .
1441793       4 drwxr-xr-x. 13 root root       4096 oct 11 12:03 ..
126   30432 -rwxr-xr-x   1 root root   31162368 feb 21 20:15 20120827090905.m2ts
127 2383200 -rwxr-xr-x   1 root root 2440396800 feb 21 20:17 20120827114436.m2ts
128 3426816 -rwxr-xr-x   1 root root 3509059584 feb 21 20:25 20120829094303.m2ts

De hecho, si miro con un "df" cómo está de lleno, dice que 5,6 GB ocupados, ¿verdad?

/dev/sdb1              16G  5.6G   11G  36% /mnt/usb

Lo desmonto, lo vuelvo a montar en el mismo sitio y el volumen está como las arcas del país después del gobierno de dos inútiles seguidos…. vacío!

[root@vmserver usb]# ls -lisa
total 12
1      8 drwxr-xr-x   2 root root 8192 ene  1  1970 .
1441793 4 drwxr-xr-x. 13 root root 4096 oct 11 12:03 ..

Sin embargo, al hacer un "df" sigue apareciendo que están ahí.

/dev/sdb1              16G  5.6G   11G  36% /mnt/usb


¿Qué ha pasado?

Pues para empezar a mi cliente…. eso, que le han timado. Podría ponerme a hacer un dd completo y rebuscar por la unidad para ver qué es lo que queda dentro y qué es lo que no queda. Mi intuición me dice que efectivamente esto está haciendo cambios en la FAT, pero el resto del tiempo, simula que se está copiando aunque vaya a /dev/null. 



Destripando el pendrive, apenas se ve la serigrafía que aparece en los chips que lleva el circuito impreso. Sólo llego a distinguir que un chip es samsung y el otro Alcor, pero mis ojos no dan para mucho más ni con ayuda de una lupa.

Al hacer un lsusb -vvvv, se observa el ID USB referente al dispositivo de tipo Mass Storage

Bus 001 Device 013: ID 508f:6387  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x508f 
  idProduct          0x6387 
  bcdDevice            1.43
  iManufacturer           1 Generic
  iProduct                2 Mass Storage
  iSerial                 3 B029CDCC
  bNumConfigurations      1


Googleando por el ID del USB, vamos a dar con un enlace que parece ser la clave de todo esto. Básicamente, el chino está vendiendo dispositivos de 16 GB de espacio cuando realmente incluye una capacidad de almacenamiento de 4GB. Y lo que es peor, los datos no se guardan realmente, sean de más o de menos de 4 GB, aunque en las tablas de indexado de ficheros sí que se guardan esos cambios. En este mismo enlace indican procedimientos y proveen herramientas para, por lo menos, "arreglarles la memoria" para que el pendrive USB valga para almacenar 4GB…. ¿Algo es algo no?
En otros casos, el ratio es aún peor, compras 32 GB y sólo puedes usar 1 GB

Por lo visto, este tipo de dispositivos fake, se venden como churros por Ebay (cómo no!), e incluso la web de compraventas publicaba diferentes avisos sobre posibles timos en la venta de estos dispositivos "Counterfeit" USB

Ya lo que es impresionante es que esto mismo esté pasando también en la venta de "discos duros" con esto mismo… bueno, o parecido, según podéis ver en la foto bajo estas líneas.


Leer más...

20 febrero 2013

Weevely, una shell PHP diferente

Hace unos días compartí a través de mi cuenta de Twitter el enlace al proyecto Weevely en GitHub, una shell PHP en 'formato telnet' que, sobre el papel, tiene bastante potencial. Después de haberla probado no me queda más que recomendaros que la añadáis a vuestro 'arsenal' de shells PHP porque gracias a su carácter modular (los módulos se desarrollan en Python) es muy versátil y funcional.

En la propia página del proyecto hay información suficiente para entender su funcionamiento, desde un manual paso a paso y una explicación detallada de los módulos incorporados por detecto, hasta un video explicativo.

Veamos un ejemplo de uso de las funciones nativas de Weevely y su módulo 'net.phpproxy' (permite tunelizar tráfico a través de la máquina en la que se ha instalado la shell).

En primer lugar descargamos la shell desde GitHub (actualmente se encuentra en la versión 1.01):

Será necesario tener instalado Python y los paquetes 'beautifulsoup4' y 'pyredline'. Podéis consultar información relativa a su instalación en el propio manual de Weevely comentado anteriormente.

Una vez descargado y descomprimido el siguiente paso será crear la shell que instalaremos en la máquina remota. Además de la creación de la shell PHP por defecto, Weevely permite crear una imagen con el código PHP incrustado o un fichero .htaccess especialmente manipulado (estas opciones corresponden a los distintos módulos de generación de backdoor).

En el comando para crear la shell PHP ofuscada (que es 'generate') es necesario indicar la contraseña que protegerá la shell de terceros y, de forma opcional, la ruta en la que se creará:

> python .\Weevely.py generate anGa$faRms92 .\backdoor.php

Si accedemos al contenido de la shell que hemos creado vemos que efectivamente está ofuscada. Si se quiere "proteger" un nivel más se puede utilizar la herramienta HideMyPHPShell (desarrollada por Alberto Ortega) desde el repositorio de herramientas de Security by Default.


Para conectarnos a la consola de Weevely basta con indicar la URL de la shell y la contraseña con la que la hemos protegido, por ejemplo:

> python .\Weevely http://localhost/backdoor.php

Una vez conectados nos saldrá la siguiente pantalla (con el comando 'HELP' accedemos a los comandos disponibles):


Para ejecutar un módulo basta con escribir su nombre precedido de ":" y, para ver su ayuda indicarle el nombre del módulo al comando ":help"; como se ve a continuación:


En el caso del módulo 'net.phpproxy' nos creará un proxy en la máquina remota en la ruta que le hayamos especificado (en el ejemplo lo creará en la misma carpeta que la shell y con nombre 'proxy.php'). El proxy que utiliza es PHP-Proxy ligeramente modificado.

Una vez instalado el proxy podremos utilizarlo para navegar a través de la máquina remota:

> http://www.ldelgado.es/proxy.php?u=http://ping.eu/nslookup/


Os recomiendo que le echéis un vistazo al resto de módulos porque permiten acceder a información que, si bien se puede hacer con una shell PHP tradicional, en este caso están al alcance de un sólo comando.

[+] Weevely - http://epinna.github.com/Weevely/
[+] HideMyPHPShell - http://sbdtools.googlecode.com/files/hidemyphpshell.py
[+] PHP-Proxy - https://github.com/milovanderlinden/php-proxy

Artículo cortesía de Luis Delgado
Leer más...

19 febrero 2013

Cuentos chinos (Vol. 1): Ebay



Antes de que la RAE elimine ciertas frases hechas que, sin ánimo de ofender a nadie, utilizamos de forma cotidiana, quiero aprovechar y contar públicamente que al hacer una compra por Ebay, al país del Sol Naciente arroz tres delicias, fuí timado "como un chino" (y en realidad, por un chino...).

Hace tiempo conté en Security By Default cómo podíamos llamar desde casa simulando que estás en la oficina, gracias a un dispositivo que permitía convertir la señal analógica de teléfono desde un cable RJ-11 a digital en una extensión de una centralita Asterisk. 

El cacharro era un Cisco Linksys SPA3102 que en mi caso me regaló mi amigo Domingo, de cuya procedencia no tengo que dudar. Así que lo dejé montado para mi centralita Asterisk. Sin embargo, al montar la empresa necesitaba una segunda línea, en este caso móvil, que pudiera utilizar para hacer llamadas a móviles, así como para redirigir las llamadas entrantes a mi teléfono móvil me encontrase ausente, y no perder ni una oportunidad de negocio (o de spam). En este caso, lo que hice fue buscar un dispositivo idéntico al SPA3102, que ya sabía cómo se configuraba y que hacía el trabajo perfectamente. Buscando en proveedores y tiendas, fuí a parar al enlace de una tienda online de Ebay que vendía un SPA3102 de un vendedor chino Cityeliter.



El precio con envío incluido era sensiblemente más barato, así que como no estamos para tirar la casa por la ventana, lo compré.
Me llegó el dispositivo con alimentador para Europa, me hicieron factura (o algo así…), en una caja de cartón que ponía Linksys, con manual en inglés, y casi tan perfecto como un producto Apple. A simple vista, el cacharro era muy muy parecido al que ya tenía.


¿Cuál es cuál...?

A nivel de configuración, el firmware era IDÉNTICO…. Todo funcionaba a las mil maravillas,… hasta que un día dejó de funcionar. Se encendía un led rojo y nada más. Contacté con el vendedor en Ebay (con tantos votos positivos, imagino que responderá bien, ¿no?) y lo máximo que conseguí de él fue que como el producto tenía más de 3 meses (en realidad tenía 5), ya estaba fuera de garantía…

La primera sospecha fue: Tres meses de garantía??? y dices que Cisco no da al menos 1 año???

Tenía que salir de dudas, y arreglar mi salida de móviles, así que me puse en contacto con Cisco Linksys, con quienes abrí un ticket de RMA. Después de que el servicio técnico confirmara que el vendedor no era un distribuidor autorizado de China, y tras enviarles un montón de fotos del dispositivo (por fuera); por la dirección MAC del dispositivo, la gente de Cisco me indicó que no correspondía con un dispositivo SPA3102 válido (y eso que empieza por los mismos octetos reservados a Cisco Linksys Sipura 00-0E-08 )

Es decir, que finalmente, es falso. Así pues, directamente dije,… No funciona, nadie responde por ello,… pues vamos a destriparlo. Así que aquí os comparto unas fotos de ambos cacharros: el original, que funciona a las mil maravillas a la derecha, y que como podéis ver lleva serigrafiadas las letras del fabricante de los chips, Sipura,… y a la izquierda el fake que me vendió el chino de Ebay,… que tiene todas las serigrafías emborronadas.



Tengo claro que a ese vendedor de Ebay, Cityeliter, con tantísimos votos positivos, no le vuelvo a comprar ni un rollito de primavera, por haberme vendido un cacharro más falso que un amigo de Facebook, y no haber apechugado con las consecuencias al haberse roto el aparato.

Total, que al final, los tópicos son totalmente ciertos: "aunque. la mona se vista de seda, mona se queda" y "Lo barato sale caro". 
Leer más...

18 febrero 2013

Anonymous presente en los Goya 2013 y candidato a mejor Inyección SQL

Un año más, Anonymous se hace un hueco en los Goya. Esta vez no han sido protagonistas por organizar una manifestación cerca de la alfombra roja, o por saltar al escenario al más puro estilo Jimmy Jump

Directamente y como es habitual, bajo acciones de lo que han llamado #OpGoya, han explotado supuestamente una inyección SQL en el portal encargado de presentar las candidaturas de la vigésimo-séptima edición de los Premios Goya de la Academia de las Artes y las Ciencias: premiosgoya.academiadecine.com


En este portal, se pueden consultar noticias sobre los premios, candidaturas, finalistas, información sobre la gala, etc.


Pues bien, a eso de las 9 de la noche, desde la cuenta de twitter @Lulz_Es se anunciaba el volcado de una base de datos "peliculas" perteneciente al dominio de la academia, con un total de 78 tablas en su interior, con nombres tan descriptivos como ACADEMICOS, DISTRIBUIDORAS, USUARIOS, VOTACIONES...




Esta vez, los lulzers se decantaron por el servicio de intercambio de información anonpaste.me, en vez de pastebin como suele ser habitual. Como decíamos, se volcaron algunas de las tablas más características de la base de datos, con información de distribuidoras, actores, productoras, profesionales del medio...incluyendo correos electrónicos, números de teléfono,...


Puede que las prisas en lanzar este sitio informativo para la gala ocasionaron un descuido al no validar correctamente los parámetros de los ficheros php que utiliza la página. Lo que está claro es que si bien la información dentro de premiosgoya.academiadecine.com podría resultar de poca importancia, el compartir la base de datos con otros servicios hace que el impacto de la vulnerabilidad sea mayor. La página de academiadecine.com podría ser la más segura del mundo, pero por culpa de este portal y por no crear otra base de datos únicamente para la información de los premios, y limitar los permisos del usuario a dicha base de datos, se ha conseguido acceder a información sensible de usuarios que seguro que no quieren ver sus WhatsApp o buzones de correo ardiendo en llamas. 

Una simple búsqueda en Google con el sitio, seguido del motor de base de datos utilizado por la página, muestra una pista de la grave vulnerabilidad aprovechada para la obtención de esta información.

Leer más...