- Descripción del proyecto
- Instalación local de SSH_Connex
- Ejemplos de uso
- Ayuda dentro del programa
- Desarrollador del proyecto
- Tecnologías utilizadas
- Licencia
Ssh connex es una herramienta de línea de comandos escrita en bash que simplifica y automatiza la conexión segura a servidores ssh.
El desarrollo de ssh connex se basó en la necesidad de simplificar el proceso de conexión a servidores ssh y proporcionar a los usuarios una interfaz intuitiva y fácil de usar.
Los usuarios pueden guardar las configuraciones de conexión con el comando shell -g <hostname/IP>
y acceder rápidamente a ellas eliminando la necesidad de recordar y escribir comandos largos y complicados cada vez que deseen establecer una conexión ssh.
Durante el desarrollo de este proyecto (realizado como parte de mi trabajo de fin de Master en TssCiberseguridad) adquirí conocimientos sobre la creación de scripts de línea de comandos en bash, la interacción segura con servidores ssh y la automatización de tareas mediante scripts. Además tuve la oportunidad de aprender en profundidad los conceptos relacionados con la seguridad en las conexiones ssh y la gestión de claves públicas y privadas.
Construir y ejecutar SSH-Connex es muy fácil. Asegúrese de tener instalados Git , y siga las instrucciones que se indican a continuación.
- Clona este repositorio en tu máquina local
git clone https://github.com/B3XAL/SSH-Connex.git
- Navega al directorio del proyecto
cd SSH-Connex
- Ejecuta el script SSH_Connex.sh para iniciar la herramienta
sudo bash SSH_Connex.sh
Al ejecutar SSH-Connex, se realizará de forma automática una verificación de todas las dependencias necesarias con las que se trabaja. Así mismo, en caso de que alguna de las dependencias no esté instalada, se procederá a su instalación de forma automática.
- ✔️ Git
- ✔️ OpenSSH
- ✔️ Nmap
- ✔️ Terminal Gnome
- ✔️ ssh-audit
Una vez verificado todo entraremos al menú.
- Conexión SSH con contraseña:
-
Te solicitará ingresar el nombre de host o la dirección IP a la cual deseas conectarte. Puedes ingresar, por ejemplo,
nmap.org
o la dirección IP específica, como45.33.49.119
. -
Te pedirá que ingreses el nombre de usuario correspondiente de la cuenta que deseas acceder a través de la conexión SSH.
-
Finalmente, te solicitará que especifiques el puerto al cual deseas conectarte.
En la foto dada se realiza un ejemplo del cambio de usuario y puerto predeterminado con el comando
-g
.
- Conexión SSH con contraseña obteniendo una shell en bash:
La diferencia con la opción anterior es que, una vez autenticados, se nos proporciona una shell para operar inmediatamente en el servidor.
Parece que se ha quedado congelado pero en realidad estás dentro (si has introducido bien la contraseña).
- Conexión SSH con claves privadas:
Para utilizar este método, es necesario contar con un archivo de texto (.txt)
que contenga las claves privadas de conexión SSH.
SSH-Conex te pedirá que especifiques la ruta de este archivo para establecer la conexión con el servidor.
- Conexión SSH con Hydra:
En este apartado, utilizaremos Hydra, una herramienta de fuerza bruta que nos permite probar múltiples combinaciones de contraseñas de un diccionario contra un servidor SSH. Al igual que en otras ocasiones, nos pedirá ingresar la dirección IP, nombre de usuario y puerto. Además, deberás tener a mano la ruta del diccionario para poder proporcionarla a Hydra.
Una vez que se ejecute el proceso, Hydra se encargará de probar las contraseñas automáticamente. Si alguna coincidencia es encontrada en el diccionario, SSH-Connex te informará y resaltará la contraseña correspondiente en verde para facilitar su identificación.
En los submenús de escaneo, podrás encontrar información relevante como:
- Versiones y puertos
- Huellas digitales
- Claves públicas
Aunque el programa es bastante intuitivo, si deseas obtener más información sobre cómo utilizar la funcionalidad de cambio de usuarios predeterminados en esta herramienta, simplemente ingresa uno de los siguientes comandos:
?
help
-h
Al introducirlos en la línea de comandos (estando en el menú), se mostrará una breve explicación que te guiará sobre cómo utilizar esta característica.
- ✔️ Git Herramienta de control de versiones.
- ✔️ OpenSSH Client: Cliente OpenSSH utilizado para la conexión SSH.
- ✔️ Nmap: Herramienta de escaneo de red.
- ✔️ Terminal GNOME: Terminal GNOME.
- ✔️ ssh-audit: Herramienta utilizada para auditar la seguridad de SSH.
- ✔️ Hydra: Herramienta de fuerza bruta.
Este proyecto se distribuye bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.