Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
FFM — Modo de lucha por la libertad: arnés de hacking de código abierto | Kitploit
Herramientas/GitHubGitHub/justicerage/ffm
Escalada de PrivilegiosMovimiento LateralExfiltración de DatosRecopilación de InformaciónPost-ExplotaciónPruebas de PenetraciónComando y ControlUtilidades y FrameworksRed Teaming
GitHubjusticerage/ffm

FFM

Modo de lucha por la libertad: arnés de hacking de código abierto

3494736hace 6 mesesRevisado 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
Ver Repositorio

Modo de Lucha por la Libertad (FFM)

FFM es un arnés de hacking que puedes usar durante la fase de post-explotación de un compromiso de red team. La idea de la herramienta se derivó de una conferencia de 2007 de @thegrugq.

Se presentó en SSTIC 2018 (video) y la presentación de diapositivas adjunta está disponible en esta url. Si no estás familiarizado con esta clase de herramientas, se recomienda encarecidamente echarles un vistazo para entender cuál es el propósito de un arnés de hacking. Todos los comentarios están incluidos en las diapositivas.

Este proyecto se distribuye bajo los términos de la Licencia GPL v3.

Documentación

La documentación principal reside en este README y los módulos de comandos bajo commands/. La charla de SSTIC enlazada arriba sigue siendo el mejor contexto de alto nivel sobre cómo se pretende usar el arnés. Material adicional de tutoriales está disponible en:

  • https://ice-wzl.gitbook.io/hacknetics/c2-frameworks/ffm-documentation

Contribuyentes

  • ice-wzl contribuyó comandos, documentación y refactorizaciones durante la historia del proyecto.

Instalación

Instalación con Docker

  • Con la diversidad de prompts de terminal modernos, recomendamos encarecidamente usar docker con esta herramienta.
  • Utilizar el Dockerfile en este repositorio reducirá drásticamente los posibles errores encontrados.
  • Usar un contenedor para interactuar con hosts remotos también es más seguro. Si fueras explotado mientras interactúas con un host remoto, el atacante estaría en tu contenedor en lugar de tu host real. Esperemos que eso no ocurra.
  • Asegúrate de tener Docker instalado en tu sistema local
git clone https://github.com/JusticeRage/FFM.git
cd /FFM

docker build Docker_Install/ -t ffm:ffm

docker image list 
REPOSITORY                TAG         IMAGE ID      CREATED        SIZE
localhost/ffm             ffm         fb6dd17e3b91  9 minutes ago  614 MB
docker.io/library/ubuntu  22.04       3b418d7b466a  2 weeks ago    80.3 MB

# Ejecuta tu nuevo contenedor y accede a un prompt de /bin/bash como root
docker run -it --entrypoint /bin/bash -u 0 fb6dd17e3b91
  • Una vez dentro de tu contenedor, establece la passwd para root y neo
  • su neo y ya estás listo

Instalación sin Docker

  • No recomendado
 git clone https://github.com/JusticeRage/FFM.git
 cd /FFM
 pip install -r requirements.txt

Uso

El objetivo de un arnés de hacking es actuar como un asistente que automatiza tareas comunes durante la fase de post-explotación, pero también proteger al usuario de errores que pueda cometer.

Es una instrumentación del shell. Ejecuta ./ffm.py para activarlo y puedes empezar a trabajar inmediatamente. Los comandos están distribuidos en los pequeños módulos bajo commands/, con commands/command_manager.py manejando el descubrimiento y registro. Los grupos principales son enumeración, ayuda, sigilo, transferencia y ejecución.

Hay dos comandos que necesitas conocer:

  • Escribe !list para mostrar todos los comandos proporcionados por el arnés.
  • Escribe !list tags para ver las diferentes etiquetas bajo las que se pueden clasificar los comandos
!list tags
Lista de comandos disponibles:
	 enumeration
	 execution
	 help
	 stealth
	 transfer
  • Ahora puedes escribir !list enumeration (o cualquiera de las otras etiquetas) para ver comandos que pertenecen a esa categoría.
