Mostrando entradas con la etiqueta encriptado. Mostrar todas las entradas
Mostrando entradas con la etiqueta encriptado. Mostrar todas las entradas

miércoles, 2 de diciembre de 2015

GPG (GnuPG): Cifrado simétrico sobre Linux







Hoy en día el cifrado de las comunicaciones en el ámbito empresarial es de vital importancia ya que cualquiera con pocos conocimientos podría estar a la escucha de nuestras comunicaciones y estar leyendo o captando todas nuestras comunicaciones. El cifrado GPG nos permitirá que aunque se capten estas comunicaciones solo el destinatario o alguien con la clave ( cifrado simétrico) pueda mostrar el contenido de las comunicaciones en definitiva es un poner una capa más de seguridad en nuestras comunicaciones que muchas veces contienen información sensible ( datos bancarios, identidades, etc..).

GPG o GnuPG es un herramienta de cifrado con soporte simétrico y asimétrico que viene a ser un reemplazo a PGP. Lo usos que le podemos dar GPG son mediante el terminal o aplicaciones gráficas pero también es aplicable para cifrar emails mediante pluggins en navegadores y gestores de correo. GPG viene implementado en múltiples sistemas como OpenBSD, GNU/Linux, etc.


Su funcionamiento es sencillo:



GPG cifra los mensajes usando pares de claves individuales asimétricas generadas por los usuarios. Las claves públicas pueden ser compartidas con otros usuarios de muchas maneras, un ejemplo de ello es depositándolas en los servidores de claves. Siempre deben ser compartidas cuidadosamente para prevenir falsas identidades por la corrupción de las claves públicas. También es posible añadir una firma digital criptográfica a un mensaje, de esta manera la totalidad del mensaje y el remitente pueden ser verificados en caso de que se desconfíe de una correspondencia en particular.
GnuPG también soporta algoritmos de cifrado simétricos, por ejemplo CASTS.
GPG no usa algoritmos de software que están restringidos por patentes, entre estos se encuentra el algoritmo de cifrado IDEA que está presente en PGP casi desde sus inicios. En su lugar usa una serie de algoritmos no patentados como ElGamal, CAST5, Triple DES (3DES), AES y Blowfish. También es posible usar IDEA en GPG descargando un plugin extra, sin embargo este puede requerir una licencia para usuarios de algunos países en donde esté patentada IDEA.
GPG es un software de cifrado híbrido que usa una combinación convencional de criptografía de claves simétricas para la rapidez y criptografía de claves públicas para el fácil compartimiento de claves seguras, típicamente usando recipientes de claves públicas para cifrar una clave de sesión que es usada una vez. Este modo de operación es parte del estándar OpenPGP y ha sido parte del PGP desde su primera versión.



Y después de un poco de teoría una practica simple de cifrado simétrico con GPG sobre Kali Linux, como dato importante los datos cifrados simetricamente son atacables mediante fuerza bruta, conviene introducir una contraseña alfanumérica robusta.

Lo primero que haremos es crear el fichero con su texto y comprobamos que se puede leer el texto creado mediante la orden cat:

echo "texto cifrado" > texto_cifrado.txt
cat texto_cifrado.txt

Ahora procedemos a hacer un cifrado simétrico nos pedirá que le asignemos una única contraseña y se nos genera un txt que sera texto_cifrado.txt.gpg y comprobamos que no se puede leer como antes medienate la orden cat:

gpg -c texto_cifrado.txt
cat texto_cifrado.txt.gpg

Por último desciframos el mensaje cifrado simétricamente mediante la contraseña anteriormente asignada:

gpg -d texto_cifrado.txt.gpg 

Como dato final hacemos lo mismo con una contraseña mal puesta y comprobamos que no se descifra. En la siguiente imagen esta descrito todo el proceso.





Como dato final las claves simétricas tienen dos problemas la retransmisión de las claves entre el emisor y receptor. Para solucionar esto se puede organizar sistemas de distribución seguros de claves simétricas. Por otro lado es muy importante la robustez de la contraseña ya que los ataques de fuerza bruta han evolucionado forma increíble usando sistemas de Cloud Computing para descifrar las claves en menos tiempo.


martes, 17 de noviembre de 2015

Securizando nuestras conexiones: Instalando y configurarando OpenVPN









