miércoles, 25 de diciembre de 2013

¡Feliz navidad!

perl -e '$n="\e[0;40;32m";for(1..10){print"\ec$n\n".$"x(15)."\e[1;35mY$n" .$"x15;for(1..8){print$/.$"x($a=16-$_);$c=int rand($d=2*$_);for(2..$d){$f=31+int rand(3);print($_-$c?"X":"\e[$f;1m*$n")}print$"x$a}print $/.$"x(31)."\e[0m\n".$"." Merry Xmas !!!".$/x2;select$q,$q,$q,0.5}'

Latch está integrado en Recover Messages


Actualmente Recover Messages, el servicio en cloud de recuperación de mensajes borrados de WhatsApp, se encuentra integrado con Latch. A partir de ahora, cualquier usuario podrá añadir una protección extra a los ficheros de WhatsApp que suba y esté analizando, protegiendo con un Latch el acceso a su cuenta del servicio.

Figura 1: Latch en el perfil de usuario de Recover Messages

Para configurarlo basta con ir a la zona de Account y seleccionar el botón de Latch para que aparezca el lugar donde se introduce el Token Temporal de Pareado. El resto, es ir a la app de Latch para iPhone o para Android, solicitar un Token Temporal de Pareado en la app y ponerlo ahí.

Figura 2: Cuenta de Recover Messages en la app de Latch para iPhone 

Cuando la app esté pareada se podrá restringir el acceso a la cuenta e incluso configurar un modo nocturno o un acceso controlado por OTP seleccionando que la cuenta esté Unlock pero con OTP. El funcionamiento del sistema está descrito en el artículo de "Latch: Cómo proteger las identidades digitales".

Figura 3: Configuración de Latch en un servidor FTP con comandos Site

En el caso de Recover Messages la integración se ha hecho con el SDK de Latch para .NET que puedes encontrar y utilizar de forma gratuita desde el área de developer de Latch. Allí hay SDKs para .NET, Java, PHP, Python, Ruby o C. Algo similar a lo que hemos hecho en Recover Messages hizo Alejandro Ramos "dab" (@aramosf) en Security By Default para integrar Latch en un servidor FTP haciendo las conexiones con unos sencillos scripts en Bash.

Figura 4: Area developer de Latch que da acceso a SDKs y Plugins

Si quieres probar estas navidades Latch a nivel de usuario puedes hacerlo también con 0xWord siguiente este tutorial, con Nevele Bank o animarte y proteger tu cuenta de Acens. Actualmente hay más de 100 sitios ya conectados con Latch, y tu puedes conectar tu sitio web si tienes un WordPress, un Joomla, un Drupal, un DotNetNuke o un PrestaShop con unos cuantos clics.

martes, 24 de diciembre de 2013

Qué deberíamos saber sobre Tcpdump (parte I)

En una entrada anterior un lector anónimo comentaba: "Muy interesante sería una entrada para desvelar los misterios de tcpdump. En muchos tutorialessolo se araña la superficie de esta herramienta"... lo intentaremos.


La verdad es muy difícil decir algo de esta herramienta que no esté ya dicho, pero voy a intentar hacer un artículo en varias entregas con lo que creo que se debería saber sobre este magnifico sniffer

En esta serie de entradas (creo que seránunas 3) intentaremos abarcar todos los aspectos de esta herramienta,por favor si me dejo algo decirlo.
 
Para quien no sepa lo que es Tcpdump echaremos mano de Wikipedia... a modo de introducción: Tcpdumpes un herramienta en línea de comandos cuya utilidad principal es analizar el tráfico que circula por la red.

Permite al usuario capturar y mostrar a tiempo real los paquetes transmitidos y recibidos en la red a la cual el ordenador está conectado.
Tcpdumpfunciona en la mayoría de los sistemas operativos UNIX: Linux, Solaris,BSD, MacOS X, HP-UXy AIXentre otros. En esos sistemas, tcpdumphace uso de la biblioteca libpcappara capturar los paquetes que circulan por la red. 


Existe una adaptación de T
cpdumppara los sistemas Windowsque se llama WinDumpy que hace uso de la biblioteca Winpcap.


Tcpdump fue escrito originalmente en 1987 por Van Jacobson, CraigLeresy StevenMcCanne. A díade hoy va por la versión: 4.5.1 / 1.5.2 release date: Nov20, 2013/Dec3, 2013.


Utiliza libpcapal igual que wireshark, snort, nmap, kismet, iftop, xplicoy un largo etc...t ambién creada por estos tres "elementos", TCPdumppuede ser a día de hoy unos de los sniffermas usado en todo el mundo, por su versatilidad y potencia.

