Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
aether — Herramienta de análisis forense de memoria y caza de amenazas para Windows que escanea la memoria de procesos en vivo en busca de patrones maliciosos, técnicas de inyección y ensamblados .NET cargados de forma reflectiva, utilizando un modelo de confianza multicapa para reducir los falsos positivos. | Kitploit
Herramientas/GitHubGitHub/0xsp-srd/aether
Análisis Dinámico (Sandboxing)Forensia de MemoriaAnálisis de VulnerabilidadesShellcodeAnálisis ForenseAnálisis de MalwareForensia DigitalComando y ControlAnálisis de BinariosRespuesta a Incidentes
GitHub
58416hace 2 mesesRevisado por Kitploit
0xsp-srd/aether

aether

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Herramienta de análisis forense de memoria y caza de amenazas para Windows que escanea la memoria de procesos en vivo en busca de patrones maliciosos, técnicas de inyección y ensamblados .NET cargados de forma reflectiva, utilizando un modelo de confianza multicapa para reducir los falsos positivos.

Compartir

Logotipo de Aether


Aether

versión : 0.9 (versión estable)

Aether es una herramienta de análisis forense de memoria y caza de amenazas para Windows que escanea la memoria de procesos en vivo en busca de patrones maliciosos, detecta técnicas de inyección, firmas de implantes y ensamblados .NET cargados de forma reflectiva. Funciona con un modelo de confianza multicapa que reduce drásticamente la tasa de falsos positivos y caza comportamientos maliciosos. Aether tiene buenas capacidades para detectar técnicas de Hollowing, APC y secuestro de hilos. Los analistas de seguridad pueden utilizarla para escanear, cazar y capturar instantáneas (snapshots) de regiones sospechosas para su análisis sin conexión.

Documentación: https://0xsp.com/docs/aether-getting-started/

Artículos de investigación:

https://0xsp.com/security%20research%20%20development%20srd/aether-memory-forensics-and-threat-hunting-tool/

https://0xsp.com/research/game-of-hide-and-seek-detecting-dynamic-api-resolution-at-runtime-with-aether/

Características principales

Explicaciones rápidas de las características principales de Aether; puedes leer el artículo técnico completo para obtener más información:

Escaneo de firmas

  • Coincidencia de patrones de bytes en la memoria del proceso con un índice de primer byte que proporciona una aceleración de 50-100x frente al escaneo ingenuo
  • Codificación dual ASCII + UTF-16LE: detecta cadenas almacenadas por el CLR de .NET (donde "msxsl:script" se convierte en 6D 00 73 00 78 00 ...)
  • Carga dinámica de reglas desde archivos JSON: coloca nuevas firmas en rules/ sin recompilar
  • Detección de cabecera PE en regiones MEM_PRIVATE: marca ensamblados .NET cargados de forma reflectiva (metadatos MZ + PE + BSJB)

IOCs estructurales de memoria

Aether aplica cinco filtros sobre la señal bruta del conjunto de trabajo (working set), de modo que un hallazgo requiere múltiples indicadores coincidentes antes de notificarse con el filtrado de FP:

CapaFiltroPropósito
L1EstructuralSolo se consideran subregiones IMAGE ejecutables (elimina el ruido COW de .data / .rdata)
L2CuantitativoClasifica según el recuento de private_pages y private_ratio (bajo / medio / alto)
L3CorroboraciónPromueve solo si una señal independiente coincide en la misma base de asignación: coincidencia de firma, missing_peb_entry, private_rwx, prólogo de hook o diff en disco
L4Consciente de CLRSupresión por módulo para objetivos ngen / R2R / JIT por niveles (*.ni.dll, mscor*, clr*, coreclr, system.private.corelib*) en lugar de omitirlo todo cuando el CLR está cargado
L5Diff en discoAsigna el archivo del módulo con CreateFileMappingW(SEC_IMAGE_NO_EXECUTE); compara los primeros 16 bytes de cada página ejecutable privada con la misma RVA en disco. Cualquier divergencia es un IOC de modificación real