!list enumeration
Lista de comandos disponibles:
	!backup-hunter: Busca archivos de respaldo
	!info: Devuelve CPU(s), Arquitectura, Memoria y Versión del Kernel de la máquina actual.
	!log: Activa/desactiva el registro de la entrada y salida del arnés en un archivo.
	!mtime: Devuelve archivos modificados en los últimos X minutos
	!os: Muestra la distribución de la máquina actual.
	!db-hunter: Busca archivos .sqlite, .sqlite3 y .db
	!sshkeys: Busca claves SSH privadas y públicas en la máquina actual.
	!suid: Encuentra binarios SUID, SGID en la máquina actual.
	--snip--

  • Presiona SHIFT+TAB para realizar autocompletado en la máquina local. Esto puede ser útil si estás conectado por SSH a una computadora remota pero necesitas hacer referencia a un archivo que está en tu máquina.

Lista de características

Este arnés de hacking proporciona algunas características que se describen a continuación. Mientras se describen, también se introducirá la filosofía de diseño detrás de la herramienta. No se espera que todos los comandos implementados en FFM te sirvan. Cada uno tiene su propia forma de hacer las cosas, y ajustar el arnés a tus necesidades específicas probablemente requerirá que modifiques parte del código y/o escribas algunos plugins. Se ha trabajado mucho para asegurar que esto sea una tarea sin dolor.

Comandos

Comandos de Enumeración

  • !os es un comando extremadamente simple que solo ejecuta cat /etc/*release* para mostrar qué SO está ejecutando la máquina actual. Probablemente es más valioso como demostración de que, en el contexto de un arnés de hacking, puedes definir alias que funcionan a través de los límites de las máquinas. Conéctate por SSH a cualquier computadora, escribe !os y el comando se ejecutará. Los comandos de enumeración viven en commands/enumeration_commands.py, los comandos de ayuda en commands/help_commands.py, y los comandos relacionados con el sigilo están distribuidos entre commands/stealth_commands.py, commands/notty_sudo.py y commands/log_control.py.
  • !backup-hunter Busca archivos de respaldo
  • !info Devuelve CPU(s), Arquitectura, Memoria y Versión del Kernel de la máquina actual.
  • !log Activa/desactiva el registro de la entrada y salida del arnés en un archivo. Implementado en commands/log_control.py.
  • !mtime Devuelve archivos modificados en los últimos X minutos. Por ejemplo !mtime 5 obtendrá todos los archivos en la máquina local (a los que tengas derechos de ver) que hayan sido modificados en los últimos 5 minutos.
  • !db-hunter Busca archivos .sqlite, .sqlite3 y .db y otros archivos de bases de datos
  • !sshkeys Busca claves SSH privadas y públicas en la máquina actual.
  • !suid Encuentra binarios SUID, SGID en la máquina actual.
  • !strange-dirs Comprueba el dispositivo comenzando desde la ruta especificada por el usuario en busca de directorios extraños en un host
  • !sudo-version Comprueba si hay una versión vulnerable de sudo
  • !vm Comprueba si el dispositivo es una Máquina Virtual

Comandos de Transferencia

  • Comandos que te ayudan a descargar y subir archivos, bastante directos.
  • !download [archivo remoto] [ruta local] obtiene un archivo de la máquina remota y lo copia localmente a través del terminal. Este comando es un poco más complejo porque se requiere una verificación de errores más estricta, pero es otro comando que puedes leer fácilmente para empezar. Vive en commands/download_file.py. Ten en cuenta que requiere xxd u od en la máquina remota para funcionar correctamente.
  • !download-dir [directorio remoto] [destino local] transmite un archivo tar de un directorio remoto a través del terminal y lo extrae localmente sin tocar el sistema de archivos remoto. Vive en commands/download_directory.py. Requiere tar y base64 en la máquina remota, y también usa gzip cuando está disponible.
  • !upload [archivo local] [ruta remota] funciona exactamente igual que el comando anterior, excepto que se coloca un archivo local en la máquina remota. Vive en commands/upload_file.py.

Comandos de Ejecución

Descargar herramienta