martes, 3 de septiembre de 2013

Gnu-PGP y los secretos masónicos



Se especula que hay una selta secreta que pretendo cogerse el mundo. Uno de estos miembros decidio que su correo no debia ser leido por ahi o que sus email no se usarian para ingeneria social o que a nadie le interesa lo que se habla con su novia, entonces se inventó GPG (vea la verdadera historia aquí)

El principio es sencillo:

1- Crear un clave PGP.
2- Manda una clave publica a alguien.
3- Ese alguien te lo cifra con TU clave pública.
4- tu lo desifras con tu password.

Primero lo primero. Crear una Clave personal, la tuya la que no tiene nadie. Eso lo hacemos generando un "par de claves" par porque son dos, la perosnal y la publica pero se genera travez de una.

$ gpg --gen-key

Ahi comenzará un poroceso donde se genera la clave. Si pretende planear como hacer caer la unión sovietica por correo le recomiendo que se haga de un pasword bien pinguo.

echo! Clave creada para la dirección frater@gran_logia.org

Ahora probemos cifrar algo, un buen fichero de texto por ejemplo. Cogemos un fichero y le corremos este comando:

$ gpg --armor -r frater -o monografia.asc -e malvado_plan_B.txt

Ahora la explicación de los parametros:

"--armor" genera una forma llamada "ASCII amored data" o armadura ASCII lista para pasra por el correo. Claro esto es un chapusería porque lleva toda una información MIME que diga que es un correo cifrado en GPG pero bueno para que comprenda el principio.

Ahora bien, en este caso usamos nuestra propia clave publica pero si fueramos escribirle a:

complice@logia.pais_victima.org

Necesitamos la clave pública DE ÉL no la de nosotros. Le recuerdo que nosotros recibimos mensajes encriptados con nuestra propia clave publica. Veamos como sería este negocio...

Le mandamos nuestra clave publica a nuestro complice, Lo hacemos asi:

$ gpg --export --armor -o clave_publica.asc

Muy importante el parametro "--armor" sin la armadura ASCII solo mandariamos un chorro de mierda binaria buena para nada a nivel de correo pero muy util a nivel de archivo.

Ahora aparecera el fichero clave_publica.asc y este es la clave publica que le mandamos al cómplice.

Él ALLÁ correra el comando:

$ gpg --import clave_publica.asc

y agregara nuestra clave a su deposito de claves. Ahora esta listo para crear un cifrado que ni el podrá ver; solo su creador (tu) con la clave

Entonces Él ALLÁ corre.

$ gpg --armor -r frater -o monografia.asc -e malvado_plan_B.txt

y el fichero monografia.asc estara listo para ser enviado cifrado con nuestra clave para que solo tu lo puedas ver. Entonces el borra el fichero malvado_plan-B.txt con metodo Gudman de 7 pases y te envia el cifrado.

del lado de ACA lo decifras con el comando:

$ gpg -o planes.txt -d monografia.asc

