Hardening AES256 – CrypText

Castellano.

Últimamente no he escrito mucho, he estado ocupado con otros proyectos, ahora llega el momento de fusionar ambos.

Estoy desarrollando una aplicación de cifrado seudo-paranoico. Se basa en el estándar AES256 al cual le añadimos dos capas para evitar algunos ataques.

El programa esta totalmente escrito en Haskell ayudándome de su entorno de desarrollo Stack y se encuentra en Alpha 0.1.3. Ya estoy implementando la ultima capa de cifrado simétrico.

Hasta la versión 1 estará solo disponible para cifrado de texto con clave de 512 bites o superior y orientado, a poder usarse en cualquier red social, servicio de mensajería o email. También cifrara mediante curvas elípticas para el envío de claves.

Los paquetes que estoy desarrollando están orientados a poderse usar también para el cifrado de archivos ya que están diseñadas para ByteString, pero esto no sera hasta la versión 2.

En versiones posteriores también se podría implementar un servicio de mensajería basado en el anonimato, una vez que añada conexión a base de datos. Quizá en la version 3

La aplicación se llama CrypText y se encuentra alojada en mi repositorio GitLab. Y se distribuye bajo licencia BSD 3-clause traducido al castellano Licencia Publica de Libre Uso.

Aquellos que queráis colaborar, probarla o trastear estáis invitados.

English.

Lately I have not written much, I’ve been busy with other projects, now it’s time to merge both.
I am developing a pseudo-paranoid encryption application. It is based on the AES256 standard to which we add two layers to avoid some attacks.


The program is completely written in Haskell, helping me with its Stack development environment and it is in Alpha 0.1.3. I am already implementing the last layer of symmetric encryption.


Until version 1 will only be available for text encryption with a 512-bit key or higher and oriented, to be used in any social network, messaging service or email. It will also encrypt using elliptical curves for sending keys.


The packages that I am developing are oriented to be able to be used also for the encryption of files since they are designed for ByteString, but this will not be until the version 2.


In later versions you could also implement a messaging service based on anonymity, once you add a database connection. Maybe in version 3.


The application is called CrypText and is hosted in my repository GitLab. It is distributed under a BSD 3-clause license.


Those who want to collaborate, test or …. are invited.

Seguridad en WordPress (I)

Empiezo esta nueva serie de capítulos con el objetivo de mostraros como hacer vuestro WordPerfet menos vulnerable a ataques externos.

Empezaremos con algunos conceptos muy simples e iremos configurando nuestro entorno para hacerlo más seguro. El nivel de las entradas no sera complicado, con el fin de que todos podamos entenderlo fácilmente.

En esta primera entrada instalaremos un plugin o complemento gratuito que nos ayudar a hacer menos vulnerable nuestro blog, pagina web,…
En posteriores entradas varemos como configurarlo.

1. Instalación del Plugin.

Los que no queráis añadirlo os diré en cada apartado configuraciones alternativas a las del plugin.

Elegiremos en el panel de control: Plugins

1. Elige la opción de Pligins.

Elige Añadir nuevo.

2. Añadir nuevo
  • Escribe en el buscador: All in one WP.
  • Elige instalar ahora en All In One WP Security & Firewall.
  • Elegimos activar el plugin o complemento.
2.3.4. All In One WP Security & Firewall.

Nos debe quedar así.

En la entrada siguiente empezaremos a configurar el pluging explicando que es lo que hacer y porqué lo hace.

BlackArch Linux Penetration Testing Distribution

Os muestro un vídeo sobre BlackArch Linux, una distro basada en Arch Linux y que esta orientada al la seguridad informática.

 

 

Para los usuarios de Arch tenéis la posibilidad de añadir los repositorios de BlackArch y así acceder a todo su software incluso tenemos el repositorio del código fuente en github y podéis compilar las aplicaciones. También se puede instalar en disco o en un USBLIve

Pagina del proyecto/Distro : https://blackarch.org

Para su instalación Instalar BlackArch.

Repositorio en GitHub: GitHub de BlackArch.

BlackArch Linux  Penetration Testing Distribution
BlackArch Linux Penetration Testing Distribution

Visual Studio Code para Haskell – (Arch Linux)

Hoy muestro uno de los mejores editores para programar en haskell que he probado.

Es un viejo conocido que recientemente libero Microsorft. Visual Studio Code.

Como soy usuario de Antergos Linux,  os mostrare la instalación de este editor y de su extensión para haskell, en distribuciones basadas en Arch Linux.

