viernes, 23 de mayo de 2014

Analisis forense a whatsapp (cracking msgstore.db.crypt5)

 Este tutorial es para los que tienen respaldos de conversaciones con la extensión  crypt5  de Whatsapp. Si tienes el crypt normal puedes ver el post anterior:
http://villatux.blogspot.mx/2013/04/analisis-forence-whatsapp-cracking.html


Este nuevo tipo de encripción  utiliza el correo de google con el que está registrado el telefono + una llave para formar la llave de encripción:

echo -n micorreo@gmail.com | md5sum
f114f9011ed7050730b29d78ba7f2883

El MD5 resultante tendrá un valor de 32 dígitos hexadecimales  y tendremos que convertirlo a un valor de 48 digitos agregando los primeros 16 digitos al final del hash resultante ,  nos quedaría algo así la llave para des encriptar:

f114f9011ed7050730b29d78ba7f2883f114f9011ed70507


Ahora necesitamos hacer una operación XOR en el hash obtenido de 48 digitos,  el resultado nos dará la llave para desencriptar. Para esto es necesario un valor inicializador :

1e39f369e90db33aa73b442bbbb6b0b9

Ya teniendo estos valores requeridos , usamos openssl para desencriptar el archivo directamente:

openssl enc -aes-192-cbc -d -nosalt -in msgstore.db.crypt5 -out msgstore.db -K [key] -iv [iv]

Para hacer el proceso más sencillo Mohamed Ibrahim escribió el siguiente script que hace todo el proceso. Para esto es necesario pasarle como parámetro el correo electronico con el que está registrado el teléfono, el nombre de el archivo encriptado  y el nombre de el archivo de salida como el siguiente comando:

./script.sh micorreo@gmail.com msgstore.db.crypt5 > msgstore.db


 SCRIPT:
#!/bin/bash
 
function xor24 ()
{
  x24=$1
  y24=$2
  z24=""
   
  for ((i=0;i<48;i=i+2))
  do
    x=${x24:$i:2}
    y=${y24:$i:2}
    z=`printf "%02x" $((16#$x^16#$y))`   
    z24="${z24}${z}"
  done
  echo $z24
}
 
 
if [ "$#" -ne 2 ] ; then
  echo "Usage: $0 (primary-android-email-account) (whatsapp-inputfile) > outputfile"
  exit 1
fi
 
key=8d4b155cc9ff81e5cbf6fa7819366a3ec621a656416cd793   
iv=1e39f369e90db33aa73b442bbbb6b0b9
emailacct="$1"
infile="$2"
 
md5_16=`echo -n $emailacct | md5sum | cut -c -32`
md5_24=`echo -n $md5_16 ; echo $md5_16 | cut -c -16`
aeskey=`xor24 $key $md5_24`
 
#openssl enc -aes-192-cbc -d -nosalt -in $infile -K $aeskey  -iv $iv
openssl enc -aes-192-cbc -d -nosalt -nopad -bufsize 16384 -in $infile -K $aeskey  -iv $iv

jueves, 22 de mayo de 2014

Bloquear dominios con POSTFIX (spam)

Al menos una ves en la vida, si no es que muy seguido, hay spamers que lanzan sus ataques desde nuevos "dominios. Lo cual hace muy complicado la administración deL MTA
Si tu sistema de bloqueo anti-spam aún no cubre el dominio de las cuentas desde las cuales te están enviando spam tienes estas opciones:

Opcion 1 :  bloquear correo por correo, para eliminar posibles ataques desde esa cuenta de correo   en /etc/postfix/access (lo explicaré en otro post)

Opcion 2 : bloquear el dominio completo (tema del post)

En la variable de configuración smtpd_recipient_restrictions que tiene tu /etc/postfix/main.cf  (si no lo tiene lo puedes agregar)

En esta parte puedes hacer:

Una lista  de direcciones (hash) de correo a bloquear por ejemplo: comochingo@spam.com, ventas@spam.com, premios@spam.com  y así sucesivamente escribiento cada direción exacta para bloquear

Una expresión regular (regexp) para bloquear todo lo que sea @spam.com

Con la finalidad de que no se vea "sucio" tu archivo de configuración main.cf recomiendo que agregues tu regexp de la forma:

regexp:/etc/postfix/dominios_bloqueados

quedando así:

smtpd_recipient_restrictions =
permit_mynetworks
reject_unauth_destination
regexp:/etc/postfix/dominios_bloqueados
permit_sasl_authenticated
reject_non_fqdn_hostname
reject_non_fqdn_sender
reject_invalid_hostname
reject_unknown_sender_domain
reject_unknown_recipient_domain
reject_rbl_client blackholes.mail-abuse.org
reject_rbl_client list.dsbl.org
reject_rbl_client sbl.spamhaus.org
reject_rbl_client cbl.abuseat.org
reject_rbl_client dul.dnsbl.sorbs.net

Una vez hecho esto creas la lista de tus dominios que quieres bloquear en : regexp:/etc/postfix/dominios_bloqueados de la siguiente manera:

/@spam\.com$/ 521
/@otrodominio\.com$/ 521
/@otrootro\.com$/ 521

NOTA: los códigos de el MTA los puedes consultar AQUI

Si no queremos bloquear el dominio completo, cambiamos "regexp:"  por "hash" y el archivo de la siguiente forma:

comochingo@spam.com 521
ventas@spam.com 521
premios@spam.com 521

Ya terminado las configuraciones  creamos un archivo entendible para el MTA a partir de nuestra lista con el comando

postmap /etc/postfix/dominios_bloqueados

después de esto recargamos nuestro POSTFIX  para que funcione con la nueva configuración:

/etc/init.d/postfix reload

Esto te ayudará bastante en la administración de tu servidor de correo.

miércoles, 21 de mayo de 2014

Mostrar conversaciones de whatsapp en HTML

Anteriormente les comentaba como desencriptar los respaldos automáticos de Whatsapp : http://villatux.blogspot.mx/2013/04/analisis-forence-whatsapp-cracking.html


Ahora les pongo a disposición este script para mostrar en tu webserver las converzaciones de Whatsapp (Previamente desencriptadas) y se vean como en la siguiente imagen:



Script:
s

PD. Disculpen que les ponga el código en imagen, pero blogger no me permitió poner parte de el en este post.

martes, 20 de mayo de 2014

Compartir red / internet a partir de Cable de red en Ubuntu


LAN a Wifi




Anteriormente les comentaba como compartir red/internet  de  Wifi -> LAN  en el post: http://villatux.blogspot.mx/2014/02/compartir-red-internet-partir-de-wifi.html


Ahora les comento la forma inversa de hacer esto,  o sea de LAN -> Wifi


esto se hace buscando las opciones de red:


Nos saldrá la siguiente pantalla, y habilitamos la red inalambrica:
  


Damos clic en "Usar como hotspot"  :


Confirmamos la activación:


Y finalmente nos arrojará el nombre de la red (SSID)  y contraseña para conectarte rapidamente:



NOTA:   Es opcional hacer una configuración para cambiar el modo de cifrado, SSID y otros parametros personalizados.