Otras comprobaciones estructurales:

  • Referencia cruzada de módulos del PEB: asignaciones MEM_IMAGE que no están en la lista de módulos del PEB (DLL hollowing / module stomping)
  • Escaneo del conjunto de trabajo: detección de páginas de código modificado mediante K32QueryWorkingSetEx, agrupado con una llamada al sistema por región en lugar de una por página de 4 KB (≈ 50-100× más rápido que el bucle ingenuo)
  • Detección de RWX privado: marca asignaciones MEM_PRIVATE + PAGE_EXECUTE_* (produce resultados FP) (shellcode, JIT spray, asignaciones de stubs de código dinámicos)
  • Sonda de prólogo de hook: lee los primeros 16 bytes de cada página de código privada y compara con trampolines clásicos x86/x64:
    • E9 ?? ?? ?? ?? — JMP rel32
    • FF 25 ?? ?? ?? ?? — JMP [rip+disp32]
    • 68 ?? ?? ?? ?? C3 — PUSH imm32 ; RET
    • 48 B8 ?? ?? ?? ?? ?? ?? ?? ?? FF E0 — MOV RAX, imm64 ; JMP RAX
    • 49 BB ?? ?? ?? ?? ?? ?? ?? ?? 41 FF E3 — estilo Detours MOV R11, imm64 ; JMP R11
  • Detección de CLR: sonda de objeto de sección para Cor_Private_IPCBlock_v4_<PID> y el v2 Cor_Private_IPCBlock_<PID> (.NET 2/3 heredado / mscorwks), de modo que los grupos de aplicaciones ruidosos que ejecutan runtimes antiguos no se clasifiquen erróneamente

Validación de dirección de inicio de hilo (TSAV / L8)

Aether comprueba los hilos con una clasificación más estricta y una correlación cruzada con los hallazgos L1–L5. Para cada hilo creado en el proceso objetivo, Aether lee su Win32StartAddress mediante NtQueryInformationThread y, cuando los permisos lo permiten, también el Rip / Eip en vivo mediante GetThreadContext / Wow64GetThreadContext. Cada dirección se clasifica según la siguiente tabla; para más detalles, lee el artículo del blog:

VeredictoSeveridadCondición
TSAV_SHELLCODE_PRIVATECRÍTICALa dirección se encuentra en una región MEM_PRIVATE + PAGE_EXECUTE_* — shellcode clásico de CreateRemoteThread
TSAV_SUSPENDED_RIPCRÍTICAEl Rip del hilo suspendido no coincide con Win32StartAddress y resuelve a una región sospechosa: detecta la suplantación de Win32StartAddress (trucos EarlyBird / APC) y los secuestros de SetThreadContext
TSAV_HOLLOWED_HOSTALTADirección dentro de una asignación MEM_IMAGE que no está en la lista de módulos del PEB (DLL hollowing / module stomping)
TSAV_MODIFIED_HOSTALTADirección dentro de una asignación MEM_IMAGE que el pipeline L1–L5 ya marcó como MODIFIED_CODE_*, MISSING_PEB, PRIVATE_RWX, DISK_MEM_DIFF o HOOK_PROLOGUE
TSAV_STAGED_PRIVATE_RWALTAMEM_PRIVATE + PAGE_READWRITE — preparación (staging) de shellcode previa a VirtualProtect
TSAV_MAPPED_NONPEMEDIAMEM_MAPPED (sección respaldada por el archivo de paginación) sin cabecera PE — cargador reflectivo sRDI / pagefile
TSAV_SPOOF_TRAMPOLINEMEDIALa dirección coincide con un trampolín en lista de denegados (LoadLibraryA/W/ExA/W, WinExec, CreateProcessA/W, VirtualAlloc[Ex], RtlExitUserThread, RtlExitUserProcess, NtTerminateProcess, ShellExecuteA/W)

Lo que hace que esto sea más sólido que la comprobación básica de "la dirección de inicio está en algún módulo":

  • Verificación cruzada con VirtualQueryEx: cada dirección se consulta por Type / Protect / AllocationBase en una sola llamada O(1) en lugar de un escaneo lineal sobre la lista de módulos
  • Correlación cruzada con L1–L5: un hilo cuyo inicio cae dentro de una asignación ya marcada se actualiza de "OK" a TSAV_MODIFIED_HOST
  • Coherencia del PEB: los módulos vaciados (hollowed) se detectan incluso cuando la dirección de inicio cae técnicamente dentro de un rango "real"
  • Sonda de RIP suspendido: Win32StartAddress es escribible desde el proceso mediante NtSetInformationThread y es el campo suplantable; el Rip en vivo de un hilo suspendido es el que un cargador no puede reescribir fácilmente. Comparamos ambos y marcamos cualquier discrepancia que resuelva a una región sospechosa
  • Consciente de WoW64: cambia automáticamente a Wow64GetThreadContext y lee Eip para hilos de 32 bits dentro de un proceso de 64 bits
  • Escalera de derechos de acceso: degrada de QUERY_INFORMATION | GET_CONTEXT → QUERY_INFORMATION → QUERY_LIMITED_INFORMATION por hilo, de modo que los escenarios de acceso parcial siguen produciendo clasificaciones útiles
Descargar herramienta