Skip to content
KitploitKITPLOIT
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ProcessHider — Herramienta de post-explotación para ocultar procesos de aplicaciones de monitoreo | Kitploit
Herramientas/GitHubGitHub/m00nrise/processhider
Escalada de PrivilegiosMecanismos de PersistenciaEvasión de IDS/IPSPost-ExplotaciónPruebas de PenetraciónRed Teaming
GitHubm00nrise/processhider

ProcessHider

Herramienta de post-explotación para ocultar procesos de aplicaciones de monitoreo

Ver Repositorio
746177hace 9 añosRevisado por Kitploit

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 →
Compartir

#ProcessHider

Creado por M00nRise

NOTA IMPORTANTE

Esta herramienta está permitida solo para pruebas de penetración y otras actividades de sombrero blanco. ¡El uso ilegal está absolutamente prohibido!

Acerca de

ProcessHider es una herramienta de post-explotación diseñada para ocultar procesos de herramientas de monitoreo como el Administrador de tareas y Process Explorer, evitando así que los administradores descubran los procesos del payload. La herramienta funciona tanto en versiones de 32 como de 64 bits, detectando automáticamente la versión del sistema operativo y utilizando la versión correcta de la herramienta.

ProcessHider está disponible como un archivo EXE o como un script de Powershell.

Licencia

Esta herramienta está bajo la licencia BSD-3:

Copyright (c) 2016, M00nRise

Todos los derechos reservados.

Por la presente se otorga permiso, libre de cargos, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para tratar el Software sin restricción, incluidos, sin limitación, los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir a las personas a las que se les proporcione el Software hacer lo mismo, sujeto a las siguientes condiciones:

El aviso de copyright anterior y este aviso de permiso deberán incluirse en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DEL COPYRIGHT SERÁN RESPONSABLES POR NINGÚN RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRA MANERA, DERIVADA DE, FUERA DE O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTRO TIPO DE ACCIONES EN EL SOFTWARE.

Uso de ProcessHider

Para compilar el proyecto, use "build-me.bat" que se encuentra en el directorio raíz. Hay dos versiones del script completo: EXE y Powershell.

Para usar el EXE, llame al archivo principal, ProcessHider, que está en MainFile, desde cmd, usando las siguientes opciones:

  • -i - especifique los ID de proceso que desea ocultar, separados por comas (¡sin espacios!)
  • -n - especifique los nombres de proceso que desea ocultar, separados por comas (de nuevo, sin espacios)
  • -x - especifique las aplicaciones de monitoreo que desea evitar, además de las predeterminadas (powershell.exe,taskmgr.exe,procexp.exe,procexp64.exe,perfmon.exe)

Para usar Powershell, use Powershell\Output\fullScript.ps1, con los mismos argumentos que el exe.

Ejemplo de uso:

root@kitploit:~
`ProcessHider -i 5454,3672 -n "chrome.exe,notepad.exe" -x "cmd.exe"`

Nota: debe usar al menos uno de -i o -n. El ocultador se asegurará de ocultarse a sí mismo también.

Bibliotecas externas y dependencias

El proyecto utiliza las siguientes bibliotecas y proyectos:

El script findvs está tomado de EasyHook: https://easyhook.github.io/

Invoke-ReflectivePEInjection de clymb3r, disponible en https://github.com/PowerShellMafia/PowerSploit/blob/master/CodeExecution/Invoke-ReflectivePEInjection.ps1

Xgetopt de Hans Dietrich, disponible en http://www.codeproject.com/Articles/1940/XGetopt-A-Unix-compatible-getopt-for-MFC-and-Win32

NtHookEngine de Daniel Pistelli, disponible en http://www.codeproject.com/Articles/21414/Powerful-x-x-Mini-Hook-Engine

ReflectiveDLLInjection de Stephen Fewer de Harmony Security, disponible en https://github.com/stephenfewer/ReflectiveDLLInjection

"Easy way to set up global API hooks" de Sergey Podobry, Apriorit Inc, disponible en http://www.codeproject.com/Articles/49319/Easy-way-to-set-up-global-API-hooks

No hay dependencia de ninguna de esas bibliotecas ni del runtime de VC++, ya que todas están enlazadas estáticamente.

Estructura y funcionamiento

Primero, el ocultador verifica si el sistema operativo es de 32 o 64 bits, y elige la versión correcta para usar. Luego, lanza un demonio que busca una de las herramientas de monitoreo prohibidas. Cuando encuentra una, utiliza la inyección de DLL para lanzar el payload — que engancha la llamada a NtQuerySystemInformation, el método que las herramientas del sistema operativo utilizan para enumerar procesos activos, y elimina cada uno de los procesos especificados (y el demonio) de los resultados.

Contribuciones

Las contribuciones son muy bienvenidas. Asegúrese de que al trabajar en los scripts de Powershell, no trabaje en el "fullScript" sino en "daemon-integration" e "Invoke-ReflectivePEInjectionLite", ya que el script de compilación utiliza estos archivos como fuentes para fullScript/

Problemas y tareas pendientes

Problemas:

  • El inyector de Powershell (Invoke-ReflectivePEInjection) es extremadamente lento. Necesito mejorar este script.
  • A veces el ocultador se bloquea durante la inyección (parece cuando un proceso se está cerrando).
  • A veces powershell se bloquea después de intentar obtener la lista de procesos usando "Get-Process".
  • Inyectar justo cuando se carga un proceso puede causar que se bloquee (especialmente Process Explorer). Ahora está solucionado con un breve retraso, pero se necesita una mejor solución, ya que a veces el retraso es notable.

Tareas pendientes:

  • Encontrar una forma de enganchar las llamadas a "tasklist.exe" - ahora es demasiado rápido (¿quizás usando también una llamada API diferente?).
  • Construir una versión de Powershell de esta herramienta.
  • Crear una forma más elegante de pasar argumentos a la DLL inyectada.
  • Reemplazar el uso de lista enlazada con una plantilla de c++11.
Descargar herramienta