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
GateX — FortinetHunter (@YogSoth0) aplicación de cracking de binarios. Parte del CTF para FortinetHunter. Puerta ELF: un Nuitka onefile stripped, un verificador Argon2id con XOR ofuscado, integridad AES-GCM. | Kitploit
Herramientas/GitHubGitHub/abraxas/gatex
Descifrado de ContraseñasAnálisis EstáticoAnálisis Dinámico (Sandboxing)Análisis de HashIngeniería InversaVirtualización de SeguridadCriptografíaCTFAnálisis de BinariosAprendizaje y EducaciónExplotación de Binarios
1hace 1 mesAún no revisado

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
GitHub
abraxas/gatex

GateX

FortinetHunter (@YogSoth0) aplicación de cracking de binarios. Parte del CTF para FortinetHunter. Puerta ELF: un Nuitka onefile stripped, un verificador Argon2id con XOR ofuscado, integridad AES-GCM.

Ver Repositorio

GateX

GateX TUI

TUI que re-clava el "Fortinet Hunter 2026" Nuitka password gate. Parte de un reto capture-the-flag de @YoSoth0) Write-up: Hunting the Fortinet Hunter 0-day

El ELF nunca se ejecuta en el host. GateX desempaqueta estáticamente el payload onefile, desenmascara con XOR el hash Argon2id y el banner AES-GCM ofuscados, reescribe esos blobs para que FH_PASS=gatex satisfaga ambas comprobaciones, y luego ejecuta el binario interno dentro de una jaula Docker bloqueada.

Esto no recupera la passphrase original del autor. Argon2id (m=65536,t=3,p=4) está haciendo su trabajo. Los plugins ya estaban compilados dentro del ELF interno; la contraseña solo desenvuelve un banner.


abraxas

  • X / Twitter: @abraxas_null
  • Blog: abraxaslabs.tech
  • GitHub: github.com/abraxas
  • Este repositorio: github.com/abraxas/GateX

Lo que necesitas

  • Python 3.11+
  • Docker Desktop (linux/amd64 — qemu/Rosetta en Apple Silicon)
  • El zip del CTF 7350FH.zip (no incluido)

El payload es código no confiable con forma de malware de CTF. GateX solo lo exec-uta bajo:

  • --platform linux/amd64
  • --network none
  • --read-only + tmpfs para el desempaquetado
  • --cap-drop ALL --security-opt no-new-privileges:true
  • uid 65532, 2 GiB de RAM, 1 CPU, 256 pids

Instalación

git clone [email protected]:abraxas/GateX.git
cd GateX
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

Coloca el zip del reto (o el ELF interno) donde GateX pueda verlo:

mkdir -p files
cp /path/to/7350FH.zip files/7350FH.zip

Ejecución

TUI:

.venv/bin/python -m gatex --target files/7350FH.zip

Dentro de la TUI:

/probe          # static zstd unpack + assemble the Argon2id hash (no exec)
/sandbox up     # start Docker, build gatex-cage:noble
/bypass         # re-key to FH_PASS=gatex and exec list in the cage
/cmd --help     # argv against the patched inner ELF
/cmd --version
/cmd score --ml

Sin interfaz:

# unpack + print the assembled argon2id hash (no TUI, no exec)
.venv/bin/python -m gatex --target files/7350FH.zip --probe

# re-key + exec list in the cage
.venv/bin/python -m gatex --target files/7350FH.zip --bypass

El opcional --session name mantiene el estado bajo ~/.gatex/sessions/ (modo 0600).

Comandos

ComandoQué hace
/helpLista de comandos
/probeDesempaquetado estático + ensamblado del hash Argon2id (sin exec)
/bypass [password]Re-clava los blobs del gate (por defecto gatex) y ejecuta en la jaula
/cmd [args…]argv pasado al ELF parcheado (list, --help, --version, …)
/sandbox /sandbox up /sandbox downEstado de Docker / construir / destruir
/target <zip|elf>Cambiar de binario
/session nameCambiar de sesión reutilizable
/timeout <seconds>Tiempo de espera de exec en la jaula
/quitGuardar y salir

F1 = ayuda.

Cómo funciona realmente el gate

  1. El ELF externo es un Nuitka onefile stripped (KAY + zstd). La imagen interna es 7350FH.bin.
  2. Catorce blobs base64 ofuscados con XOR se sitúan delante de la constante BYTES de Nuitka c + fh-slim-hardened-v2.
  3. El desenmascarado es utf-8(xor(b64decode(ct), cycle(b64decode(key)))). Tres fragmentos ensamblan el PHC real. Una cadena Argon2 en texto plano en el binario es el señuelo del doctest de argon2-cffi — ignórala.
  4. Pipeline: verificación Argon2id → HKDF-SHA256 (fh-slim-v2-salt-2026 / fh-slim-v2-core) → AES-256-GCM de un banner de 79 bytes. Luego cli.main(). Los exploits no están en el texto cifrado.
  5. /bypass escribe un nuevo PHC de una contraseña que conoces, cifra un banner de reemplazo bajo el AAD b"fh-slim-hardened-v2" (el valor de bytes, no la aguja cfh-… en disco), y ejecuta el interno parcheado como /opt/fh/7350FH.bin con LD_LIBRARY_PATH=$ORIGIN.

El interno original + FH_PASS=gatex sigue imprimiendo [!] access denied. Ese es el experimento.

Evidencia

docker exec en vivo contra el interno re-clavado, linux/amd64, net none, caps eliminadas, uid 65532. Capturado el 2026-08-26.

bypass

version

before / after

list

Transcripciones completas: files/evidence/*.txt y files/hunter-cli/.

Pruebas

.venv/bin/pip install pytest
.venv/bin/python -m pytest tests/test_offline.py -q

Las pruebas de patch/unpack que necesitan files/7350FH.zip se omiten si el zip no está presente.

Licencia / alcance

Escrito para un CTF que el autor permitió. No apuntes esto a sistemas que no poseas. GateX no incluye exploits ni copia de 7350FH.

Descargar herramienta