Entradas

Mostrando entradas de 2020

En apasionante mundo de la esteganografía

Imagen
En el post de hoy, vamos a hablar sobre la esteganografía. Este es un tema que me gusta mucho por lo que lo tocaremos de vez en cuando en el blog . La palabra esteganografía procede del griego esteganos (oculto) y graphos (escritura). La esteganografía es el estudio y uso de las técnicas mediante las cuales se oculta un mensaje u objecto dentro de otro, de modo que no se perciba su existencia. De esta forma conseguiremos en un canal publico o de múltiple acceso un método de ocultación de mensajes, de modo que la comunicación dentro del canal es oculta e inadvertida para el resto de los observadores. A diferencia de la criptografía, la cual cifra el mensaje para que no se pueda leer sin la clave, la esteganografía solo oculta el mensaje a los observadores. Sin embargo, la criptografía y la esteganografía pueden complementarse, de modo que el nivel de seguridad de la información sea mayor. Esta técnica es casi tan antigua como la escritura, tenemos múltiples referencias a lo lar...

Ethereum 2.0 y su nuevo mecanismo de consenso

Imagen
Hola a todos, en el post de hoy vamos a hablar sobre Ethereum 2.0 y su nuevo mecanismo de consenso, ya que hace poco que ha salido esta nueva versión o génesis de la famosa cadena de bloques Ethereum. En este  post  no vamos a centrarnos en analizar o hablar sobre Ethereum desde una perspectiva de la  criptomoneda  o el futuro de esta cadena de bloques, si no que nos vamos a centrar en su nuevo mecanismo de consenso y en la seguridad de este. El pasado 1 de diciembre del 2020, era anunciado Ethereum2.0 un nacimiento muy enfocado en estabilidad, eficiencia y seguridad de la cadena de bloques. La diferencia entre la versión 1.0 y 2.0 de Ethereum radica en el cambio de mecanismo en cuanto a consenso para añadir nuevos bloques a la cadena de bloques . Mientras que Ethereum 1.0 utiliza un mecanismo de consenso llamado PoW ( Proof of Work ) o prueba de trabajo , en Ethereum 2.0 se utiliza un mecanismo llamado PoS ( Proof os Stake ) o prueba de participación . Bitcoi...

¿Qué son los hashes y las funciones hash?

Imagen
En el post de hoy voy a intentar explicar de una manera fácil de entender qué es una función hash y qué es un hash , de modo que todo el mundo pueda tener los conceptos claros para las pasadas entradas del blog y para las venideras. El termino hash proviene del significado del verbo en ingles chop o de la frase en ingles make a mess , ya que las funciones hash se encargan de cortar y mezclar una entrada para obtener una salida. La persona que acuño este término fue H. Luhn de IBM en el año 1953. Las funciones hash , son funciones unidireccionales, es decir dado una entrada se obtiene una salida, pero no es posible obtener la entrada a partir de la salida. A partir de un mensaje m de tamaño variable, se consigue una representación de tamaño fijo del propio mensaje del tipo h(m) el cual se conoce como resumen o hash . Pero claro no todo en este mundo es perfecto, es por eso por lo que, las funciones unidireccionales serán funciones hash si cumplen que para cualquier resumen o ...

Azure + GPU + Hashcat - Parte 2

Imagen
Hola a todos, este post es la segunda parte de Craking hashes con Azure, GPUs y Hashcat. En la primera parte vimos  como crear la máquina virtual en Azure  con GPU .  Hoy vamos a ver como instalar los drivers de CUDA desde NVIDIA CUDA Toolkit  dentro de una máquina de la serie NV de Azure . Es necesario instalar estos drivers para el correcto funcionamiento de la GPU que contiene la máquina virtual, además de para poder hacer uso de ella en Hashcat . En esta entrada del blog vamos a ver muchos comandos de Linux . El primer comando que veremos hoy es: lspci | grep -i NVIDIA Con este comando comprobaremos que efectivamente el sistema cuenta con una GPU compatible con CUDA . Los siguientes pasos serán descargar e instalar los drivers de CUDA desde la web de NVIDIA . Para ello utilizaremos los siguientes comandos: CUDA_REPO_PKG=cuda-repo-ubuntu1604_10.0.130-1_amd64.deb wget -O /tmp/${CUDA_REPO_PKG} ...

Azure + GPU + Hashcat - Parte 1

Imagen
En este blog vamos a ir un paso más allá con el cracking de hashes con Hashcat . En esta entrada del blog veremos cómo realizar cracking de  hashes  con Hashcat,  pero utilizando GPUs para poder realizar ataques muchos más potentes y rápidos. Como no todo el mundo puede permitirse tener una tarjeta gráfica muy potente, vamos a ver todo este proceso creando y desplegando una máquina virtual en Microsoft Azure , la cual contendrá las tarjetas gráficas que necesitamos.  El proceso vamos a verlo distribuido en dos entradas en el blog , en esta primera entrada vamos a ver  qué es  Microsoft Azure  y cómo crear una máquina virtual con GPU. En la siguiente entrada del blog,  veremos como utilizar la dicha GPU junto con Hashcat . Para los que no sepan lo que es  Microsoft Azure , esta plataforma es un servicio de computación en la nube creado por Microsoft para construir, probar, desplegar y administrar aplicaciones y servicios mediante el uso de ...