Dicho esto entramos en harina...
 

 
Instalación

Lo podemos descargar de la pagina oficial y compilarlo, aunque sería muy raro que no estuviese en los repositorios como paquete ya
precompiladopara cualquier distribución. Debian, Ubuntuy derivadas lo pueden instalar con AptCentos, Redhatcon Yum, Opensusecon Yast,etc, etc.


Para mí, la mejor característica que tiene
Tcpdumpes que esta diseñado para correr en la linea de comandos, esto nos ofrece posibilidadesque otros sniffersigual de potentes no tienen, sacrificamos a priori vistosidad y intuición de manejo por versatilidad...


Tcpdump básico

Antes de comenzar conviene echarle un ojo a las opciones de esta herramienta un poco por encima. Más adelante las iremos viendo todas:
Con esto ya estamos preparados para nuestro primer comando:
  
tcpdump-i wlan0 -n   
 
Lo que le estamos diciendo a tcpdump es que capture el trafico con la tarjeta de red Wlan0 y que no resuelva los nombres de las interfaces de manera que nos saldrían las ip:

   
En realidad de momento esto no tiene ningún misterio: nosotros ordenamos y tcpdumpobedece.

Vamos a ver otro ejemplo:
 
tcpdump-i wlan0 -n -c 1 -t -A 
  
En cristiano sería: -i captura el trafico por wlan0, -n no resuelvas los nombres, -c1 cuando hayas capturado 1 paquetes para, -t no muestres la hora, -A muestra los paquetes en ascII:

 
Otras opción que interesa ver sería -s len, donde "len" es la longitud que nos interesa. 

Por defecto Tcpdumpsólo captura los primeros 68 bytes, lo cual es útil si lo único que se quiere son las cabeceras IP, TCPo UDP.  Sin embargo, en caso de estar esnifandoprotocolos como NFSse truncan los datos. En ese caso podemos ajustar la longitud de la captura a la MTUdel medio que estamos usando con esta opción. Por ejemplo para capturar toda la trama ethernetpodemos usar -s 1500 o -s 0.
  
Filtrado básico

A veces no nos interesa ver todos todos los paquetes que pasan por nuestra red y queremos ver los que salen de una determinada ip, o los de un puerto en concreto, etc.

Para esto Tcpdumpviene bien armado, los modificadoresbásicos son 3:

Tipo:

Puede ser host, net o port, portrange indican respectivamente una máquina, por ejemplo host192.168.1.1, una red completa, por ejemplo net192.168,  un puerto concreto o un rango de puertos.

Veamos unos ejemplos:
 
Capturael tráfico que entre o salga del host192.168.1.1 por el puerto 22:

tcpdump-i wlan0 host192.168.1.11 port 22

Capturael tráfico con destino 192.168.1.11 por el rango de puertos del 22 al 25 pero no el 23:

tcpdump-i wlan0 host 192.168.1.11 and  portrange22-25 and not23
 
Dirección:

Especifica desde o hacia donde se va a mirar el flujo de datos. Tenemos src  (source) o dst(destination) y podemos combinarlos con or, and y not. Para el caso de de protocolos punto a punto podemos sustituir por inbound o outbound.

Más ejemplos:

Captura los paquetes que vienen de 192.168.1.11:

tcpdump-i wlan0 src 192.168.1.11 

Captura los paquetes que van hacia 192.168.1.11:

tcpdump-i wlano dst192.168.1.11

Captura los paquetes con el origen 192.168.1.11 y destinadoa 192.168.1.35:
 
tcpdump-i wlan0  src192.168.1.11 anddst192.168.1.35  
 
Por supuesto se pueden combinar con los modificadoresanteriores:

tcpdump-i wlan0 -n -S src192.168.1.11 and dst192.168.1.35 and dst  port 25
  
Captura los paquetes de origen 192.168.1.11 con destino 192.168.1.35 con el puerto de destino 25.

Proto:

En este caso es el protocolo que queremos capturar: tcp, udpicmp, rarp, ip, ip6, igrp, icmp6, igmp, etc, etc...

tcpdump-i wlan0 icmpandhost192.168.1.1
   
Seguroque me dejo infinidad de expresiones y combinaciones, todo lo anterior lo podemos escribirtanto con nombres de servidor, direccionesip o direcciones mac... Comoveis cuando hablé de versatilidad iba en serio.

Siguiendo con el tema del filtrado ....todavíapodemos filtrar aun más y ser mucho mas quirúrgicos...

