GhostTask: crea tareas programadas de forma sigilosa manipulando el registro
Si bien el uso de tareas programadas como medio de persistencia no es un enfoque novedoso, los atacantes han ido mejorando sus técnicas para ocultar sus tareas maliciosas. Un método notable consiste en eliminar la clave de registro SD, que representa el descriptor de seguridad, ocultando así la tarea programada de las investigaciones forenses. Inspirándose en la investigación de WithSecure sobre la manipulación o tampering de tareas programadas, explicaron la viabilidad de crear una tarea programada únicamente mediante la manipulación de la clave de registro. Este enfoque puede evitar la generación de registros de eventos de creación de tareas programadas, como 4698 y 106, ofreciendo un método más sigiloso para establecer la persistencia.
A raíz de esto Chris Au aka netero1010 ha desarrollado una PoC para demostrar la creación de tareas programadas mediante la manipulación directa del registro. Se trata de la herramienta GhostTask que ofrece las siguientes características:
- Crea tareas programadas con un descriptor de seguridad restrictivo, haciéndolas invisibles para todos los usuarios.
- Establece tareas programadas directamente a través del registro, evitando la generación de registros de eventos estándar de Windows.
- Proporciona soporte para modificar tareas programadas existentes sin generar registros de eventos de Windows.
- Admite la creación remota de tareas programadas (mediante el uso de Silver Ticket especialmente diseñado).
- Admite la ejecución en C2 con el módulo de ejecución PE en memoria (por ejemplo, memexec de BruteRatel)
Limitaciones
- Requiere privilegios elevados: La creación y modificación de tareas programadas con GhostTask requiere privilegios de «NT AUTHORITY/SYSTEM».
- Reinicio del sistema: Para que las tareas creadas con GhostPack se activen, es necesario reiniciar el sistema o esperar al siguiente reinicio programado.
Compilación
x86_64-w64-mingw32-gcc GhostTask.c -o GhostTask.exe -lrpcrt4
Uso
Usage: GhostTask.exe
Ejemplos
GhostTask.exe localhost add demo "cmd.exe" "/c notepad.exe" LABAdministrator weekly 14:12 monday,thursday
GhostTask.exe localhost add "MicrosoftOfficeOffice Automatic Updates 2.0" "cmd.exe" "/c notepad.exe" LABemployee001 daily 20:37
3. Crea una nueva tarea programada en una computadora remota:
kerberos::golden /domain:LAB.CORP /sid:S-1-5-21-1111111111-1111111111-1111111111 /aes256:[aes256hash] /user:Administrator /service:cifs /target:dc01.lab.corp /sids:S-1-5-18 /endin:600 /renewmax:10080
Crea una nueva tarea programada en el servidor DC01 de forma remota, que iniciará notepad.exe todos los días a las 3:19 p.m.:
GhostTask.exe DC01.lab.corp add demo "cmd.exe" "/c notepad.exe" LABAdministrator daily 15:19
Powered by WPeMatico