FindMyHash

Imagen
Hola a todos. En el post de hoy vamos a hablar del script findmyhash.py . Este script escrito en Python nos puede ayudar a crackear diferentes tipos de hashes utilizando únicamente servicios online gratuitos, sin tener que realizar el coste comunicacional de tener que romperlos, es decir, actúa a modo de buscador, dado un hash nos devuelve la contraseña correspondiente a dicho hash sin tener que calcularlo, la búsqueda la realiza sobre diferentes fuentes y si no tiene éxito puedes indicarle que lo busque en Google directamente. En versiones antiguas del sistema operativo Kali Linux venía como herramienta ya instalada por defecto. En el momento en el que estoy escribiendo estas líneas la versión más reciente de Kali Linux es la del año 2020, en esta versión ya no viene preinstalada por defecto, esto es debido a que lleva varios años sin actualizar y está en desuso. Otro inciso antes de continuar es el hecho de que script al haber sido desarrollado hace ya algunos años funciona baj...

¡Fichero /etc/shadow a fondo!

Imagen
En este post vamos a ver otro tipo de contenido relacionado con contraseñas, tranquilos porque la serie de Hashcat continuará en los siguientes posts :) En el post de hoy, vamos a hablar de fichero /etc/shadow , fichero en el cual se almacenan las contraseñas para cada usuario dentro del sistema operativo Linux . En este fichero podremos encontrar además de la contraseña para cada usuario, información relativa a dicha contraseña, por ejemplo, la fecha de expiración de dicha contraseña. Dentro del fichero podremos ver que por cada línea se especifica el usuario, el hash de la contraseña y las diferentes políticas que se aplican a las contraseñas del usuario. En cada línea encontramos los diferentes campos separados por el símbolo “ : ” . Normalmente cada línea del fichero tiene un aspecto similar a la siguiente: Cada fragmento marcado es un campo diferente, la referencia es la siguiente El nombre del usuario El algoritmo utilizado La sal criptográfica para la contraseña El ha...

Cracking hashes con Hashcat - 5

Imagen
En este post veremos como realizar ataques híbridos, uniendo los modos de ataques por diccionario y ataques mediante máscaras, este modo de ataque es el ultimo de los modos disponibles dentro del core de Hashcat . En los anteriores post ya vimos como realizar ataques para encontrar contraseñas candidatas gracias a su hash mediante ataques de diccionario y mediante el uso de máscaras . Para poder usar el modo híbrido, en el cual se unen estos modos, deberemos de usar la opción o flag -a 6 si queremos que la máscara vaya detrás de la palabra del diccionario, o la opción  -a 7 si queremos que la máscara vaya delante de la palabra seleccionada del diccionario. Los ataques híbridos son muy útiles sobretodo cuando se hacen ataques a contraseñas más largas de 8 caracteres, ya que este tipo de ataques nos permiten poder utilizar palabras largas de un diccionario y añadirle combinaciones según nuestras necesidades, ahorrándonos tiempo en la ejecución del ataque y en el hecho de tener que...

Cracking hashes con Hashcat - 4

Imagen
En el  post  anterior vimos cómo realizar ataques basados en la unión de varios diccionarios para poder buscar la contraseña candidata con la combinación de las palabras provenientes de estos diccionarios. En esta ocasión vamos a ver una de las opciones de ataque que más me gusta de Hashcat. La opción se llama Mask Attack  o Ataque mediante máscara , en este tipo de ataques se prueban todas las combinaciones posibles para un espacio de claves concreto, de forma similar a lo que ocurre en los ataques por fuerza bruta , pero en este caso siendo mucho más específicos. Como se nombra en la documentación de la herramienta, la razón para realizar este tipo de ataques en lugar de los ataques por fuerza bruta es para poder reducir el espacio de claves de la contraseña candidata y ser mucho más eficientes. Por ejemplo, si la contraseña candidata tuviera una longitud de 8 caracteres y estuviera formada por mayúsculas, minúsculas y números, necesitaríamos iterar sobre 62 ...

Cracking hashes con Hashcat - 3

Imagen
En el post anterior vimos como realizar ataques de diccionario junto con reglas para poder realizar el ataque de una manera más eficiente y rápida. En este post veremos cómo realizar un ataque para recuperar contraseñas combinado dos diccionarios para generar palabras candidatas para el ataque. Este ataque combinado es el mismo ataque por diccionario que pudimos ver en el primer post , pero con la peculiaridad de que durante el ataque se combinarán palabras de ambos diccionarios para formar combinaciones posibles de las contraseñas buscadas. Por ejemplo, si en el primer diccionario encontramos ' yellow'  y en el segundo encontramos ' car', Hashcat probará como contraseña candidata ' yellowcar' . Al igual que en el post anterior, también podemos usar reglas para realizar un ataque más eficiente, así como utilizar alguna de las otras de las muchas opciones disponibles en Hashcat . En este caso vamos a utilizar como primer diccionario  rockyou.txt , que es ...