Pentesting con PowerShell: Automatización de búsqueda de debilidades para escalada de privilegios #Pentest
La fase de post-explotación de un Ethical Hacking es una de las fases más completas y a la par más complejas, ya que podemos hacer muchas cosas, pero debemos disponer de una gran lista de comprobación de cosas por hacer. Por eso, el artículo de hoy pretende mostrar el potencial de Powershell y de los diferentes repositorios y herramientas que permiten la automatización de la búsqueda de debilidades, malas configuraciones, leaks o vulnerabilidades que permitan la escalada de privilegio en un sistema Windows dentro del ámbito de un pentest.
Antes de nada, me gustaría retomar tras unos meses la escritura de artículos técnicos y es que se echaba de menos el blog. Vuelvo con fuerza. El próximo día 4 de febrero (viernes) estaré junto a mi compañero Luis Eduardo Álvarez dando un taller sobre on-the-fly, la herramienta que IdeasLocas presentó en BlackHat Europe 2021 y en el evento de H-c0n.
Además, este año tengo la suerte de volver a RootedCON, los días 8 y 9 de marzo con dos talleres. El primero está dedicado a la parte ofensiva de la ciberseguridad y al pentesting con Powershell. En este taller se entregará el libro de 0xword sobre "Pentesting con Powershell: 2ª Edcición". El segundo taller es de Practical Pentesting, una forma diferente de aprender pentesting a través del uso de escenarios y entornos virtualizados donde cualquier concepto será practicado.
Powershell está muy presente en muchos de los trabajos que hacemos o que revisamos, por lo que vamos a jugar con ello en este artículo y vamos a ver algunas herramientas de interés para la búsqueda de escalada de privilegios. No es la primera vez que hablaremos de escalada de privilegios o de hacernos una ‘checklist’ sobre ello, pero buscaremos comentar algunas de las herramientas y su potencial.
Antes de empezar, vamos a recordar un par de artículos donde se hablan de diferentes técnicas que revisar en una post-explotación para poder lograr una escalada de privilegio en Windows. No solo se vive de vulnerabilidades, por lo que es importante el poder encontrar los fallos de configuración, esas debilidades que se han introducido al instalar un servicio, una aplicación con demasiado privilegio, un error en la configuración de permisos de una carpeta, una DLL que no se encuentra, un leak en una estructura del sistema, etcétera:
- PrivEsc: Técnicas para elevar privilegios en Windows en un test de intrusión (1 de 2)
- PrivEsc: Técnicas para elevar privilegios en Windows en un test de intrusión (2 de 2)
A continuación, vamos a ver un listado de herramientas que están escritas en Powershell o pueden ser ejecutadas desde PowerShell:
WinPEAS
WinPEAS es una de las mejores herramientas automáticas. No está escrita en Powershell, pero puede ejecutarse a través de un BAT o de un EXE. Sin duda es una herramienta a tener muy en cuenta en un proceso de post-explotación cuando se busca encontrar un camino para la escalada de privilegios. Algunas de las cosas que la herramienta recopila e informa son:
Ejecutando con el parámetro “log” se vuelca la salida completa a un fichero y poder analizar todo lo que se ha podido encontrar. Es una de las herramientas más completas.
Sherlock
Este herramienta escrita en Powershell permite encontrar de manera rápida la falta de ciertos parches en el sistema. Es una herramienta orientada a la falta de actualizaciones en el sistema. Se puede ver la carga de las funciones en remoto y como la función ‘Find-AllVulns’ permitiría ejecutar todas los chequeos para verificar la ausencia de algunos de esos parches, lo cual podría provocar una escalada de privilegios.
Figura 1: Pentesting con PowerShell: Automatización de búsqueda
de debilidades para escalada de privilegios #Pentest
Antes de nada, me gustaría retomar tras unos meses la escritura de artículos técnicos y es que se echaba de menos el blog. Vuelvo con fuerza. El próximo día 4 de febrero (viernes) estaré junto a mi compañero Luis Eduardo Álvarez dando un taller sobre on-the-fly, la herramienta que IdeasLocas presentó en BlackHat Europe 2021 y en el evento de H-c0n.
Figura 2: Libro de Ethical Hacking 2ª Edición de Pablo González en 0xWord |
Powershell está muy presente en muchos de los trabajos que hacemos o que revisamos, por lo que vamos a jugar con ello en este artículo y vamos a ver algunas herramientas de interés para la búsqueda de escalada de privilegios. No es la primera vez que hablaremos de escalada de privilegios o de hacernos una ‘checklist’ sobre ello, pero buscaremos comentar algunas de las herramientas y su potencial.
Figura 4: Pentesting con Powershell 2ª Edición de Pablo González en 0xWord |
Antes de empezar, vamos a recordar un par de artículos donde se hablan de diferentes técnicas que revisar en una post-explotación para poder lograr una escalada de privilegio en Windows. No solo se vive de vulnerabilidades, por lo que es importante el poder encontrar los fallos de configuración, esas debilidades que se han introducido al instalar un servicio, una aplicación con demasiado privilegio, un error en la configuración de permisos de una carpeta, una DLL que no se encuentra, un leak en una estructura del sistema, etcétera:
- PrivEsc: Técnicas para elevar privilegios en Windows en un test de intrusión (1 de 2)
- PrivEsc: Técnicas para elevar privilegios en Windows en un test de intrusión (2 de 2)
A continuación, vamos a ver un listado de herramientas que están escritas en Powershell o pueden ser ejecutadas desde PowerShell:
WinPEAS
WinPEAS es una de las mejores herramientas automáticas. No está escrita en Powershell, pero puede ejecutarse a través de un BAT o de un EXE. Sin duda es una herramienta a tener muy en cuenta en un proceso de post-explotación cuando se busca encontrar un camino para la escalada de privilegios. Algunas de las cosas que la herramienta recopila e informa son:
- Información sobre el sistema buscando falta de KBs.
- Buscar vulnerabilidades en el kernel.
- Leaks en el historial de Powershell.
- Información jugosa en variables de entorno.
- Utilizar searchsploit para buscar exploits para potenciales vulnerabilidades en el kernel.
- Realiza enumeración de recursos y chequea: LAPS, WDigest, Credentials Guard, Cached Credentiales, UAC, etcétera.
- Chequea los privilegios actuales del proceso dónde se ejecuta.
- Información y chequeos “típicos” sobre servicios (rutas sin comillas, permisos débiles en las carpetas de los binarios, etc).
- DLL Hijacking.
- Intento de recuperación de credenciales de Windows de diferentes entornos (RDCM, DPAPI, Windows Vault, almacenamiento de credenciales WiFi, etcétera).
- Y podemos decir: etcétera.
Figura 5: WinPEAS
Ejecutando con el parámetro “log” se vuelca la salida completa a un fichero y poder analizar todo lo que se ha podido encontrar. Es una de las herramientas más completas.
Sherlock
Este herramienta escrita en Powershell permite encontrar de manera rápida la falta de ciertos parches en el sistema. Es una herramienta orientada a la falta de actualizaciones en el sistema. Se puede ver la carga de las funciones en remoto y como la función ‘Find-AllVulns’ permitiría ejecutar todas los chequeos para verificar la ausencia de algunos de esos parches, lo cual podría provocar una escalada de privilegios.
Este tipo de herramienta, en un entorno como un Windows 10, no debería sacar nada, pero siempre hay que tenerla a mano, ya que lo podemos tomar como un chequeo más.
Watson
Esta herramienta permite enumerar los KBs que no se encuentren instalados en el sistema y, posteriormente, sugerir exploits para la escalada de privilegios. La herramienta es más actual que los chequeos de Sherlock, por lo que puede ser de más utilidad en estos sistemas.
De nuevo, esta herramienta busca la falta de actualizaciones para encontrar un camino, pero es importante entender que lo normal es que la escalada de privilegios venga por fallos de configuración o debilidades en el sistema. También hemos hablado de herramientas como Windows Exploit Suggester en otras ocasiones.
PowerUp
PowerUp es un repositorio con una serie de funciones enfocadas a recopilar y chequear diferentes pruebas. Similar a la herramienta WinPEAS. Es cierto que PowerUp es más antigua, pero en este caso todavía válida, ya que la verificación de debilidades no cambia en exceso de un sistema a otro.
Como se puede ver en la imagen, tras los diferentes chequeos (se puede ver la palabra “check” indicando que es lo que ha saltado y hay que revisar) se puede obtener indicios sobre el camino que se puede seguir en la escalada de privilegios.
Sin duda, la escalada de privilegios es un proceso vital en la fase de post-explotación y una parte importante y que en algunos casos puede ser bastante costosa de lograr, todo depende del sistema al que el pentester se enfrente. Herramientas útiles para tener en la mochila del pentester, siempre dentro del test de intrusión profesional.
Watson
Esta herramienta permite enumerar los KBs que no se encuentren instalados en el sistema y, posteriormente, sugerir exploits para la escalada de privilegios. La herramienta es más actual que los chequeos de Sherlock, por lo que puede ser de más utilidad en estos sistemas.
Figura 7: Watson
De nuevo, esta herramienta busca la falta de actualizaciones para encontrar un camino, pero es importante entender que lo normal es que la escalada de privilegios venga por fallos de configuración o debilidades en el sistema. También hemos hablado de herramientas como Windows Exploit Suggester en otras ocasiones.
PowerUp
PowerUp es un repositorio con una serie de funciones enfocadas a recopilar y chequear diferentes pruebas. Similar a la herramienta WinPEAS. Es cierto que PowerUp es más antigua, pero en este caso todavía válida, ya que la verificación de debilidades no cambia en exceso de un sistema a otro.
Figura 8: PowerUP
Como se puede ver en la imagen, tras los diferentes chequeos (se puede ver la palabra “check” indicando que es lo que ha saltado y hay que revisar) se puede obtener indicios sobre el camino que se puede seguir en la escalada de privilegios.
Sin duda, la escalada de privilegios es un proceso vital en la fase de post-explotación y una parte importante y que en algunos casos puede ser bastante costosa de lograr, todo depende del sistema al que el pentester se enfrente. Herramientas útiles para tener en la mochila del pentester, siempre dentro del test de intrusión profesional.
Saludos,
Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters: Gold Edition", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root", “Pentesting con Powershell (2ª Edición)”, "Pentesting con Kali Silver Edition" y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDCO de Telefónica. Para consultas puedes usar el Buzón Público para contactar con Pablo González - Conseguir 100 Tempos Gratis en MyPublicInbox
Contactar con Pablo González |
No hay comentarios:
Publicar un comentario