@@ -8,17 +8,22 @@ type Annotation {
8
8
commandIds : [String ]
9
9
date : DateTime !
10
10
favorite : Boolean !
11
+ generation : GenerationType !
11
12
id : String !
12
13
tags : [Tag ! ]
13
14
text : String !
14
15
user : String !
15
16
}
16
17
17
18
input AnonymizationInput {
19
+ findReplace : [FindReplaceInput ! ] = []
18
20
removeHidden : Boolean = false
19
21
removeKeystrokes : Boolean = false
20
22
removePasswordsHashes : Boolean = false
21
23
removeScreenshots : Boolean = false
24
+ replaceDomainsAndIps : Boolean = false
25
+ replaceHostnames : Boolean = false
26
+ replaceUsernames : Boolean = false
22
27
}
23
28
24
29
type Beacon {
@@ -61,6 +66,9 @@ type BeaconMeta {
61
66
"""Process Identifier the beacon is running on"""
62
67
pid : Int
63
68
69
+ """The log line from which the BeaconMeta was extracted"""
70
+ source : LogEntry !
71
+
64
72
"""The start time of the beacon"""
65
73
startTime : DateTime
66
74
@@ -71,21 +79,23 @@ type BeaconMeta {
71
79
type Campaign {
72
80
annotationCount : Int !
73
81
beaconCount : Int !
74
- bloodStrikeServerCount : Int !
75
82
commandCount : Int !
76
83
computerCount : Int !
77
84
creator : GlobalOperator
78
85
firstLogTime : DateTime
79
86
id : String !
80
87
lastLogTime : DateTime
81
88
lastOpenedBy : GlobalOperator
89
+ migrationError : Boolean !
82
90
name : String !
83
91
parsingStatus : ParsingStatus !
92
+ serverCount : Int !
84
93
}
85
94
86
95
type Command {
87
96
attackIds : [String ! ]
88
97
beacon : Beacon !
98
+ commandFailed : Boolean !
89
99
commandGroups : [CommandGroup ! ]!
90
100
id : String !
91
101
input : LogEntry !
@@ -98,6 +108,7 @@ type Command {
98
108
type CommandGroup {
99
109
annotations : [Annotation ! ]!
100
110
commandIds : [String ! ]!
111
+ generation : GenerationType !
101
112
id : String !
102
113
}
103
114
@@ -137,14 +148,26 @@ enum FileFlag {
137
148
UPLOAD
138
149
}
139
150
151
+ input FindReplaceInput {
152
+ find : String = ""
153
+ replace : String = ""
154
+ }
155
+
156
+ """How the entity was generated"""
157
+ enum GenerationType {
158
+ MANUAL
159
+ PROCEDURAL
160
+ PROCEDURAL_MODIFIED
161
+ }
162
+
140
163
type GlobalOperator {
141
164
id : String !
142
165
name : String !
143
166
}
144
167
145
168
type Host {
146
169
beaconIds : [String ! ]!
147
- cobaltStrikeServer : Boolean !
170
+ cobaltStrikeServer : Boolean
148
171
displayName : String
149
172
hidden : Boolean
150
173
hostName : String !
@@ -245,7 +268,7 @@ type Mutation {
245
268
createCampaign (creatorName : String ! , name : String ! ): Campaign !
246
269
247
270
"""Create a global user"""
248
- createGlobalOperator (username : String ! ): GlobalOperator
271
+ createGlobalOperator (password : String ! , username : String ! ): GlobalOperator
249
272
250
273
"""Create a new link between two beacons"""
251
274
createLink (
@@ -268,6 +291,9 @@ type Mutation {
268
291
"""Delete a Campaign by id"""
269
292
deleteCampaign (campaignId : String ! ): Boolean !
270
293
294
+ """Delete a link"""
295
+ deleteLink (campaignId : String ! , id : String ! ): Link !
296
+
271
297
"""Edit a link"""
272
298
editLink (
273
299
campaignId : String !
@@ -327,9 +353,13 @@ type ParsingProgress {
327
353
328
354
"""The current state of Campaign parsing"""
329
355
enum ParsingStatus {
356
+ LIVE_PARSING_CS
357
+ NOT_READY_TO_PARSE
330
358
PARSING_COMPLETED
359
+ PARSING_FAILURE
331
360
PARSING_IN_PROGRESS
332
361
PARSING_NOT_STARTED
362
+ PARSING_QUEUED
333
363
}
334
364
335
365
type PresentationCommandGroup {
@@ -408,7 +438,7 @@ type Query {
408
438
files (beaconId : String , campaignId : String ! , hostId : String ): [File ]
409
439
410
440
"""Get all the operators for all campaigns"""
411
- globalOperators : [GlobalOperator ]
441
+ globalOperators ( password : String ! ) : [GlobalOperator ]
412
442
413
443
"""Get all the hosts for a project"""
414
444
hosts (campaignId : String ! , hidden : Boolean = false ): [Host ]
@@ -436,6 +466,9 @@ type Query {
436
466
"""Get categories for presentation mode"""
437
467
presentationItems (campaignId : String ! , hidden : Boolean = false ): [PresentationItem ]
438
468
469
+ """Search Annotations from textQuery"""
470
+ searchAnnotations (campaignId : String ! , hidden : Boolean = false , searchQuery : String ! ): [Annotation ! ]
471
+
439
472
"""Search Commands from textQuery"""
440
473
searchCommands (campaignId : String ! , hidden : Boolean = false , searchQuery : String ! ): [Command ! ]
441
474
@@ -457,7 +490,7 @@ type Query {
457
490
458
491
type Server {
459
492
beacons : [Beacon ! ]!
460
- displayName : String
493
+ displayName : String !
461
494
hidden : Boolean
462
495
id : String !
463
496
logsCount : Float !
0 commit comments