Escenario simple siguiente durante la prueba de lápiz:
- Tengo ejecución remota de código en un cuadro de Windows y soy SYSTEM (ya sea por la forma en que ingresé en el cuadro o por el método de persistencia que elegí)
- Tengo mis manos en credenciales locales o de dominio que quiero usar (como en: tener un shell remoto como ese tipo).
- ningún usuario ha iniciado sesión (si uno estaba loggend y no había un software de protección, podría inyectar en uno de sus procesos. Sí, mala idea, muy ruidoso)
Ahora windows runas.exe ni siquiera se inicia, las metasasit runas no funcionan, empire runas / spawnas no funciona, porque soy SYSTEM en la sesión 0. Según tengo entendido, las dos últimas hacen un LogonUser bastante ingenuo () = > CreateProcessAsUser (). Ni siquiera puedo generar un proceso como administrador local de esa manera, a pesar de que tengo sus credenciales.
Mi suposición no informada es que necesitarías hacer más magia involucrada (en el peor de los casos crear una nueva sesión de escritorio. Por ejemplo, el servicio RDP se ejecuta como sistema y usa mis credenciales para crear procesos completamente funcionales como yo).
Actualmente, la única forma en que lo veo es un viaje de varios días a las partes internas de Windows y escribiendo mi propio módulo de implante o módulo de rieles metasploit. Pero este problema debe haberse resuelto, ms08_067 fue hace 10 años.
¿Cómo puedo pasar de SISTEMA a DOMINIO \ joe o. \ jane si tengo las credenciales?