Utilizar GPG desde consola

—–BEGIN PGP SIGNED MESSAGE—–
Hash: SHA1

¡Hola a todos! un tutorial para usar gpg desde consola.

Importando las llaves

Suponiendo que queremos descargar la clave privada desde un servidor ftp donde la tenemos guardada, lo haríamos asi:

$ wget ftp://USUARIO:CONTRASENA@ftp.google.com/pedro_private.asc

Listo, ahora tenemos nuestra clave privada en el current working directory. Es bastante importante que ejecutemos

$ history -c

para eliminar la contraseña del history de bash. Procedemos a importar la clave privada.

$ gpg --import pedro_private.asc
gpg: key EC5D3913: "droope <pedro@worcel.com>" not changed
gpg: key EC5D3913: already in secret keyring
gpg: Total number processed: 2
gpg:              unchanged: 1
gpg:       secret keys read: 1
gpg:  secret keys unchanged: 1

En mi caso ya la tenía importada por lo que no pasó nada. Después necesitamos importar la llave pública de nuestro receptor. El procedimiento es el mismo. Si no tenemos su llave, podemos intentar buscarla con –search-keys

$ gpg --import bob_public.asc
$ gpg --search-keys "bob perez"

Encriptando un mensaje

Para encriptar y firmar un mensaje, el comando básico es

$ gpg -sea -r bob

You need a passphrase to unlock the secret key for
user: "droope <pedro@worcel.com>"
1024-bit DSA key, ID EC5D3913, created 2010-06-29

Enter passphrase:

el parámetro -r indica el receptor, Podemos usar su nombre, su apellido, su email, o el ID de su llave supongo. -s es para firmar, -e es para encriptar y -a es para que el texto aparezca en ascii y no en binario. ( I think, aunque -a viene de armor y no de ascii )

Escribimos la contraseña y comenzamos a escribir un mensaje. Es un poco incómodo para empezar, porque no podemos navegar el texto excepto con el backspace, y no podemos subir las líneas ni nada por el estilo. Una vez terminada la edición del texto presionamos Ctrl + D una o dos veces para terminar la edición. Esto es estandar en bash, no recuerdo exactamente, pero creo que es la forma estandar de insertar un caracter EOF ( end of file ). Sirve también para cuando queremos envíar mails desde consola utilizando el comando `mail`. Vale la pena recordarlo ;) es muy util.

Fácil, eh? Y mucho mas práctico que cualquier cliente de X. El próximo manual mas información sobre como usar un mejor editor a la hora de editar el texto. ( nano ftw ).

Para encriptar un archivo

gpg -sea -r bob archivo.txt

Desencriptar un mensaje

Para desencriptar un mensaje de consola, el comando es

$ gpg -d
# pegamos el texto a desencriptar
- -----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

hQEOA84lsilnu8zVEAQAtD6gz9Ug2CvD1yLpbTrg+3TFRjSyF/mD3sbximxX1hju
v7Kw7UPcVcWMx/jT4ORdlDqzRSVqHnXxOFXm8QSy+aJinxYoEtIGuIqJL/2Pi9KL
Rc5qz2JULX2Ux5I17tDXJCrDBttMBCwpMFcwYZ33KIgikPFpLeWEXzXStzNx9oUD
/Rsjqnlph5EcPHlbMtYH37eqA8DvopCZs4GFFuqcLdbvsJDLJlsgm3WD6WefVHmj
RB8f/BnF1XKQcwApLROSh0SBx5IqtzmL657QlJm0yNwmcW9M31R/xF8G96QnxHud
mvvwYKfT/CTIOJux45FNFDjgW+CkO/scAqzksrdqH7Ty0pUBf8oK0vVT2ndtZVOr
eODDy0i94cdtddE7EeU6+g1/E+V9730gKY23rmDphBXKHdY6dHcoExwWaErpl9Wc
L1QAA9PdR4ELfwFU92lko3VxtvgTLb7Kxme21VXShcfz6NUAB8HHdcNWYz8Oq6Wn
ivjCRYZQvbXXFiCeKBp1b0A2fbxXlLsXd6jLgwqvewOd6fLATCIskw==
=GbH7
- -----END PGP MESSAGE-----
You need a passphrase to unlock the secret key for
user: "droope <pedro@worcel.com>"
1024-bit ELG-E key, ID 67BBCCD5, created 2010-06-29 (main key ID EC5D3913)

