Pin It

Security

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. 
 


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

 
Top