Como IT una parte importante es la seguridad y esta hay que tomársela bastante en serio y para el ámbito empresarial más aún. En el mundo empresarial son muchas las ocasiones en que sus empleados trabajan en remoto fuera de la intranet, ya sea por trabajo a pie de calle, porque  su estructura empresarial no está centralizada en un lugar concreto en definitiva, a la hora de trabajar con sus sistemas y redes se tienen que vale de conexiones remotas que no son ni seguras ni estables y es aquí donde entra VPN.

Una VPN o red privada virtual nos permite tener una conexión estable, segura, fiable e incluso más rápida que otro tipo de conexiones remotas. Este tipo de conexión nos permite trabajar  a través de la WAN como si estuviéramos en la propia LAN y esto lo permite creando un túnel de conexión desde nuestro cliente hasta la red interna permitiendo trabajar al cliente remoto de una manera local y segura.





Para poner en práctica todo esto nos vamos a valer de un servidor Debian  y de OpenVPN. Antes de empezar la instalación recomiendo que visitéis los enlaces puestos a lo largo de la entrada y que os empapéis bien de los conocimientos previos, también es recomendable la web de OpenVPN que está en perfecto inglés como se ha de esperar. Vuelvo a repetir OpenVPN no es una instalación sencilla, requiere de conocimientos previos para poder llevar a cabo su correcta instalación, configuración y puesta en marcha.

1.- Instalación: Actualizamos el sistema e instalamos OpenVPN.

sudo apt-get update
sudo apt-get install openvpn

2.- Configuración: Comenzamos con la configuración de ficheros y generación de certificados necesarios.

Copiamos ficheros:

cp –r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa

Nos movemos al directorio easy-rsa:

cd /etc/openvpn/easy-rsa

Editamos el fichero vars:

vim /etc/openvpn/easy-rsa/vars

Dejamos esta línea así:

export KEY_SIZE=2048

Ponemos los valores siguientes:

export KEY_COUNTRY="ES"
export KEY_PROVINCE="SE"
export KEY_CITY="Seville"
export KEY_ORG="TEST"
export KEY_EMAIL="mail.mydomain"
export KEY_EMAIL="mail@host.domain
export KEY_CN=changeme
export KEY_NAME=changeme
export KEY_OU=changeme
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234

Generamos los certificados dentro del directorio easy-rsa, esto puede variar en el tiempo de exportación en función del tamaño del key:

source ./vars
./clean-all

./build-ca

Generamos el certificado del server:

./build-key-server saw

Ahora generamos el certificado del cliente:

./build-key

Generamos la clave HMAC:

openvpn --genkey --secret ta.key
cp ta.key keys

cp -r easy-rsa/keys/ .

Modificamos la configuración VPN para poner el servidor en funcionamiento:

vim /etc/openvpn/server.conf

Dejamos el archivo como aparece a continuación:

port 1194
proto tcp
dev tun

#Nuevos certificados
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/saw.crt
key /etc/openvpn/keys/saw.key
dh /etc/openvpn/keys/dh2048.pem
tls-auth /etc/openvpn/keys/ta.key 0

#rangos de direcciones
server 192.168.1.50 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"

#DNS 
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

client-to-client
keepalive 10 120

cipher AES-256-CBC # Triple-DES
comp-lzo

max-clients 5

user nobody
group nogroup
tcp-nodelay
persist-key
persist-tun

log /var/log/openvpn.log
status /var/log/openvpn-status.log

verb 3
mute 20
#client-config-dir ccd

Habilitamos el bit de forwarding:

echo 1 > /proc/sys/net/ipv4/ip_forward

Eliminamos decomentamos la linea "net.ipv4.ip_forward=1"en el fichero "/etc/sysctl.conf":

vim /etc/syscrl.conf

Cargamos el módulo tun:

modprobe tun

Después de esto habilitamos el servicio y lo arrancamos:

/etc/init.d/openvpn start

Añadimos la siguiente línea de comando para iptables:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s "192.168.88.0/24" -j ACCEPT
iptables -A FORWARD -j REJECT

iptables -t nat -A POSTROUTING -s "192.168.1.0/24" -j MASQUERADE

Finalmente guardar las reglas:

iptables-save


Finalmente vuelvo a recordar que para montar un servidor de este tipo debemos de tener unos conocimientos previos, esta guía es una mera muestra de como montarlo. Para llevarlo a acabo se deben tener conocimientos preestablecidos sobre redes, sistemas operativos, VPN y OpenVPN.



viernes, 8 de mayo de 2015

Crypt0L0cker: La nueva variante de Cryptolocker, una ruina para las empresas y clientes.







