# 264/tcp - Pentesting Check Point Firewall

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Es posible interactuar con los firewalls CheckPoint Firewall-1 para descubrir información valiosa, como el nombre del firewall y el nombre de la estación de gestión. Esto se puede hacer enviando una consulta al puerto 264/TCP.

Obtención de los nombres del firewall y de la estación de gestión

Mediante una petición de preautenticación, puedes ejecutar un módulo que tiene como objetivo al CheckPoint Firewall-1. Los comandos necesarios para esta operación se muestran a continuación:

use auxiliary/gather/checkpoint_hostname
set RHOST 10.10.10.10

Al ejecutarse, el módulo intenta contactar con el servicio SecuRemote Topology del firewall. Si tiene éxito, confirma la presencia de un CheckPoint Firewall y recupera los nombres tanto del firewall como del SmartCenter management host. A continuación hay un ejemplo de cómo podría verse la salida:

[*] Attempting to contact Checkpoint FW1 SecuRemote Topology service...
[+] Appears to be a CheckPoint Firewall...
[+] Firewall Host: FIREFIGHTER-SEC
[+] SmartCenter Host: FIREFIGHTER-MGMT.example.com
[*] Auxiliary module execution completed

Método alternativo para Hostname y ICA Name Discovery

Otra técnica implica un comando directo que envía una consulta específica al firewall y analiza la respuesta para extraer el hostname del firewall y el ICA name. El comando y su estructura son los siguientes:

printf '\x51\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x0bsecuremote\x00' | nc -q 1 10.10.10.10 264 | grep -a CN | cut -c 2-

La salida de este comando proporciona información detallada sobre el nombre del certificado (CN) y la organización (O) del firewall, como se muestra a continuación:

CN=Panama,O=MGMTT.srv.rxfrmi

HTTP Security Server Format String Bug (CAN-2004-0039)

Versiones afectadas: NG FCS, NG FP1, NG FP2, NG FP3 HF2, and NG with Application Intelligence R54/R55. Requisito: The HTTP Security Server or AI HTTP proxy must be enabled and transparently inspecting the targeted port; if HTTP inspection is disabled the vulnerable code path is never reached.

Activación del manejador de errores

El proxy rechaza mensajes HTTP malformados y construye su propia página de error con sprintf(errbuf, attacker_string);, permitiendo que bytes controlados por el atacante actúen como la format string. Envía una solicitud inválida a través del firewall y busca un error generado por el proxy que refleje tu payload:

printf 'BOGUS%%08x%%08x%%08x%%n HTTP/1.0\r\nHost: internal.local\r\n\r\n' | nc -nv [FIREWALL_IP] 80

Si HTTP inspection está activo, el firewall (no el backend server) responde inmediatamente, demostrando que el middlebox analizó y volvió a reproducir la request line.

Explotación

Format string primitive

  • Forzar el parser a entrar en la rutina de error (invalid method, URI, or headers).
  • Colocar dwords controlados por el atacante al frente para que las directivas %x, %s y %n los traten como argumentos de stack.
  • Usar %x/%s para leak pointers, luego %n/%hn para escribir el conteo de bytes formateados en direcciones elegidas, sobrescribiendo return pointers, vtables o heap metadata antes de secuestrar la ejecución con shellcode inyectado o ROP.

Heap overflow primitive

El mismo sprintf() inseguro escribe en un buffer heap de tamaño fijo. Mezcla un cuerpo de request largo con directivas sobredimensionadas (por ejemplo, %99999x) para que la salida formateada exceda la asignación y corrompa estructuras heap adyacentes, permitiéndote forjar freelist pointers o function tables que luego son dereferenciadas.

Impacto

La compromisión del proxy concede ejecución de código dentro del proceso del firewall (SYSTEM on Windows appliances, root on UNIX), permitiendo manipulación de reglas, interceptación de tráfico y pivoting más profundo dentro de la red de gestión.

References

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks