Vulnerable functions
beaconRegisterHandlerserver/handlers/beacons.go
The function unmarshals a `BeaconRegister` protobuf message but does not validate if the nested `Register` field is nil. A subsequent access to `beaconReg.Register.Uuid` will cause a nil-pointer dereference if the `Register` field is omitted in the request, leading to a panic.
createReverseTunnelHandlerserver/handlers/sessions.go
The function attempts to access the `Rportfwd` field of a request without checking if it is nil. If the field is omitted, this results in a nil-pointer dereference and a server panic.
socksDataHandlerserver/handlers/sessions.go
The function processes SOCKS proxy data and directly accesses the `SocksData` sub-message. If this sub-message is not present in the incoming data, it results in a nil-pointer dereference, causing the server to crash.
serverKeyExchangeserver/handlers/pivot.go
This function handles peer-to-peer communication and accesses the `peerEnvelope.Peers` list. It does not check if the list is nil, leading to a panic if the peer list is not included in the message.
peersToStringserver/handlers/pivot.go
This function is used for logging and debugging peer information. It dereferences the `peerEnvelope.Peers` list without a nil check, which can cause a panic if the list is not present.
getTimeoutserver/rpc/rpc.go
This gRPC handler accesses the `Timeout` field from a nested `Request` object. If the `Request` object is nil, this will cause a nil-pointer dereference.
getErrorserver/rpc/rpc.go
This gRPC handler accesses the `Err` field from a nested `Response` object. If the `Response` object is nil, this will cause a nil-pointer dereference.
Portfwdserver/rpc/rpc-portfwd.go
This gRPC handler for port forwarding accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
GetSystemserver/rpc/rpc-priv.go
This gRPC handler accesses `req.GetRequest().SessionID` without a nil check on `req.GetRequest()`, which can lead to a panic.
GetPrivilegesserver/rpc/rpc-priv.go
This gRPC handler accesses `req.Request.SessionID` without a nil check on `req.Request`, which can lead to a panic.
NetConnPivotserver/rpc/rpc-pivot.go
This gRPC handler for network connection pivoting accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
PivotListenersserver/rpc/rpc-pivot.go
This gRPC handler for pivot listeners accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
SocksStartserver/rpc/rpc-socks.go
This gRPC handler for starting a SOCKS proxy accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
SocksStopserver/rpc/rpc-socks.go
This gRPC handler for stopping a SOCKS proxy accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
RPortfwdserver/rpc/rpc-rportfwd.go
This gRPC handler for reverse port forwarding accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
Shellserver/rpc/rpc-shell.go
This gRPC handler for shell sessions accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
ShellResizeserver/rpc/rpc-shell.go
This gRPC handler for resizing a shell accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
BackdoorImplantserver/rpc/rpc-backdoor.go
This gRPC handler for backdooring an implant accesses `req.Request.SessionID` and `req.Request.Timeout` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
CrackstationTriggerserver/rpc/rpc-crackstations.go
This gRPC handler unmarshals data into a `statusUpdate` object and then accesses `statusUpdate.HostUUID` without checking if the object or its fields are nil.
Tasksserver/rpc/rpc-tasks.go
This gRPC handler for managing tasks accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
ImplantReconfigserver/rpc/rpc-reconfig.go
This gRPC handler for reconfiguring an implant accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
MsfInjectserver/rpc/rpc-msf.go
This gRPC handler for Metasploit injection accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.
Hijackserver/rpc/rpc-hijack.go
This gRPC handler for hijacking a session accesses `req.Request.SessionID` without checking if `req.Request` is nil, making it vulnerable to a nil-pointer dereference.