
Obtener ejecución de comandos sin archivos para movimiento lateral.
SharpNoPSExec consultará todos los servicios y seleccionará aleatoriamente uno con tipo de inicio deshabilitado o manual, estado actual detenido y con privilegios de LocalSystem para reutilizarlos.
Una vez que seleccione el servicio, guardará su estado actual, reemplazará la ruta del binario con la carga útil que elijas y la ejecutará.
Después de esperar 5 segundos, restaurará la configuración del servicio y lo más probable es que tengas tu shell :)
Esta herramienta está inspirada en la explicación de PSExec de #OSEP para movimiento lateral. Mientras leía el ejercicio, me di cuenta de que puedo realizar el movimiento lateral sin tocar el disco y sin crear un nuevo servicio para evitar la detección.
███████╗██╗ ██╗ █████╗ ██████╗ ██████╗ ███╗ ██╗ ██████╗ ██████╗ ███████╗███████╗██╗ ██╗███████╗ ██████╗
██╔════╝██║ ██║██╔══██╗██╔══██╗██╔══██╗████╗ ██║██╔═══██╗██╔══██╗██╔════╝██╔════╝╚██╗██╔╝██╔════╝██╔════╝
███████╗███████║███████║██████╔╝██████╔╝██╔██╗ ██║██║ ██║██████╔╝███████╗█████╗ ╚███╔╝ █████╗ ██║
╚════██║██╔══██║██╔══██║██╔══██╗██╔═══╝ ██║╚██╗██║██║ ██║██╔═══╝ ╚════██║██╔══╝ ██╔██╗ ██╔══╝ ██║
███████║██║ ██║██║ ██║██║ ██║██║ ██║ ╚████║╚██████╔╝██║ ███████║███████╗██╔╝ ██╗███████╗╚██████╗
╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝ ╚═════╝
Versión: 0.0.3
Autor: Julio Ureña (PlainText)
Twitter: @juliourena
SharpNoPSExec.exe --target=192.168.56.128 --payload=""c:\windows\system32\cmd.exe /c powershell -exec bypass -nop -e ZQBjAGgAbwAgAEcAbwBkACAAQgBsAGUAcwBzACAAWQBvAHUAIQA=""
Argumentos requeridos:
--target= - IP o nombre de la máquina a atacar.
--payload= - Carga útil a ejecutar en la máquina de destino.
Argumentos opcionales:
--username= - Nombre de usuario para autenticarse en el equipo remoto.
--password= - Contraseña del usuario.
--domain= - Nombre del dominio. Si no se establece, se usará un punto (.) en su lugar.
--service= - Servicio a modificar para ejecutar la carga útil. Una vez completada la carga útil, el servicio se restaurará.
Nota: Si no se especifica ningún servicio, el programa buscará un servicio aleatorio para ejecutar.
Nota: Si el servicio seleccionado tiene una cuenta que no es de sistema, se ignorará.
--help - Muestra la información de ayuda.