CrystalDump es una implementación en Crystal del conocido proyecto NativeDump, diseñado específicamente para volcar el proceso lsass (Local Security Authority Subsystem Service) utilizando únicamente funciones de la API nativa de Windows (NTAPI).
Esta herramienta se destaca por su enfoque minimalista y su portabilidad, al depender únicamente de las funciones básicas del sistema operativo.
Entre las principales funcionalidades de CrystalDump se encuentran:
- Elevación de privilegios: Utiliza las funciones
NtOpenProcessToken
yNtAdjustPrivilegesToken
para obtener los privilegios necesarios (SeDebugPrivilege) para acceder al proceso lsass. - Enumeración de procesos: Emplea las funciones
NtGetNextProcess
yNtQueryInformationProcess
para localizar y obtener un manejador al proceso lsass. - Recolección de información: Utiliza
NtReadVirtualMemory
yNtQueryInformationProcess
para obtener información crucial sobre el proceso lsass, como los módulos cargados y las regiones de memoria. - Remaping de ntdll.dll: Una característica avanzada permite remapear la librería ntdll.dll del proceso lsass a través de la creación de un proceso en modo debug. Para ello, se utilizan las funciones
NtQueryInformationProcess
,NtReadVirtualMemory
,NtProtectVirtualMemory
,NtClose
,NtTerminateProcess
yNtRemoveProcessDebug
, junto con la funciónCreateProcessW
de la API de Windows.
Compilación:
crystal build crystaldump.cr --release
Uso:
La sintaxis de uso de CrystalDump es sencilla:
crystaldump.exe [-o OUTPUTFILE ] [-r]
- -o OUTPUTFILE (opcional): Especifica el nombre del archivo de salida. Por defecto, se crea un archivo llamado "crystal.dmp".
- -r (opcional): Activa el remapeo de la librería ntdll.dll.
Ejemplos:
- Ejecución por defecto (crea un fichero crystal.dmp):
crystaldump.exe
- Remaping de ntdll.dll:
crystaldump.exe -r
- Especificando nombre de archivo de salida:
crystaldump.exe -r -o document.pptx
Referencias: Crystal Malware por Rastamouse
Comentarios
Publicar un comentario