Enter passphrase:

Apretamos CTRL + D una o dos veces y aparecerá el texto desencriptado

Si queremos desencriptar un archivo, lo podemos hacer

$ gpg -do archivo_desencriptado archivo_encriptado.txt.asc

Firmar un mensaje en texto claro

Para hacer una firma como la que tiene este post, lo podemos hacer

$ gpg --clearsign

¡Espero que les sea de utilidad!
Un abrazo grande,
Pedro
—–BEGIN PGP SIGNATURE—–
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAk4xTIsACgkQ1LYwDexdORPJAwCgyPie6a19omWPZzCsEmpWz82I
zRUAoKFb0hy/j/keEEZU799mEKeD9wl3
=DNQr
—–END PGP SIGNATURE—–

Compilado de enlaces

¡Hola gente!

Escribo para agregar un compilado de enlaces. Estan muy buenos.

¡Espero que guste!
Un abrazo,
Pedro

Compilado de enlaces

¡Hola gente!

Vengo a compartir con ustedes unos muy buenos enlaces, que espero que disfruten.

Un saludo,
Pedro

Como hackear páginas web ( en serio )

Las webs hoy en día son cada día mas seguras. ¿O no? Como intento demostrar frecuentemente en twitter, tal vez no sea asi.

Nota: Este capitlo es el primero de una serie de — por ahora — dos capitulos. El segundo es un articulo se especializa en identificar potenciales vulnerabilidades, como hackear paginas web (fingerprinting and information gathering).

Hay muchas herramientas hoy en día para encontrar vulnerabilidades en una web. Si una web utiliza una versión vieja de un CMS, cosa que podemos determinar utilizando una herramienta como Wappalizer o WhatWeb (ver el segundo capitulo de la serie), la cuestión es mas sencilla. Es muy importante hoy en día mantener actualizado nuestro software. En caso contrario, un atacante podría buscar en el changelog de nuestro CMS todo lo referente a correcciones de vulnerabilidades en versiones posteriores a la que nosotros tenemos actualmente.

También hay otras herramientas para hackeear webs, pero yo hoy voy a optar por explicar que tipo de vulnerabilidades se pueden encontrar una web de una manera mas “artesanal”. Este artículo no plantea demostrar un tipo de vulnerabilidad nueva, ni pretende ser la demostración de un conocimiento muy avanzado. Simplemente es una explicación básica de algunos tipos de vulnerabilidades que pueden encontrarse en una web y como un atacante explotaría de ellas. Básicamente, se trata de:

  • Inyecciones SQL
  • Cross Site Scripting ( Javascript injection )
  • Local file inclusion / Remote file inclusion

Para todos los ejemplos, usaremos código de Damn Vulnerable Web App. Te podés descargar esta aplicación para practicar los ejemplos que planteo acá. Todos los ejemplos estan hechos con la seguridad en low. Una vez instalado el app, andá a DVWA Security y elegí “low”.

Continue reading

Compilado de enlaces

¡Hola gente!

Les dejo un compilado de enlaces. Espero que lo disfruten, esta muy bueno

¡Espero que les guste!

Un abrazo,
Pedro

Enlaces recomendados programación

¡Hola Gente!

A continuación un listado de artículos sobre programación  que están interesantes:

  • Mongly – Un tutorial que nos enseña lo mas básico de mongoDB de manera rápida y fácil.
  • Como desarrollar para android – Un tutorial paso a paso sobre como desarrollar aplicaciones para android
  • ¿Cuando tráfico puede soportar tu sitio web? – Una guía que nos muestra cuanto tráfico debería poder llegar a soportar nuestra web, dependiendo del tipo de tráfico que tiene.
  • Fallback en mysql – una solución que utiliza exclusivamente mysql para evitar el clásico if(id_exists), update } else {  insert.

¡Espero que les sea de utilidad! Son todos muy interesantes. Recomiendo sobre todo el primero, el tercero y el último.

Un abrazo,
Pedro

Compilado de enlaces

¡Hola gente!

¡Sorpresa! Voy a subir un compilado de enlaces ^^

¡Espero que les sea de utilidad!

Un saludo,
Pedro