Normalmente
en las empresas los firewalls perimetrales sólo permiten el tráfico
HTTP(s) hacia Internet. Hoy vamos a ver otra herramienta para poder
evadir esta restricción y poder ejecutar un terminal SSH a través del navegador: Shell In A Box (o ShellInABox).
ShellInABox es un emulador de terminal web basado en ajax para cualquier navegador que soporte Javascript y CSS sin necesidad de disponer de ningún plugin adicional.
Existen otros emuladores para navegador mediante complementos como NaCl o FireSSH, si bien necesitarás acceso al exterior por el puerto 22/TCP. Con ShellInABox accederás directamente al puerto 443/TCP de HTTPS.
Ahora bien, ¿por qué no cambiar el puerto del demonio SSH del 22/TCP al 443/TCP y dejarnos de tanta historia? Pues principalmente porque no tendrás necesidad de utilizar otro cliente como Putty y porque muchos firewalls con inspección de paquetes detectarían el intercambio de claves al menos que lo ofuscemos con ossh y Potty.
ShellInABox es un emulador de terminal web basado en ajax para cualquier navegador que soporte Javascript y CSS sin necesidad de disponer de ningún plugin adicional.
Existen otros emuladores para navegador mediante complementos como NaCl o FireSSH, si bien necesitarás acceso al exterior por el puerto 22/TCP. Con ShellInABox accederás directamente al puerto 443/TCP de HTTPS.
Ahora bien, ¿por qué no cambiar el puerto del demonio SSH del 22/TCP al 443/TCP y dejarnos de tanta historia? Pues principalmente porque no tendrás necesidad de utilizar otro cliente como Putty y porque muchos firewalls con inspección de paquetes detectarían el intercambio de claves al menos que lo ofuscemos con ossh y Potty.
Al instalar certificados SSL/TTL, ShellInABox cifrará todas las comunicaciones cliente-servidor y también hará más difícil la labor de detección de los firewalls/NIDS más "inteligentes".
En esta entrada vamos a probar a instalar ShellInABox en un máquina virtual con Kali Linux:
root@kali:~# apt-get install openssl shellinabox
Por defecto, el servidor web shellinboxd escuchará en el puerto 4200/TCP. Para modificarlo simplemente lo cambiaremos en el fichero de configuración:
root@kali:~# vi /etc/default/shellinabox
# Should shellinaboxd start automatically
SHELLINABOX_DAEMON_START=1
# TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=443
# Parameters that are managed by the system and usually should not need
# changing:
# SHELLINABOX_DATADIR=/var/lib/shellinabox
# SHELLINABOX_USER=shellinabox
# SHELLINABOX_GROUP=shellinabox
# Any optional arguments (e.g. extra service definitions). Make sure
# that that argument is quoted.
#
# Beeps are disabled because of reports of the VLC plugin crashing
# Firefox on Linux/x86_64.
SHELLINABOX_ARGS="--no-beep"
Durante la instalación, si no encuentra un certificado adecuado, shellinaboxd intenta crear uno nuevo autofirmado (certificate.pem) mediante openssl. En ese caso el certificado creado se ubica en /var/lib/shellinabox. Si por lo que sea no se ha creado correctamente podéis crearlo vosotros mismos.
Para empezar a utilizarlo, simplemente iniciaremos los servicios:
root@kali:~# service ssh start
[ ok ] Starting OpenBSD Secure Shell server: sshd.
root@kali:~# service shellinabox start
root@kali:~# service shellinabox status
Shell In A Box Daemon is running
Y comprobamos el acceso a través de nuestro navegador:
Fuentes y referencias:
- shellinabox - Web based AJAX terminal emulator
- How to access ssh terminal in web browser on Linux
- Shell In A Box – A Web-Based SSH Terminal to Access Remote Linux Servers
- Crea un tunel TCP a través de HTTP mediante Tunna
- Evadir un portal cautivo mediante un túnel DNS
- Cómo crear un túnel SSH entre un servidor Linux y un cliente Windows
0 comentarios:
Publicar un comentario