Y te pedirá TU password de TU clave. Complicado verdad :-(

PERO BUENO!!

Mutt te hace la vida MUY facil, veamos como se comporta Mutt y sus habilidades especiales. Yo uso el 1.5.20 que es la version mas estable hasta el momento que escribo esto.

En el .muttrc pondremos lo siguiente.

set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f"
set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f"
set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f"
set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
set pgp_encrypt_only_command="gpg --output - --armor -r %r -e %f"
set pgp_encrypt_sign_command="gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -r %r -- %f"
set pgp_import_command="gpg --no-verbose --import -v %f"
set pgp_export_command="gpg --no-verbose --export --armor %r"
set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r"
set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r"
set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r"
set pgp_autosign=yes
#OJO en este liena de abajo
set pgp_sign_as=frater
set pgp_replyencrypt=yes
set pgp_timeout=1800
set pgp_good_sign="^gpg: Good signature from"

Preste atención a la 4ta linea de abajo hacia arriba, dice:

set pgp_sign_as=frater

Ahí sustituya "frater" por su nombre de clave o mejor por la ID. Para averiguar la ID liste sus claves.

$ gpg -k

y tendrá algo como esto:

    pub   1024D/DE1A6CA5 2010-05-28
    uid                  chicho <frater@gran_logia.org>
    sub   2048g/0C914E56 2010-05-28

En este caso su clave es la "pub" DE1A6CA5

Ahora Mutt esta listo para convertirce en la herramienta definitiva para su consiparicion de conquista mundial. Mandele su clave publica a sus amigos iluminatis, esto lo hace en la pantalla principal de Mutt
presionando la combinaciond e teclas Escape + "k"

Enonces recivira el "input" donde pone la direccion de su complice y el asunto:

"oigan todos... le mando mi clave a mi complice"

ya que el asunto NO se encripta; así que usa uno menos explícito...

Pero nos surge la duda..

-Como encripto?

Bueno eso ya viene siendo mas complicado. Primero le pide su clave publica a su amigo el complice y cuando la tenga ya mutt sabra que hacer con ella. Veamos un ejemplo.

Cuando su amigo mande su clave publica mutt le dara la opcion de "importarla". Usted la importa y luego compone un mesaje NORMAL. Luego de poner todo sus secretos mas intimos y los tarros que le pega a
su novia salva el texto y cierra el editor. Al romperse la tuberia caerá en la pantalla de mutt done le dice presione "y" para enviar, NO la presione.

Ahi usted presiona "k" y le dara varais opciones. Una de ellas es la "e" de Encrypt. Si todo esta bien Mutt detecta la clave publica con la dirección de su complice que conincide con la direccion del destino del mensaje y BUN! cifrado para el cómplice.

Eso es la firma PGP. Esta se usa como un sello de lacre para la autenticidad y NO encrypta el mensaje. Para ello en la pantalla donde presiono "k" en vez de presionar luego la "e" solo presione la "s" de Sign y generara la firma de autenticidad anidada al correo.

Ahora también está de moda, que la clave sea en el cuerpo del mensaje, ya sea la firma o la propia clave. lugar de ser un adjunto, sea parte del cuerpo. Los clientes de correos lo procesan pero mutt parece quedarse loco.

Para cifrar en lina y procesar correos cifrados en linea, podemos usar esto:


set pgp_replyinline=yes
set pgp_autoinline=yes

No obstante, decifrar inline sigue siendo una jodienda. Si vez la documentación oficial, es todo una brujería con procmail, pero es más simple esto:

message-hook '!~g !~G ~b "^-----BEGIN PGP (SIGNED )?MESSAGE"' 'exec check-traditional-pgp'

Simple verdad? un ganchito... Otra cosa, quizas quieras agregar un encabezado para decirles a todos donde est;a tu firma:

set my_header="X-PGP-Key:h ttp://tuserver/~usuario/clave.asc"

Claro! Evolution lo hace todo solo y Thunderbird tiene un plugin.

2 comentarios:

  1. https://addons.mozilla.org/es/thunderbird/addon/enigmail/

    ResponderEliminar
  2. bueno vuelvo a escribir por aca ya que en el enlace de usemoslinux parece que me borraron mi comentario y no se cual fue el motivo mi pregunta era el siguiente:

    desde hace tiempo estoy buscando la manera de descifrar archivos adjuntos desde mutt por ejemplo me envian una imagen o cualquier archivo este llega como foo.jpg.gpg ok, entonces ingreso al email meto mi contraseña gpg el mensaje se descifra luego presiono la letra v y ahi me aparece la imgaen adjunta foo.jpg.gpg pero al darle enter pues me sale este mensaje: No hay una entrada correspondiente en el archivo mailcap. Viendo como texto. cuando es una imagen sin cifrar si abre de forma normal con mi visor de imagenes. mi configuracion es esta:

    set pgp_sign_as = 0xXXXXXXXX
    set pgp_timeout = 3600
    set crypt_replysign
    set crypt_verify_sig = yes
    set crypt_autopgp = yes
    set pgp_auto_decode = yes
    set pgp_sign_command="gpg --clearsign"
    set pgp_replyinline=yes
    set pgp_autoinline=yes

    message-hook '!(~g|~G) ~b" ^-----BEGIN\ PGP\ (SIGNED\ )?MESSAGE"' "exec check-traditional-pgp"


    adicional a esto tengo en ~/.mutt el fichero gpg.rc no se si sepas como hacer esto ya que es un poco tedioso estar descargando el archivo adjunto al computador y descifrarlo de forma manual. saludos!

    ResponderEliminar

Si vas a decir groserias, aclara el significado para los que no somos de tu mismo país.