miércoles, 21 de julio de 2010

Barajitas premiadas (#9) - netcat

Supongamos que necesita una conexión telnet (sobre Windows) o rsh (sobre Linux) y no tiene estas herramientas a la mano o por alguna razón no desea utilizarlas (muchas razones me vienen a la mente, pero me las reservo porque este artículo tiene fines pedagógicos, o en todo caso de white hacking, y no vandálicos).

Pues, también puede utilizar necat para esto y listo; abordamos la herramienta en el artículo anterior.

La idea es dejar a netcat escuchando donde desea iniciar la consola remota y especificar que inicie un intérprete de comandos cuando alguien inicie una conexión por ese puerto.

En la máquina remota escucharía de la siguiente forma:
$ netcat -l -p 1234 -e /bin/bash

Y luego en la máquina local lo siguiente sería totalmente válido:
$ netcat localhost 1234
ls / #este comando se ejecutará remotamente (abajo se muestra la salida)
bin
boot
cdrom
dev
etc
home
initrd.img
lib
lost+found
media
mnt
opt
proc
root
sbin
selinux
srv
sys
tmp
usr
var
vmlinuz

Ahora, en el momento en que cierre el cliente, el netcat que corre del lado del servidor se cerrará. Para evitar esto, podemos correrlo dentro de un ciclo infinito, algo como:
$ while true; do netcat -l -p 1234 -e /bin/bash; done

Ahhhhh y a este punto usted se preguntará, ¿y cómo hago para cifrar el canal? para ello OpenSSL vendría de perlas, esa la dejo para otro artículo!


No hay comentarios:

Publicar un comentario