fortinet

package
v1.48.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package fortinet is a very basic (and incomplete) implementation of Fortinet FGFM protocol

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connect

func Connect(host string, port int, ssl bool, cert []byte, key []byte) (net.Conn, bool)

Fortimanager requires a connecting Fortigate instance to have a cert. SSL is optional here so you have the choice to sign the traffic from the go-exploit framework, or so you can send the exploit network traffic through a proxy like socat to sign the traffic for you. Benefits to this include being able to generate pcaps of the unencrypted traffic between go-exploit and your proxy. See CVE-2024-47575 for additional information.

func ReadFGFMMessage

func ReadFGFMMessage(conn net.Conn) ([]byte, bool)

Reads response from a FortiManager.

func SendFGFMMessage

func SendFGFMMessage(conn net.Conn, payload string) bool

Creates and sends a Fortinet FGFM message to a FortiManager. The format is closed source, but research by BF, Watchtowr, and Rapid7 have helped uncover the basic message header structure: [4 bytes of magic header] [4 bytes of total request length] [n bytes request body data].

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL