-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathdata_models.cna
75 lines (54 loc) · 1.71 KB
/
data_models.cna
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
###########################
## List all data model keys
sub list_data_models {
foreach $key (data_keys()) {
println("$key");
#println(data_query($key));
}
}
println("-------------------------");
println("\c4Data Models\n");
list_data_models();
println("-------------------------");
###########################
## List keys from a specific data model
sub list_datamodel_keys {
local('$key %data');
$key = $1;
%data = data_query($key);
foreach $var (keys(%data))
{
println($var);
}
}
println("-------------------------");
println("\c4List keys from a specific data model (example model: metadata)\n");
list_datamodel_keys("metadata");
println("-------------------------");
###########################
## Print all data from a data model
sub print_datamodel_data {
local('$key');
$key = $1;
println(data_query($key));
}
println("-------------------------");
println("\c4Get Data from Data Model (example mode; targets)");
print_datamodel_data("targets");
println("-------------------------");
###########################
## Read data from the C2 profile
local("$profile $jitter $sleeptime")
# Read the intial sleep time set in the c2 profile
$profile = data_query("metadata")["c2profile"];
# Use dot notation to walk the c2profile
$sleeptime = [$profile getString: ".sleeptime"];
$jitter = [$profile getString: ".jitter"];
$stage_stomppe = [$profile getString: ".stage.stomppe"];
$http_uri = [$profile getString: ".http-get.uri"];
$spawnto = [$profile getString: ".post-ex.spawnto_x64"];
println("Sleep : " . $sleeptime);
println("Jitter : " . $jitter);
println("StompPE : " . $stage_stomppe);
println("HTTP URI: " . $http_uri);
println("SpawnTo: " . $spawnto);