# 264/tcp - Pentesting Check Point Firewall

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Moguće je komunicirati sa CheckPoint Firewall-1 firewall-ovima kako biste otkrili vredne informacije, kao što su ime firewalla i ime stanice za upravljanje. To se može uraditi slanjem upita na port 264/TCP.

Dobijanje imena Firewalla i stanice za upravljanje

Korišćenjem pre-autentifikacionog zahteva možete pokrenuti modul koji cilja CheckPoint Firewall-1. Potrebne komande za ovu operaciju navedene su u nastavku:

use auxiliary/gather/checkpoint_hostname
set RHOST 10.10.10.10

При извршавању, модул покушава да контактира SecuRemote Topology сервис firewall-а. Ако је успешан, потврђује присуство CheckPoint Firewall-а и преузима имена како firewall-а тако и SmartCenter management host-а. Ево примера како би излаз могао да изгледа:

[*] 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

Alternativna metoda za otkrivanje hostname-a i ICA name

Druga tehnika uključuje direktnu komandu koja šalje specifičan upit ka firewallu i parsira odgovor kako bi izvukla hostname i ICA name firewalla. Komanda i njena struktura su sledeći:

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-

Izlaz iz ove komande daje detaljne informacije o imenu sertifikata (CN) i organizaciji (O) vatrozida, kao što je prikazano ispod:

CN=Panama,O=MGMTT.srv.rxfrmi

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

Pogođene verzije: NG FCS, NG FP1, NG FP2, NG FP3 HF2, i NG sa Application Intelligence R54/R55.
Zahtev: HTTP Security Server ili AI HTTP proxy moraju biti omogućeni i transparentno da pregledaju ciljani port; ako je HTTP inspection onemogućen, ranjiva putanja koda se nikada ne dostiže.

Okidanje error handler-a

Proxy odbacuje malformirane HTTP poruke i gradi sopstvenu stranicu greške sa sprintf(errbuf, attacker_string);, dopuštajući bajtovima pod kontrolom napadača da budu format string. Pošaljite nevažeći zahtev kroz firewall i potražite grešku generisanu od strane proxyja koja odražava vaš payload:

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

If HTTP inspection is active, the firewall (not the backend server) odgovara odmah, dokazujući da je middlebox parsirao i replay-ovao request line.

Exploitation

Format string primitive

  • Natera parser u error rutinu (invalid method, URI, or headers).
  • Postavi attacker-controlled dwords na početak tako da %x, %s, i %n direktive tretiraju ih kao stack arguments.
  • Koristi %x/%s da leak pointers, zatim %n/%hn da upiše formatted byte count u izabrane adrese, prepisujući return pointers, vtables, ili heap metadata pre nego što preuzmeš izvršavanje pomoću injected shellcode ili ROP.

Heap overflow primitive

Isti unsafe sprintf() upisuje u fixed-size heap buffer. Pomešaj long request body sa oversized directives (npr. %99999x) tako da formatted output pređe granice alokacije i korumpira susedne heap strukture, omogućavajući ti da forge-uješ freelist pointers ili function tables koji će kasnije biti dereferencirani.

Impact

Kompromise proxy-ja daje code execution unutar procesa firewall-a (SYSTEM na Windows appliances, root na UNIX), omogućavajući manipulaciju pravilima, traffic interception, i pivoting dublje u management network.

References

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks