Get desktop application:
View/edit binary Protocol Buffers messages
UserDB - All methods for managing users in DB.
AddUser - Add a user.
AddUser - Add a user.
DeleteUsers - Delete one or more users.
DeleteUser - Delete one or more users.
Users - Get users.
Users - A list of users
UpdateUser - Update properties of a user.
UpdateUser - Update a user.
Address - A network address
Used in: ,
@inject_tag: xml:"addr,attr"
@inject_tag: xml:"addrtype,attr"
@inject_tag: xml:"vendor,attr"
We might have two subnets 192.168.1.1/24. How to know, when adding a host, to which subnet it belongs ? We need to check a few things: - Gateway for each address
Credential - Base object for a credential in Wiregost.
@inject_tag: gorm:"not null"
A credential core has one origin
For polymorphic associations
@inject_tag: gorm:"not null"
Timestamp
CredentialOrigin - Information on provenance of the credential
(message has no fields)
CredentialPrivate - Any credential that should not be publicly exposed.
@inject_tag: gorm:"not null"
@inject_tag: gorm:"not null"
Timestamp
CredentialPublic - A publicly disclosed credential (ex: username)
@inject_tag: gorm:"not null"
@inject_tag: gorm:"not null"
Timestamp
CredentialRealm - The realm in which a CredentialPublic can be used to authenticate or from which a CredentialPrivate was looted.
@inject_tag: gorm:"not null"
@inject_tag: gorm:"not null"
Timestamp
Distance - The number of hops before reaching the host
Used in:
@inject_tag: xml:"value,attr"
ExtraPort - Reasons for why a port is closed/filtered
Used in:
@inject_tag: gorm:"not null"
@inject_tag: xml:"state"
@inject_tag: xml:"count"
@inject_tag: xml:"extrareasons"
Host - Represents a remote computer host in DB
General
@inject_tag: gorm:"not null"
We might have two subnets 192.168.1.1/24. How to know, when adding a host, to which subnet it belongs ? We need to check a few things: - Gateway for each address
Might belong to a given subnet
Nmap @inject_tag: xml:"hostnames>hostname"
@inject_tag: xml:"ports>port"
@inject_tag: xml:"ports>extraports"
@inject_tag: xml:"os"
@inject_tag: xml:"status"
@inject_tag: xml:"distance"
@inject_tag: xml:"endtime,attr,omitempty"
Might have issues here with XML unmarshalling
@inject_tag: xml:"ipidsequence"
@inject_tag: xml:"tcpsequence"
@inject_tag: xml:"tcptssequence"
@inject_tag: xml:"times"
@inject_tag: xml:"trace"
@inject_tag: xml:"uptime"
@inject_tag: xml:"comment,attr"
@inject_tag: xml:"starttime,attr,omitempty"
@inject_tag: xml:"hostscript>script"
@inject_tag: xml:"smurf"
A hostname for a host.
Used in:
@inject_tag: gorm:"not null"
OS - An operating system identified by NMAP, with fingerprint information
Used in:
@inject_tag: xml:"portused"
@inject_tag: xml:"osmatch"
@inject_tag: xml:"osfingerprint"
OSClass - Contains vendor information about an operating system
Used in:
@inject_tag: xml:"vendor,attr"
@inject_tag: xml:"osgen,attr"
@inject_tag: xml:"type,attr"
@inject_tag: xml:"accurary,attr"
@inject_tag: xml:"osfamily,attr"
@inject_tag: xml:"cpe"
"Common Platform Enumeration" is standardized way to name software applications, OSs and Hardware platforms
OSFamily definitions.
Used in:
using allow_alias
using allow_alias
using allow_alias
using allow_alias
using allow_alias
using allow_alias
OSFingerprint - The actual fingerprint string of an operating system
Used in:
@inject_tag: xml:"fingerprint,attr"
OSMatch - Contains detailed information regarding an Operating System fingerprint
Used in:
@inject_tag: xml:"name,attr"
@inject_tag: xml:"accurary,attr"
@inject_tag: xml:"line,attr"
@inject_tag: xml:"osclass,attr"
Port - A port on a host
Used in:
General
@inject_tag: gorm:"not null"
Nmap @inject_tag: xml:"protocol"
@inject_tag: xml:"owner"
@inject_tag: xml:"service"
@inject_tag: xml:"state"
@inject_tag: xml:"script"
Timestamp
PortStatus - Port state constants
Used in:
PortUsed - The port used to fingerprint the operating system
Used in:
@inject_tag: xml:"portid,attr"
@inject_tag: xml:"state,attr"
@inject_tag: xml:"proto,attr"
Reason - Extra information on a closed/filtered port
Used in:
@inject_tag: gorm:"not null"
@inject_tag: xml:"reason"
@inject_tag: xml:"count"
Service - A service running behind a port
Used in:
General
@inject_tag: gorm:"not null"
@inject_tag: xml:"proto,attr"
@inject_tag: xml:"name,attr"
@inject_tag: xml:"extrainfo,attr"
Nmap @inject_tag: xml:"devicetype,attr"
@inject_tag: xml:"hostname,attr"
@inject_tag: xml:"method,attr"
@inject_tag: xml:"ostype,attr"
@inject_tag: xml:"product,attr"
@inject_tag: xml:"rpcnum,attr"
@inject_tag: xml:"servicefp,attr"
@inject_tag: xml:"tunnel,attr"
@inject_tag: xml:"lowver,attr"
@inject_tag: xml:"highver,attr"
@inject_tag: xml:"version,attr"
@inject_tag: xml:"conf,attr"
@inject_tag: xml:"cpe"
"Common Platform Enumeration" is standardized way to name software applications, OSs and Hardware platforms
Timestamp
State - Contains information about a given's port status
Used in:
@inject_tag: gorm:"not null"
Nmap @inject_tag: xml:"state,attr"
@inject_tag: xml:"reason,attr"
@inject_tag: xml:"reason_ip,attr"
@inject_tag: xml:"reason_ttl,attr"
Timestamp
Uptime - The amount of time the host has been up
Used in:
@inject_tag: xml:"seconds,attr"
@inject_tag: xml:"lastboot,attr"
User - A Wiregost user
Used as request type in: UserDB.GetUsers
Used as field type in: , , , , , , , , , ,
Workspace - Revisited concept of a Wiregost workspace
Used in:
Timestamp