Os dejo un vídeo para que os animéis a instalarlo, es muy sencillo y rápido. para los que uséis otro lenguaje de programación como Pythom el procedimiento es el mismo.

Para los que tengáis otras distros o S.O. os aconsejo utilizar Visual Studio Code para haskell.

 

Enlace de VSC.

Visual Studio Code

Enlace de Antergos Linux.

Antergos Linux

Podcasting – Podcast

El podcasting o podcast consiste en la distribución de archivos multimedia (normalmente audio o vídeo que suelen ser de larga duración, que pueden incluir texto como subtítulos y notas) mediante un sistema de redifusión (RSS) que permite opcionalmente suscribirse y usar un programa que lo descarga para que el usuario lo escuche. (wikipedia)

Es una alternativa a la radio convencional, sobre todo en  temas que comercialmente no atraen a las grandes emisoras. En nuestro caso, el software libre, linux,.. prácticamente no es difundido por emisoras convencionales. Ademas muchos podcast no están sujetos a la censura institucional, espesando conocimientos y opiniones de una forma más libre
Existen muchos programas que nos permitirán automatizar las suscripciones y así poder escuchar a nuestros podcaster favoritos según añadan contenido. A continuación mostraré algunos programas para escuchar podcast. Y en sucesivas entradas haré referencia a alguno de mis podcaster favoritos.

Programas (Linux)

