# 264/tcp - Pentesting Check Point Firewall
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Es ist möglich, mit CheckPoint Firewall-1-Firewalls zu interagieren, um wertvolle Informationen wie den Namen der Firewall und den Namen der Management-Station zu ermitteln. Dies kann durch das Senden einer Anfrage an den Port 264/TCP erfolgen.
Ermitteln von Firewall- und Management-Station-Namen
Mit einer Pre-Authentication-Anfrage können Sie ein Modul ausführen, das auf die CheckPoint Firewall-1 abzielt. Die notwendigen Befehle für diesen Vorgang sind im Folgenden aufgeführt:
use auxiliary/gather/checkpoint_hostname
set RHOST 10.10.10.10
Beim Ausführen versucht das Modul, den SecuRemote Topology service der Firewall zu kontaktieren. Gelingt dies, bestätigt es die Existenz einer CheckPoint Firewall und ermittelt die Namen sowohl der Firewall als auch des SmartCenter management host. Hier ein Beispiel, wie die Ausgabe aussehen könnte:
[*] 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
Alternative Methode zur Ermittlung von Hostname und ICA-Name
Eine weitere Technik verwendet einen direkten Befehl, der eine spezifische Abfrage an die Firewall sendet und die Antwort analysiert, um den Hostname und den ICA-Name der Firewall zu extrahieren. Der Befehl und dessen Aufbau sind wie folgt:
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-
Die Ausgabe dieses Befehls liefert detaillierte Informationen zum Zertifikatsnamen (CN) und zur Organisation (O) der Firewall, wie unten gezeigt:
CN=Panama,O=MGMTT.srv.rxfrmi
HTTP Security Server Format String Bug (CAN-2004-0039)
Betroffene Builds: NG FCS, NG FP1, NG FP2, NG FP3 HF2 und NG mit Application Intelligence R54/R55. Anforderung: Der HTTP Security Server oder der AI HTTP proxy muss aktiviert sein und den Zielport transparent inspizieren; wenn die HTTP-Inspektion deaktiviert ist, wird der verwundbare Codepfad nie erreicht.
Fehlerhandler auslösen
Der Proxy lehnt fehlerhafte HTTP-Nachrichten ab und erzeugt seine eigene Fehlerseite mit sprintf(errbuf, attacker_string);, wodurch attacker-controlled bytes als Format-String fungieren. Sende eine ungültige Anfrage durch die Firewall und suche nach einem proxy-generated error, der deinen payload widerspiegelt:
printf 'BOGUS%%08x%%08x%%08x%%n HTTP/1.0\r\nHost: internal.local\r\n\r\n' | nc -nv [FIREWALL_IP] 80
Wenn HTTP inspection aktiv ist, antwortet die firewall (nicht der backend server) sofort, was beweist, dass die middlebox die request line geparst und replayed hat.
Ausnutzung
Format string primitive
- Zwinge den Parser in die Fehlerroutine (invalid method, URI, or headers).
- Platziere vom Angreifer kontrollierte dwords vorne, sodass
%x,%sund%nDirektiven sie als Stack-Argumente behandeln. - Verwende
%x/%s, um pointers zu leaken, dann%n/%hn, um die formatierte Byte-Anzahl in ausgewählte Adressen zu schreiben, und überschreibe dabei return pointers, vtables oder heap metadata, bevor du mit injiziertem shellcode oder ROP die Ausführung kaperst.
Heap overflow primitive
Dasselbe unsichere sprintf() schreibt in einen Heap-Puffer fester Größe. Kombiniere einen langen request body mit übergroßen Direktiven (z. B. %99999x), sodass die formatierte Ausgabe die Allokation überläuft und benachbarte Heap-Strukturen korruptiert, was es dir erlaubt, freelist pointers oder function tables zu fälschen, die später dereferenziert werden.
Auswirkungen
Die Kompromittierung des proxy ermöglicht Codeausführung im firewall process (SYSTEM on Windows appliances, root on UNIX), wodurch rule manipulation, traffic interception und Pivoting tiefer ins management network möglich werden.
Referenzen
- https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk69360
- https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html#check-point-firewall-1-topology-port-264
- https://www.cisa.gov/news-events/alerts/2004/02/05/http-parsing-vulnerabilities-check-point-firewall-1
- http://xforce.iss.net/xforce/alerts/id/162
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.


