Cuando se trata de la ruptura de hashes, un programa de ruptura de hashes que funciona con una enorme base de datos de hashes puede adivinar automáticamente muchos millones o miles de millones de posibles contraseñas y comparar los resultados con toda la colección de contraseñas hasheadas para encontrar las coincidencias específicas. Básicamente compila el hash de alguna entrada y compara las salidas que salen de ella con un hash.
Cuando una contraseña ha sido hasheada, significa que se ha convertido en una representación cifrada de sí misma, y se toma la contraseña de un usuario y, utilizando una clave conocida por el sitio, se deriva el valor de hash de la combinación de la contraseña y la clave mediante el uso de un algoritmo.
Hashear una contraseña puede ser bueno debido al hecho de que es rápido y eficiente, así como fácil de almacenar. En lugar de almacenar la contraseña de un usuario como texto plano, que está abierto para que cualquiera lo lea, se almacena como un hash que es imposible de leer para un humano, y es por eso que existe la ruptura de hashes.
Las contraseñas medianas, típicas de la mayoría de los usuarios que no utilizan gestores de contraseñas, cifradas por algoritmos de hash más débiles, como MD5 y VBulleting, pueden ser descifradas en menos de 30 minutos si se hace correctamente.
En cuanto a Hashtopolis, es un envoltorio de Hashcat para el descifrado de hashes distribuido y es fácil de usar mientras se accede a través de una interfaz web que permite usar Hashtopolis desde cualquier lugar. En este artículo, aprenderás cómo distribuir tareas de Hashcat entre múltiples computadoras mientras usas Hashtopolis.
Acerca de Hashtopolis
Hashtopolis es un cliente disponible en múltiples plataformas que se conoce como una herramienta cliente-servidor que distribuye tareas de hashcat a una multitud de computadoras. Su objetivo principal es la portabilidad, la robustez, el soporte multiusuario y la gestión de múltiples grupos. La aplicación en sí está dividida en dos partes:
- La parte del Agente – que incluye múltiples clientes que se ejecutan en C# y Python, fácilmente personalizables para adaptarse a las necesidades de casi cualquier persona.
- La parte del Servidor – que incluye varios archivos PHP/CSS que operan en dos puntos finales, como una interfaz gráfica de administración y un Puerto de Conexión de Agente.
Hashtopolis se comunica a través de HTTP(S) utilizando un dialecto de JSON específico para hashing y legible por humanos. La parte del servidor de todo esto se ejecuta en PHP utilizando MySQL como la base de datos de fondo.
La interfaz web de administración es el único punto de acceso para todos los agentes clientes.
El Proceso de Instalación del Servidor Hashtopolis
Para instalar con éxito el servidor Hashtopolis, necesitas tener un servidor que te proporcione acceso root. En este caso, utilizaremos un Droplet de DigitalOcean ejecutándose en Ubuntu 18.04. Inicia sesión en tu servidor web usando SSH.
Como en este caso estamos usando Linux, podemos usar el comando SSH incorporado. En un servidor basado en Windows, puedes usar PuTTY.
ssh root@direccionipdelservidor
Después de esto, necesitamos asegurarnos de que tenemos Linux, Apache, MySQL y PHP instalados en nuestro servidor.
- sudo apt update && sudo apt upgrade
- sudo apt install mysql-server
- sudo apt install apache2
- sudo apt install libapache2-mod-php php-mysql php php-gd php-pear php-curl
- sudo apt install git
- sudo apt install phpMyAdmin
Ahora que las dependencias están instaladas, podemos asegurar nuestra instalación de MySQL ingresando el siguiente comando en el terminal SSH del servidor web
mysql_secure_installation
Durante la configuración de MySQL, se le harán las siguientes preguntas, responda todas con “y”.
- ¿Eliminar usuarios anónimos? - y
- ¿Prohibir el inicio de sesión de root de forma remota? - y
- ¿Eliminar la base de datos de prueba y el acceso a ella? - y
- ¿Recargar las tablas de privilegios ahora? – y
A continuación, cierre Hashtopolis a su servidor web en el terminal SSH del servidor ingresando los siguientes comandos:
git clone https://github.com/s3inlc/hashtopolis.git
sudo mkdir /var/www/hashtopolis
sudo cp -r hashtopolis/src/* /var/www/hashtopolis
sudo chown -R www-data:www-data /var/www/hashtopolis
Creación de una Base de Datos MySQL
El siguiente paso para usar Hashtopolis es crear una base de datos MySQL. En el terminal SSH de su servidor web, ingrese los siguientes comandos y se creará la base de datos MySQL para Hashtopolis. Asegúrese de reemplazar ‘securePassword’ con una contraseña segura de su elección, también puede generar una y hacer algunos cambios en ella.
sudo mysql -uroot -e "create database hashtopolis;"
sudo mysql -uroot -e "GRANT ALL ON hashtopolis.* TO 'hashtopolis'@'localhost' identified by 'securePassword';"
sudo mysql -uroot -e "flush privileges;"
Ahora puede crear un archivo de host virtual para su dominio. sudo nano /etc/apache2/sites-available/websitename.com.conf Reemplace websitename.com con su dominio que utilizará con el servidor Hashtopolis.
<VirtualHost *:80>
- ServerName websitename.com
- DocumentRoot /var/www/hashtopolis
- ErrorLog ${APACHE_LOG_DIR}/error.log
- CustomLog ${APACHE_LOG_DIR}/access.log combined
- < /VirtualHost>
Asegúrate de deshabilitar el acceso a la aplicación web de demostración predeterminada de Apache escribiendo el siguiente comando:
sudo sudo a2dissite 000-default
A continuación, apunta los registros A de tu dominio a las direcciones IP de tus servidores. Habilita la aplicación web Hashtopolis para tu dominio y cambia el nombre del dominio por el dominio que vas a usar.
sudo a2ensite websitename.com
Luego, recarga Apache usando: sudo systemctl reload apache2
Modificar el archivo php.ini es el siguiente paso, y para hacerlo, abre php.ini en nano, para hacerlo, usa CTRL+W para buscar los términos y modificar el archivo. Una vez que hayas terminado, usa CTRL+O en nano para escribir los cambios en el archivo.
- nano /etc/php/7.2/apache2/php.ini
- Buscar “memory_limit”
- cambiar el límite a 512M
- buscar upload_max_filesize – 500M
- buscar post_max_size – 500M
- Guardar cambios y salir de nano con CTRL+X.
A continuación, necesitamos modificar apache2.conf en nano ejecutando: sudo nano /etc/apache2/apache2.conf. Cambiar los valores de KeepAliveTimeout, MaxKeepAliveRequests y AllowOverride de la siguiente manera:
- KeepAliveTimeout 10
- MaxKeepAliveRequests 1000
- AllowOverride All
Una vez completado, recargar apache2 escribiendo: service apache2 reload.
Instalar Hashtopolis
Ahora puede comenzar la instalación de Hashtopolis.
- Complete los detalles de la base de datos MySQL.
- Tenga en cuenta que el nombre del servidor debe ser localhost, el puerto del servidor 3306, usuario de MySQL: hashtopolis, contraseña de MySQL: contraseña para la base de datos MySQL y nombre: hashtopolis.
- Una vez establecida la conexión, necesita configurar una cuenta de administrador, para hacerlo, haga clic en continuar.
- Elija un nombre de usuario y una contraseña, además de incluir una dirección de correo electrónico.
- Inicie sesión en la aplicación web de Hashtopolis con su nombre de usuario y contraseña.
- Elimine el directorio de instalación de Hashtopolis de su servidor para aumentar el nivel de seguridad escribiendo:
sudo rm -r /var/www/hashtopolis/install
Instalar Agente
A continuación, necesitaremos instalar el agente de Hashtopolis. En Kali Linux, el agente de Hashtopolis es multiplataforma y funcionará en Windows, Linux o incluso macOS.
Abra el terminal y escriba los siguientes comandos:
- sudo apt update
- sudo DEBIAN_FRONTEND=noninteractive apt upgrade -yq
- sudo apt install -y python3-pip zippip3 install requests psutil
- Después de eso, escribe:
- sudo apt install -y python3-pip zip
- pip3 install requests psutil
- curl http://websitename.com/agents.php?download=1 -so agent.zip
- python3 agent.zip.
Ahora, ingresa tu código de cupón desde la pestaña de Agentes en la interfaz web de Hashtopolis. Para hacer esto, crea un nuevo agente y genera un nuevo código de cupón. En Linux, necesitamos actualizar /etc/hosts con la dirección IP de nuestro servidor Hashtopolis. Para hacer esto, abre el terminal y usa nano para modificar el archivo /etc/hosts. Puedes agregar aquí la dirección IP y el dominio de tu servidor.
sudo nano /etc/hosts
192.168.1.111 websitename.com
Una vez que todo esto esté configurado, podemos ejecutar python3 agent.zip y dejarlo funcionando. El agente de Hashtopolis mostrará “¡No hay tareas disponibles!” a menos que asignes un trabajo específico al agente.
python3 agent.zip
Y eso es todo, has configurado Hashtopolis con éxito.