Filtrado (no tan básico) de FLAGS 
 
Imaginemos que queremos filtrar todos los paquetes que lleguen de una máquina a otra por un puerto determinado, que tengan el flagactivo ACK (asídicho tan en frío casi suena a rollazo pero en el próximo tutorialveremos un par de ejemplos muy divertidos). 

Esto lo podríamosfiltrar del siguiente modo (es un poco largo pero luego veremos como abreviarlo todo):

tcpdump-i wlan0  srchost192.168.1.10 anddsthost192.168.1.30 andport22 and  -S -n  "tcp[13] & 16 == 16 "

Fijémonosahora en la parte resaltada del filtroy veamos de dónde sale y qué significa.

Para ello debemos ver como es una cabecera tcp y dónde se sitúa la bandera ACK (esto mismo se puede hacer con otros protocolos como icmp,luego veremos cuanto puede dar de sí ésto...)


 
Como podemos ver, la bandera ACKestá situada en el octetonúmero 13. De ahí sale el principio del filtro tcp[13].

Ahora miremos más de cerca... el octetosería0001000 si tuvieseel flag ACKactivo. Si pasamos esa situación de binario a decimal nos da 16 con lo cual podemos decirle a tcpdumpque mire en la cabecera en el octeto 13 y si es igual a dieciséisque nos muestreesos paquetes ..."tcp[13] & 16 == 16 " 

¿Sencillo no?, imaginad... ¿qué no podéisfiltrar con tcpdump?, ¿se puede ser mas quirúrgico?...

Otro ejemplo. Si queremos visualizar los paquetes  con  el syn ack activo el estado del octeto 13 sería 00010010 = 18 con lo cual el filtro es "tcp[13] & 18 == 18.

Buenopor hoy lo dejamos aquí, espero no haber aburrido y hasta la segunda entrada sobre Tcpdump...




Fuente

sábado, 21 de diciembre de 2013

Obtienen claves de cifrado RSA escuchando el sonido de emite la CPU


Recientemente han conseguido comprometer con éxito uno de los algoritmos de cifrado más seguros - RSA de 4096 bits - y, lo más sorprendente, es que lo han hecho simplemente escuchando con un micrófono el ruido que emite el procesador del ordenador al descifrar los datos (10 a 150 KHz).
 
Los investigadores extrajeron con éxito las claves de descifrado a una distancia de cuatro metros y en menos de una hora con un micrófono parabólico de alta calidad. Sin embargo, también se las arreglaron para atacar a un smartphone a 30 centímetros del portátil atacante y llevaron a cabo (con distinto éxito) pruebas contra diferentes ordenadores portátiles y de sobremesa.
 
Este criptoanálisis acústico, realizado por Daniel Genkin, Adi Shamir (co-inventor de RSA) y Eran Tromer, utiliza lo que se conoce como un ataque de canal lateral (no convencional e indirecto) sobre la implementación 1.x del criptosistema RSA de de GnuPG y, a muy grandes rasgos, lo que hacen es obtener las claves RSA interpretando la señal acústica que se genera realmente por el regulador de voltaje de la CPU al ejecutar las correspondientes instrucciones para el descifrado de datos.
En la siguiente imagen podemos ver el espectrograma de frecuencia de varias instrucciones de la CPU:


 

Además, el mismo tipo de datos eléctricos también pueden "adivinarse" de muchas otras fuentes - la toma de corriente de la pared , el extremo remoto de un cable Ethernet, o simplemente tocando el ordenador (con la medición relativa de potencial de un cuerpo con el potencial de tierra de la habitación).


En cuanto a las repercusiones en el mundo real, el criptoanálisis acústico es en realidad... sorprendentemente peligroso. 


Imagina que estás descifrando algunos archivos en una biblioteca, cafetería, u otro espacio público - una persona podrá obtener tu clave de descifrado con sólo colocar el teléfono cerca del ordenador. O de forma alternativa, un atacante podría utilizar un spear phishing para poner malware en tu teléfono para escuchar la clave de descifrado. 

Con HTML5 y Flash capaz de acceder al micrófono, sería también posible construir un sitio web que recibe las claves de cifrado. 

Los investigadores proponen un escenario particularmente nefasto: pon un micrófono en un servidor en un rack de un centro de datos y podrás obtener las claves de cifrado de cientos de servidores cercanos...



Paper de la investigación

 RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis [PDF]

Fuente: 

- Researchers crack the world’s toughest encryption by listening to the tiny sounds made by your computer’s CPU