Administración remota de Windows XP desde la linea de comandos

Introducción

Este documento pretende explicar la forma de controlar desde el propio ordenador los Windows 2000/XP de nuestra red usando los viejos y muchas veces olvidados comandos del DOS. ¿Y por qué desde DOS?, pues porque podemos ejecutarlos sin interferir en el escritorio remoto, o sea sin que se entere el usuario (o los menos espabilados que son los más), y lo más importante, porque los comandos DOS permiten ser incluidos en ficheros bat y procesar un montón de máquinas en poquísimo tiempo.

Todo se basa en aprovechar los recursos compartidos administrativos que por defecto traen los XP para obtener acceso a los ficheros de los ordenadores remotos y los puertos NetBIOS para abrir consolas de comando remotas con el fin de poder ejecutar órdenes sobre los ordenadores remotos.

Espero que, además de aprender, pasen un buen rato aplicando estas ideas y otras que seguro se les van a ocurrir. Ensáyenlas en sus propios PCs antes de aplicarlas y, por favor, no torturen demasiado al vecino.

Requisitos previos

1.- Red con XP (para 2000 también valdrá pero las pruebas las he hecho sobre XP Pro)
2.- Tener cuenta en el grupo administradores de las máquinas remotas.

SMB habilitado (puertos 445 138-139, para entendernos. Es decir, activado el Compartir ficheros e impresoras para entendernos mejor aún.

Herramientas imprescindibles:

MS-DOS
Psexec

Herramientas opcionales:

Netcat
Fport
VNC
Coca-cola fresquita

Acceso remoto a los PCs de la red usando los recursos compartidos administrativos

Windows XP comparte por defecto sus unidades a efectos de administración. Estas unidades están ocultas en la red al llevar el sufijo $

Para acceder desde DOS a estos recursos desde otro ordenador de la red se usa el comando Net use. Este comando es un poco remolón y a veces como que se empeña en no dejar conectarnos. La sintaxis completa y que no falla NUNCA es:

net use \\ip_remota\ password_pc_remoto/u:ip_remota\administrador_pc_remoto

En este punto tendremos ya mapeada la unidad del PC remoto y podremos trabajar con sus ficheros como si fuese un disco más de nuestro ordenador. Para usar este comando basta con que el PC remoto esté encendido, no hace falta que tenga ninguna sesión iniciada.

Cuando acabemos nuestra tarea debemos acordarnos de quitar el recurso que acabamos de compartir. Eso se hace mediante el comando:

Net use [unidad:] /delete
Net use * /delete
 (elimina todas las unidades compartidas)

También puedes desde el propio XP/2000 picar con botón derecho sobre el recurso compartido y seleccionar Desconectar

Importante Advertiros de que tanto la sesión que establezcamos así como el recurso compartido que abráis le aparecerán al usuario remoto en su Visor de Suceso (otra cosa es que se lo mire).

Esta técnica de acceder a los ordenadores por sus recursos compartidos administrativos está muy bien ya que podremos manipular los ficheros del PC remoto a nuestro antojo, sin embargo, por regla general, no vamos a poder ejecutar sobre ese PC ningún comando ya que cualquier orden que ejecutemos tendrá efectos sobre nuestro propio sistema, no sobre el remoto.

Aunque existen algunos comandos del sistema con parámetros que permiten ser ejecutadas de forma remota, lo mejor y más cómodo será ingeniárnoslas para abrir una consola de comandos remota en el pc del usuario, para poder trabajar con su PC como si fuese realmente el nuestro.

Obteniendo una consola remota

Existen varias maneras de conseguirla, por lo general se hace explotando alguna vulnerabilidad que ofrezca el sistema: algún desbordamiento de buffer o bug conocido como el del DCOM o el LSASSen los XP, pero eso lo encontráis en cualquier página de hack. Nosotros que estamos dentro de una red y controlamos las máquinas como administradores locales no necesitamos hacer hacking. Simplemente usaremos un par de pequeñas pero a la vez grandisimas (y gratuitas) herramientas:psexec y netcat.

Psexec es mi favorita, al menos para conseguir la primera conexión, puesto que a diferencia denetcat no hay que cargar nada de forma previa en el sistema remoto. Este peligro es descargable desde la página de sus creadores, sysinternals, y su ejecución es realmente simple:

psexec \\ip_remota “u -p -s

Si hacemos un:

psexec \\192.168.0.10 “u administrador “p miclave “s cmd, obtenemos en nuestro PC una consola de comandos del ordenador 192.168.0.10. A partir de ahí cualquier orden que ejecutemos la estamos ejecutando sobre 192.168.0.10

Para los que se les están ocurriendo ideas venenosas, advertirles que Psexec aparecerá como proceso en el administrador de tareas del PC remoto.

Si echáis un vistazo a los parámetros de psexec, veréis que además de abrir sesiones remotas es capaz, en una misma orden, de subir y ejecutar ficheros. Podéis probarlo teniendo en cuenta que algunos programas son interactivos, es decir necesitan respuestas locales (del usuario remoto), con lo cual corréis el riesgo de dejar la conexión flipada. Probad antes de ejecutar un comando en remoto, a hacerlo sobre vuestro propio pc.

NetCat

¿Quién no ha oído hablar de NetCat?. Muy resumidamente la función principal de NetCat es abrir puertos a aplicaciones, tiene muchas funcionalidades. Aquí lo que nos interesa es su capacidad para devolvernos una consola. Para abrir una consola remota con Netcat hay que ejecutar en el ordenador servidor el comando:

nc L -d “p 8080 “e c:\windows\system32\cmd.exe

-L es el parámetro que permite que netcat siga a la escucha aún después de desconectar la conexión.
-l parámetro que ordena a netcat escuchar en el puerto especificado por –p. En este caso el 8080
-e el comando que ejecutará
-d ejecuta el comando especificado en background

Cuando ejecutemos la siguiente orden en el ordenador cliente:

nc IP_ordenador_servidor 8080 obtendremos una consola de comandos del ordenador servidor. Todo lo que ejecutemos en esa consola se estará ejecutando en el ordenador remoto.

Como en el caso de psexec, el Netcat también aparece en el administrador de tareas (aunque se le puede renombrar a un nombre menos sospechoso). Se que algunos antivirus lo detectan también como troyano.

Ya tenemos la consola remota, ¿Y ahora que hacemos?

Seguro que se os están ocurriendo pero que muchas cosas. A efectos administrativos nos va a permitir:

– Manipular las cuentas de usuarios y grupos
– Controlar los servicios y procesos en ejecución
– Programar tareas
– Manipular el registro
– Instalar (en algunos casos) software

Manipular grupos y cuentas de usuarios

Usaremos el comando NET para crear y borrar usuarios y asignarlos a los grupos que más nos interesen.

Las que más pueden servirnos para nuestros propósitos son:

Net user lista información sobre la cuenta
Net localgroup que muestra los grupos locales del pc.
Net user /add que crea una cuenta de usuario
Net localgroup /add que añade la cuenta del usuario al grupo que especifiquemos

Por ejemplo:

Net user guoper lista información sobre la cuenta guoper
Net localgroup administradores muestra las cuentas pertenecientes al grupo administradores
Net localgroup administradores guoper /add añade al usuario guoper al grupo administradores

Control de servicios y procesos

Los comandos que nos permiten manipular servicios y procesos en DOS son:

sc query Muestra información sobre los servicios y su estado en la máquina en la que se ejecuta.
sc config Permite configurar diversas propiedades del servicio (habiltar, deshabilitar, inicio manual o automatico…).

Como es habitual con los comandos DOS tienes todas la opciones tecleando un sc config /?

Tasklist lista los procesos en ejecución, para entendernos es como si fuese el administrador de tareas en linea de comandos
Taskkill /F /PID permite forzar el cierre de un proceso identificado por su [i]PID[/i]. El PID asociado se muestra con la orden anterior. El parámetro /F fuerza el cierre, sin importar las circunstancias.

Un ejemplo, un tanto simplón, para aplicar todos estos comandos:

Supongamos que nos enteramos que el usuario vayajeta pasa todo el día jugando al solitario plácidamente (a las cartas, mal pensaos) en vez de currar que es para lo que le pagamos. Pues nada le entramos con psexec, le hacemos un tasklist, nos apuntamos el PID del sol.exe o delspider.exe, supongamos que es el 666, y le cerramos la partida con un taskkill /F /PID 666

El ejemplo anterior es más bien hacerle una putadita al vecino, pero pensad la utilidad de este comando para matar procesos colgados (winword.exe, outlook.exe, mapi32.exe..) o procesos lanzados por algún malware. Además siempre nos queda la posibilidad más drástica de apagar o reiniciar el PC remoto ejecutándole un shutdown. Pensad, ¿cuántas veces hay que desplazarse a ver a alguien para al final hacerle un simple reset del sistema?

Fport
Podemos complementar tasklist con esta herramienta gratuita descargable de la página defoundstone. Si la subimos y ejecutamos en el PC remoto veremos los procesos que están a la escucha en cada puerto del PC.

Ejecutar una tarea programada en remoto

Podemos usar en el PC remoto el comando AT para programarle tareas. Por ejemplo:

at \\ip_remota 12:00A /every:1

 

Fuente

Scrobbling desde Moc sin complicaciones

moc

Quien use Moc, el reproductor de música para consola (de allí sus siglas: music on console) verá que no soporta el scrobbling a last.fm y que muchos de los scripts que andan dando vuelta no funcionan o exigen un buen rato de nuestro tiempo para hacerlos funcionar.

Buscando y probando varios días logré dar con un buen script que funciona con Python3. Completo, ya que informa cuando estamos escuchando, cosa que los demás no hacen ya que sólo anuncian el cambio de tema ante la accion “OnChangeSong” en la configuración de Moc. Vamos a ver como instalar y configurar correctamente para realizar el scrobbling de nuestros temas, sin mayores problemas.

Primero instalamos python3 que es necesario para poder usar este script:

$ sudo apt-get install python3-minimal

descargamos el script mocp-scrobbler creado por fluidx, descomprimimos y modificamos el archivo mocp-scrobbler.py cambiando la linea 1:

#!/usr/bin/env python

y la dejamos asi:

#!/usr/bin/env python3

De esta manera indicamos que queremos que se ejecute con Python3, sinó dará error de sintaxis.

Copiamos este archivo a cualquier parte de nuestro $PATH, en mi caso lo puse en /usr/local/bin

$ sudo cp mocp-scrobbler.py /usr/local/bin/

Creamos una carpeta dentro de nuestro home, llamada .mocpscrob

$ mkdir ~/.mocpscrob

dentro de ella un archivo config

$ cd .mocpscrob
$ touch config

editamos config

$ sudo nano config

y ponemos en el lo siguiente:

[scrobbler]
login=nombredeusuariodelast.fm
password=tucontraseña
streams=true
hostname=post.audioscrobbler.com

Una vez completamos estos pasos, ejecutamos el script como demonio:

$ mocp-scrobbler.py -d

Luego podemos usar Moc y comprobar como se van adjuntando a nuestro perfil de last nuestras últimas escuchas…

Si queremos que se ejecute siempre el script, basta con agregar la misma línea de ejecución a nuestras Aplicaciones al inicio.
Fuente: laconsolablog

What Sakis3G is?

Sakis3G is a tweaked shell script which is supposed to work out-of-the-box for establishing a 3G connection with any combination of modem or operator. It automagically setups your USB or Bluetooth™ modem, and may even detect operator settings. You should try it when anything else fails!

If you are lucky enough, you may be connected 30 seconds after downloading script.

 

Fuente: SaKis3G

Jugando con ASCII

Hoy os voy a mostrar que el ASCII puede ser muy divertido, y que podéis pasar un buen rato con la terminal y ASCII. Para empezar vamos a instalar esto:

$ sudo apt-get install sl

¿SL? Si, es por si te equivocas al ejecutar “ls”, una vez instalado ejecuta:

$ sl

¡Un tren por la terminal! Incluso vuela:

$ sl -f

Pero esto es el principio, tenemos a alguien encerrado:

$ apt-get moo

Correcto, es una vaca. Y por no hablar de su compañero, el antipático:

$ aptitude moo

Si no tienes aptitude instalado, ejecuta:

$ sudo apt-get install aptitude

Vuelva a ejecutar el comando anterior al de instalación de aptitude y te dirá que no hay huevo de pascua, pero insiste de esta forma:

$ aptitude -v moo

Vaya, probemos de nuevo:

$ aptitude -vv moo

Si si, pero tengo la esperanza…

$ aptitude -vvv moo

¡No! Otra vez:

$ aptitude -vvvv moo

¡Claro!:

$ aptitude -vvvvv moo

Gracias, pero… ¿qué es?:

$ aptitude -vvvvvv moo

Ahora una buena aplicación, cowsay, instalar:

$ sudo apt-get install cowsay

Ahora:

$ cowsay Ubunteate me ha abierto tu puerta

Y la vaca os dirá “Ubunteate me ha abierto tu puerta“. Incluso podemos pasar un comando para que lo diga, mediante tuberías, por ejemplo la fecha y hora:

$ uptime | cowsay

También podemos hacer que la vaca se parezca a un alien:

$ cowsay -b Voy a matarte

Que parezca estar muerta:

$ cowsay -d Me duele todo

Que sea una avariciosa:

$ cowsay -g DAMELO TODOOO

Una paranoica:

$ cowsay -p QUE MIRAIS TODOS

Que vaya fumada:

$ cowsay -s Don't worry... Be happy!

Que este cansada:

$ cowsay -t Me voy a dormir un ratillo

O que sea joven:

$ cowsay -y ¡Soy NiNi!

Pero esta aplicación no acaba aquí, puedes cambiar a la vaca por un dragón:

$ cowsay -f /usr/share/cowsay/cows/dragon.cow Soy un dragon

Por Tux:

$ cowsay -f /usr/share/cowsay/cows/tux.cow ¡Arriba Linux!

Y muchos más, para descubrirlos tan solo ejecuta:

$ ls /usr/share/cowsay/cows

Y te sale la lista completa, tan solo tienes que probarlos utilizando:

$ cowsay -f /usr/share/cowsay/cows/nombrearchivo texto

Sustituyendo el nombre del archivo por el escogido y texto por lo que dirá.

Pero esto no acaba aquí, instala MPlayer si no lo tienes:

$ sudo apt-get install mplayer

Escoge una película que tengas y ejecutala así:

$ mplayer -vo aa película

Sustituyendo película por la ruta de la película escogida(con extensión), y correcto, la verás en ASCII.

Ahora vamos a instalar otra cosilla:

$ sudo apt-get install sysvbanner

Y para utilizarlo:

$ banner UBUNTEATE

Os creará con ASCII un “banner”. Pero si este os ha dejado con mal sabor de boca, os presento:

$ sudo apt-get install figlet

Una vez instalado lo ejecutamos:

$ figlet UBUNTEATE

Algo mejor, ¿no? Incluso tiene más opciones:

$ figlet --help

Vamos a ver otra aplicación que es bastante interesante y sorprendente:

$ sudo apt-get install aview

Escoger una imagen y ejecutar:

$ asciiview ruta-imagen

Sustituir ruta-imagen por la ruta de la imagen escogida (con extensión). ¡Mola! Sigamos:

$ sudo apt-get install libaa-bin

¿Tienes fuego?

$ aafire

Interesante, pero comparado con lo siguiente, no es nada, instalar:

$ sudo apt-get install xaos

Seguramente sabréis qué son los fractales, son esas imágenes infinitas al ampliarlas, y que realmente son expresiones matemáticas, pues bien, ejecutar:

$ xaos -driver aa

¡Guau! Hacer click con el ratón donde queráis ampliar e ira ampliando, podéis cambiar la imagen y hacer decenas de cosas, es bastante completo…

Como habéis podido comprobar, ASCII tiene limitaciones en la terminal, pero realmente no es así, nosotros la tenemos a un color, esto lo podéis cambiar con esquemas de colores y esas cosas, pero eso, otro día, ahora os dejo con una última:

$ sudo apt-get install bb

Y:

$ bb

Esto os mostrará el potencial de ASCII.

Fuente: ubunteate

Ver tamaño de carpetas y discos/particiones por terminal en GNU/Linux

Pues, como muchos saben, en Linux siempre disponemos de la Terminal y sus poderosisimos comandos, que muchos evitan y otros adoran. Para mí, la mezcla perfecta es utilizar el entorno gráfico y la Terminal. La combinación de las dos me da el poder de hacer lo que se me antoje (menos jugar)…

Hoy quiero presentarle dos comandos muy interesantes que he descubierto en el trabajo, los cuales son du y df.

du es el comando encargado de devolvernos el tamaño de alguna carpeta y su contenido. La forma más fácil de saber, por ejemplo el tamaño total que ocupa una carpeta en disco es tipeando el comando du seguido de -sch y por último el path o ruta de la carpeta en cuestión, como se ve:

[bachi@localhost ~]$ du -sch /home/bachitux/datos/musica/
9,1G /home/bachitux/datos/musica/
9,1G total

En éste caso, sólo quiero el tamaño total de mi carpeta de música (unos 9,1 GB) como pueden ver en la ruta. Las opciones que utilizo son las más usadas generalmente en éste comando, a saber:

-s: Muestra el total del argumento.
-c: Devuelve el total absoluto.
-h: Nos muestra información del peso de la carpeta en modalidad “humana” (en KB, MB, GB, etc.).

Para más información, pueden revisar el comando seguido de –help o precedido de man.

Ahora bien, si lo que deseamos saber es el tamaño y espacio ocupado en tu disco o particiones, el comando df es interesantísimo y a la vez muy sencillo. Simplemente debemos tipear df -h:


Así veremos las particiones, el tamaño total, el usado, el disponible (entendible nuevamente por -h) y su Punto de Montaje, incluyendo en el informe si tenemos conectado algún dispositivo de almacenamiento externo USB (como un pendrive, por ejemplo) o del tipo que fuese.

Dos comandos que más de una vez nos pueden ser útiles.

Fuente: untuxsuelto