Respaldar carpeta de Linux en Google Drive, periódicamente

En este post voy a hacer una guía y mostrar un script para respaldar todo el contenido de una carpeta de Linux y subir la misma a nuestra cuenta de Google Drive.

También voy a mostrar cómo podemos hacer estos respaldos automáticos y periódicos usando cron para ejecutar el archivo cada cierto tiempo y realizar la subida del archivo a Google Drive.

No sé si va contra las políticas de Google (cosa que no creo, ya que estás usando el almacenamiento para cosas personales) así que hazlo bajo tu propio riesgo.

(más…)

Identificar correos electrónicos falsos que hablan sobre hackeos

Seguramente a muchos de nosotros nos han llegado correos que dicen cosas como:

Importante: la direccion [correo] fue hackeada.

O mensajes que:

  • Dicen que nos han grabado con la cámara web
  • Han visto nuestro historial
  • Amenazan con enviar un vídeo nuestro a nuestros contactos

La mayoría de ocasiones estos mensajes son falsos y aunque cosas como esas son totalmente posibles (si no, pregunten a la NSA) ya sea por gobiernos o por hackers especializados, la mayoría de estos mensajes son por gente no tan especializada que solo quiere dinero fácil.

(más…)

Un ransomware para Linux usando GPG

Hoy vamos a ver cómo crear un ransomware programado para Linux (será un shell script) utilizando GPG y el cifrado asimétrico; será más que nada un ejercicio didáctico pero claro que se puede llevar a la práctica (cosa que no recomiendo, en serio),

Si no sabes qué es un ransomware veamos lo que dice la wikipedia:

Un ransomware (del inglés ransom, «rescate», y ware, acortamiento de software) o “secuestro de datos” en español, es un tipo de programa dañino que restringe el acceso a determinadas partes o archivos del sistema operativo infectado, y pide un rescate a cambio de quitar esta restricción.

El ransomware que vamos a programar va a cifrar archivos con nuestra clave pública (que se va a descarga en la PC de la víctima), los cuales solo vamos a descifrar con nuestra clave privada (la cual solo posee el atacante).

Ransomware en Linux

Será un script de bash muy sencillo pero poderoso, con la única dependencia de GPG.

(más…)

Obtener IP de un usuario a través de un correo electrónico

En este post vamos a ver cómo disfrazar un correo electrónico para obtener la IP de un usuario con el simple hecho de que lo abra y vea su contenido, o mejor dicho, una imagen.

Lo que haremos, en pasos sencillos, será enviar una imagen de un perro (no es broma) la cual será servida a través de PHP con readfile. La IP se registrará con el código que vimos aquí.

Este método funciona correctamente en correos de dominio personal (es decir, .com, .me, .io, etcétera) y en hotmail; pero no en gmail, ya veremos por qué.

Recuerda que esto se hace con fines didácticos y que no me hago responsable de lo que se pueda hacer con esto.

(más…)

Obtener IP de usuario con PHP

Obtener la IP de un usuario usando PHP es una tarea muy sencilla, que queda incluso en una línea de código.

En este post vamos a ver cómo obtener y registrar la IP de alguien que entre a una página con PHP, además de razones por las que en ocasiones esto no funciona.

(más…)

Decompilar APK (app de Android) y obtener código fuente (casi) original

Una de las debilidades de Java (y otros lenguajes que compilan a bytecode) es que se puede decompilar o descompilar, como le quieras llamar. O decompile, si hablas inglés.

Hoy vamos a ver un decompilador de aplicaciones de android, es decir, de apps con extensiones APK.

Estuve probando el decompilador y funciona de maravilla, obtiene casi el mismo código que el original.

Para hacer esta demostración y no hacer nada ilegal, voy a usar el CRUD de SQLite con Android cuyo código fuente está aquí, y su APK está aquí.

(más…)

Cifrado asimétrico con GPG en Linux – Tutorial con ejemplos

En un post anterior vimos cómo usar gpg en Linux para cifrar datos, pero utilizamos un cifrado simétrico.

Hoy, en cambio, vamos a cifrar de manera asimétrica usando GPG. Veremos cómo:

  • Generar un par de claves públicas y privadas
  • Exportar la clave pública para que otras personas puedan cifrar archivos con nuestra clave y solo nosotros podamos descifrarlos
  • Importar clave pública de otra persona y cifrar datos con la misma
  • Desencriptar un archivo con nuestra clave privada

Nota: voy a usar la palabra encriptar y cifrar como sinónimos, así como desencriptar y descifrar.

(más…)

Cifrado de datos en MySQL con AES

AES (Advanced encryption standard) es un algoritmo bastante fuerte y seguro, utilizado ampliamente en el mundo de la seguridad informática.

MySQL permite cifrar y descifrar datos utilizando el algoritmo AES a través de las funciones aes_encrypt y aes_decrypt.

Cifrar y descifrar con AES en MySQL

De esta manera podemos proteger y asegurar datos utilizando AES.

En este post vamos a ver cómo cifrar y descifrar datos con AES en MySQL.

(más…)

Contraseña incorrecta con MySQL en Linux al entrar como root – Error 1698 (280000)

Hay un error (si se le puede llamar así) muy común en Linux, y es que al iniciar en MySQL con el usuario root se deniega el acceso aunque la contraseña esté bien.

Es decir, aunque las credenciales sean correctas, Linux no permite que entremos como usuario root en MySQL. Normalmente emite el siguiente error:

Error 1698 (280000): Access denied for user ‘root’@’localhost’

La razón es simple: no se permiten conexiones a MySQL como usuario root, pero en este post veremos cómo podemos solucionar eso de dos maneras.

(más…)

Formatear unidad a bajo nivel con dd y /dev/zero en Linux Ubuntu

En este post vamos a ver cómo eliminar el contenido de una unidad de disco (puede ser una memoria USB, una partición o un disco duro completo) llenándolo de ceros.

La operación que vamos a realizar también se conoce como eliminado seguro, pues elimina todo el contenido de una unidad y la llena de ceros.

Para esto vamos a copiar datos del dispositivo especial llamado /dev/zero usando el comando dd.

Esto es distinto a simplemente formatear, pues vamos a “formatear a bajo nivel” llenando la unidad de ceros, formateando de forma segura.

(más…)

Testdisk: Recuperar archivos eliminados en Linux Ubuntu

Anteriormente vimos cómo trabajar con photorec para recuperar archivos en Linux. Ahora vamos a ver cómo hacer lo mismo pero con testdisk.

La diferencia entre testdisk y photorec es que testdisk muestra y recupera archivos eliminados elegidos por nosotros.

En cambio, photorec recupera todos los archivos, incluso si no queremos recuperarlos.

Resumiendo: testdisk permite recuperar archivos específicos, seleccionados por nosotros. Photorec recupera todos, y tarda más.

(más…)