Muchos usuarios, clientes han sido los afectados por el primero y sus variantes de este y anteriores versiones y es por esto que voy a hablar un poco sobre él al ser un motivo constante el ver lo mismo semana si semana no. Cryptolocker no es mas que un malware que se encarga de cifrar todos los documentos a los que tiene acceso a tu ordenador esto incluye, recursos en red, servidores a los que tiene acceso e incluso tus backups o almacenamiento en la nube. Este se propaga a través de correo electrónico normalmente.

Pero antes de seguir si lees esto y no has sido afectado lo primero de todo es que tomes medidas antes de la catástrofe como indican en forospyware.



Consejos para evitar CryptoLocker
  • Extremar las precauciones ante emails de remitentes no esperados, especialmente para aquellos que incluyen ficheros adjuntos o con enlaces externos.
  • Desactivar la política de Windows que oculta las extensiones conocidas también ayudará a reconocer un ataque de este tipo.
  • Es muy importante tener un sistema de backup de nuestros ficheros críticos, lo que nos garantiza que no solo en caso de infección podamos mitigar el daño causado por el malware, sino que también nos cubrimos ante problemas del hardware.
  • Si no tenemos un backup y nos hemos infectado, no recomendamos el pago del rescate. Esta nunca debería ser la solución para recuperar nuestros ficheros, ya que convierte este malware en un modelo de negocio rentable, lo que impulsará el crecimiento y la expansión de este tipo de ataque.

En caso de ser afectado por Cryptolocker en alguna de sus variantes ponte en contacto con un profesional IT. Si es realmente un profesional sabrá y te dará soluciones porque en  versiones anteriores a Crypt0L0cker hay soluciones como podéis ver en estos enlaces que os dejo.

http://www.forospyware.com/t491413.html

http://www.forospyware.com/t479932.html

http://foro.elhacker.net/seguridad/restaurar_archivos_cifrados_por_cryptolocker_ransomware-t403519.0.html

http://support.kaspersky.com/viruses/disinfection/2911

https://www.decryptcryptolocker.com/

https://www.osi.es/gl/actualidad/avisos/2013/09/criptolocker-virus-que-cifra-los-ficheros-del-ordenador



Ahora vamos a ver la versión de la que tratamos Crypt0L0cker, esta variante se transmite a través de correo electrónico simulando un email de la empresa española correos. Esto puede variar claro está, tan solo tienen que cambiar el tipo de empresa o motivo e intentarán lo mismo.





Una vez descargas y se ejecutan haciendo clic en los enlaces falsos que pone, se comienza a iniciar el cifrado de todos los documentos, este cifrado afectará a todo lo alcanzable por el sistema es decir recursos de red, sincronizado en la nube, servidores dispositivos de almacenamiento y un largo etc. Una vez se ha iniciado el cifrado recibes un email de contacto por parte del delincuente para realizar el pago del rescate de los ficheros.






Hay que decir que como nos indican en hacker.net esta variante solo tiene 3 opciones aparentes hasta el momento.


Método 1: copias de seguridad

El primer y mejor método para restaurar los datos es una copia de seguridad reciente. Si no tienes backup ¿qué estas esperando para hacerlo?

Método 2: Software de recuperación de archivos

Parece que cuando CTB-Locker cifra un archivo, primero hace una copia del mismo, codifica la copia y luego elimina el original. Debido a este procedimiento se puede usar un software de recuperación de archivos como R-Studio o Photorec para intentar recuperar algunos de los archivos originales. Es importante tener en cuenta que cuanto más se utilice la computadora, más difícil será recuperar los archivos eliminados sin cifrar.

Método 3: Instantáneas de volumen de Windows (Shadow Volume Copies)

Como último recurso, puede tratar de restaurar los archivos a través de las instantáneas de volumen automática de Windows, siempre y cuando las mismas se encuentren activadas en el sistema operativo. Desafortunadamente, el malware intentará eliminar las instantáneas, pero a veces no logra hacerlo y esta copia puede utilizarse para restaurar los archivos.

Una última opción es pagar a los secuestradores cosa que he tenido que realizar lamentablemente en una ocasión en versiones anteriores de cryptolocker por motivos críticos pero que rotundamente desaconsejo y no recomiendo al no tener garantía ninguna ya que estás tratando con un delinqüente. 


Por último te recuerdo que te pongas en contacto con un profesional IT, si es realmente un profesional te dará el consejo adecuado, en estos tiempos que corren hay mucho aficionado. Recuerda, ten fé en los profesionales del sector aún los hay.