gPodder (https://gpodder.net/ )

Se instala desde el repositorio de la mayoría de distribuciones. Y te permite bajar los audios a tu pc para escucharlos posteriormente.

Programas para el Teléfono.

Las aplicaciones son similares y muy fáciles de utilizar. Nos permiten gestionar nuestros Podcast/Podcaster favoritos, la segunda y tercera ademas de la versión gratuita tienen una premium con más funciones.

Google Podcast
Pertenece a Google es gratuito y se integra perfectamente en  Android.

 

iVoox
Valido para iPhone y Android, tiene una suscripción premium con mayor calidad de audio.

 

CastBox
Similar a iVoox y también tiene suscripción premium si se desea.

Programas para el Navegador.

Tanto iVoox (https://www.ivoox.com/) como CastBox (https://castbox.fm/) tienen versión para tu navegador desde su página web.

También muchos podcast tienen su propia página desde la que podréis descargaros sus archivos en distintas calidades de audio.

 

Bibliografia.

https://es.wikipedia.org/wiki/Podcasting

Cifrado simétrico con GnuPG (Linux)

Esta entrada es para la consola de Linux  Empezaremos viendo que es GnuPG y como se utiliza gpg para cifrar de forma simétrica. Crearemos scripts a modo de ejemplo

GnuPG

GNU Privacy Guard (GnuPG o GPG) es una herramienta de cifrado y firmas digitales desarrollado por Werner Koch, que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza el estándar del IETF denominado OpenPGP. (Wiki)

Es un software utilizado para encriptación asimétrica , muy útil para enviar correo cifrado, y para firmar documentos. Desde la consola lo utilizaremos mediante el comando gpg. Presente en casi todas las distribuciones de Linux. Aconsejo usar el repositorio de tu distro si aún no lo tienes.

Cuando trabajamos con encriptación simétrica, una clave muy débil invalida la fortaleza de cualquier algoritmo. Aconsejo mirar anterior entrada Encriptacion Simetrica

Para entornos gráfico recomiendo Kleopatra, buena donde las haya esta aplicación.

¿Que algoritmos puedo usar?

Para ver con que algoritmos contamos en nuestro PC escribamos en la consola:

gpg –version


gpg (GnuPG) 2.2.10
libgcrypt 1.8.3
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html&gt;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/nukebull/.gnupg
Algoritmos disponibles:
Clave pública: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cifrado: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, 
CAMELLIA128, CAMELLIA192, CAMELLIA256
Resumen: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compresión: Sin comprimir, ZIP, ZLIB, BZIP2


Después de Cifrado, muestra todos los algoritmos que pode,os utilizar. IDEA,3DES,…,CAMELIA256

Como encriptar de forma simetrica usando gpg

Cifraremos el archivo ArchivoDeEntrada usando el algoritmo twofish y obtendremos el archivo cifrado ArchivoDeSalida

gpg -o ArchivoDeSalida -ca –cipher-algo twofish ArchivoDeEntrada

  • -o Crea el Archivo de salida
  • -c cifra de forma simétrica
  • -d descifra
  • -a Armadura ASCII (no es necesario, solo si se desea)
  • –cipher-algo elije el algoritmo de cifrado, en el ejemplo twofish (si no se pone elige AES256 por defecto, para la versión actual de gpg)

Crear varias capas usando un script de Bash

Supongamos que tenemos El archivo Datos.txt y lo tenemos que subir a Dropbox para la consulta con otras personas.

Lo cifraremos para que no sea de dominio publico. Y también usaremos vtres capas, con distintos algoritmos, por si un de ellos fuese roto en el futuro, no tener los datos expuestos.

Primer script, se encarga de encriptar(en mi caso lo he llamado cripto, y le doy permisos con chmod +x cripto)

En mi caso para ejecutarlo ./cripto

 


#!/bin/bash

#Vicente Parra
#www.nukebull.com
# Encriptador por capas camellia256 + twofish + AES256 + ARMOR ASCII

# Encriptac. gpg simetrica

gpg -o Datos.cam -c –cipher-algo camellia256 Datos.txt
echo “camellia256”

gpg -o Datos.two -c –cipher-algo twofish Datos.cam
echo “camellia256 + twofish”

# borra los fichero intermedio  si se desea omitir comentar la siguiente linea
rm Datos.cam

gpg -o DatosDropBox -ca –cipher-algo aes256 Datos.two
echo “camellia256 + twofish +AES256+ARMOR ASCII”

# borra los fichero intermedio , si se desea omitir comentar la siguiente linea
rm Datos.two


 

Segundo script, se encarga de desencriptar(en mi caso lo he llamado decripto, y le doy permisos con chmod +x decripto)

Para ejecutarlo ./decripto

 


#!/bin/bash

#Vicente Parra
#www.nukebull.com
# DesEncriptador por capas camellia256 + twofish + AES256 + ARMOR ASCII

# Encriptac. gpg simetrica (desencriptar)

gpg -o Datos.uno -d DatosDropBox
echo “AES256”

gpg -o Datos.dos -d Datos.uno
echo “twofish+ AES256”

# borra los fichero intermedio one si se desea omitir comentar la siguiente linea
rm Datos.uno

gpg -o DatosCliente.txt -d Datos.dos
echo “camellia256 + twofish +AES256+ARMOR ASCII”

# borra los fichero intermedio two, si se desea omitir comentar la siguiente linea
rm Datos.dos


La contraseña dentro del script

En el siguiente ejemplo la password no nos la pide, va dentro del script para veáis como se utiliza, es necesario poner –batch para que funcione en mi versión de gpg

 


#!/bin/bash

#Vicente Parra
#www.nukebull.com
# Encriptador por capas camellia256 + twofish + AES256 + ARMOR ASCII

#Variables-Password
p1=”218e13a205e802f2c”
p2=”9945e6fae4bacbbb0″
p3=”265e779f40fcbfbcd”

# Encriptac. gpg simetrica

gpg –batch -o Datos.cam -c –cipher-algo camellia256 –passphrase $p1 Datos.txt
echo “camellia256”

gpg –batch -o Datos.two -c –cipher-algo twofish –passphrase $p2 Datos.cam
echo “camellia256 + twofish”

# borra los fichero intermedio one si se desea omitir comentar la siguiente linea
rm Datos.cam

gpg –batch -o DatosDropBox -ca –cipher-algo aes256 –passphrase $p3 Datos.two
echo “camellia256 + twofish +AES256+ARMOR ASCII”

# borra los fichero intermedio two, si se desea omitir comentar la siguiente linea
rm Datos.two


Bibliografía para ampliar.

Enlace muy interesante que amplia conocimientos >> Enlace

Página del proyecto https://gnupg.org/

Doña wiki >>  Enlace Wiki

Jugar en Linux CSGO

Steam permite jugar cada día a más juegos en Linux mediante visualización. No todos están soportados y al no funcionar de forma nativa te hace perder rendimiento. El rendimiento final va depender sobre todo del hardware de tu pc.

En lo sucesivo probaré varios juego, que iré mostrando en sucesivas entradas, para que veáis su funcionamiento.

Mi equipo es:

  • AMD Athlon(tm) X4 860K (2 nucleos – 4 hilos)
  • MSI AMD Radeon R9 280 3Gb
  • Ram 8Gb DDR3
  • Resolución de pantalla 1080p
  • Sistema operativo Antergos (basado en Arch Linux)
  • Los juegos corren mediante Steam (Runtime), versión virtualizada de Steam.

El primero que mostraré es un clásico de Valve, quizá uno de los más odiados y amados.

CSGO. (Jugado sin capturar pantalla 60 fps 1080p)

Para cualquier consulta, dejadme un comentario.