[eside-ghost] PsTools

yUnwEb yunweb en yunweb.homeunix.org
Mar Dic 20 22:40:36 CET 2005


On Tue, 13 Dec 2005 10:13:33 +0100 (CET)
<jonferna en tecnologico.deusto.es> wrote:

> Aupa ahí!
> 
> A ver, estando aquí en el curro, nos ha surgido una dudilla sobre las 
> PsTools. He leido por ahí que el PsKill hace algo parecido a copiarse 
> en admin$ a traves de SMB y ejecutarse.
> 
> En plan curiosidad curiosa, alguien que se aburra por ahí sabe cual
> es el funcionamiento interno de estas aplicaciones, y ¿como es
> posible que se puedan ejecutar aplicaciones en remoto así sin mais? A
> mi en su momento creo que ya me hablaron de ello, pero no me acuerdo
> para nada.
> 
> Gracias y agur!
> 

Espero no llegar muy tarde.

A ver, yo anduve enredando con esto hace un tiempo. Te comento un poco
por encima.

Estuve mirando el "código" del pstools y lo que hace básicamente es
copiar un servicio al equipo remoto por SMB y luego una vez estando
allí lo instala y lo pone en marcha. Ese servicio apaga el ordenador,
cierra una aplicación o lo que sea, según que quieras hacer.

Te lo comento en plan rápido. Las funciones vienen a ser algo así:

Conectamos por SMB y copiamos el fichero:
  WNetAddConnection2(&netResource,passwd,user,false);
  El netResourcel.pRemoteName tiene que ser algo del estilo de:
  "\\aa.bb.cc.dd\ipc$"
  Ahora copias el servicio como de un fichero normal se tratara a algún
sitio como "\\\\aa.bb.cc.dd\\admin$\\system32\\servicioquesea.exe"
   WNetCancelConnection(..);

Instalamos el servicio y lo ponemos en marcha:
  OpenSCManager(...);
  CreateService(...,  "servicioquesea", ...,
  "%SystemRoot%\\System32\\servicioquesea.exe", ...);
  OpenService(..., "servicioquesea", ...);
  StartService(...);
  CloseServiceHandle(...);

Un servicio no es un exe normal y corriente. Para saber como crearlo
mejor míralo en MSDN, que ahora mismo no me acuerdo muy bien y me da
pereza mirarlo :P

Sé que no me ha quedado muy claro. Así que pregúntame si quieres y si
lo sé te lo aclaro encantado.

Un saludo,

-- 
yUnwEb


Más información sobre la lista de distribución eside-ghost