greybel-mock-environment 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,469 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
27
+ var __values = (this && this.__values) || function(o) {
28
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
29
+ if (m) return m.call(o);
30
+ if (o && typeof o.length === "number") return {
31
+ next: function () {
32
+ if (o && i >= o.length) o = void 0;
33
+ return { value: o && o[i++], done: !o };
34
+ }
35
+ };
36
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var blueimp_md5_1 = __importDefault(require("blueimp-md5"));
43
+ var random_seed_1 = __importDefault(require("random-seed"));
44
+ var default_fs_1 = __importDefault(require("./default-fs"));
45
+ var types_1 = require("./types");
46
+ var randomUsernameGenerator = require('random-username-generator');
47
+ var MockEnvironment = /** @class */ (function () {
48
+ function MockEnvironment(seed, localUser) {
49
+ if (seed === void 0) { seed = 'test'; }
50
+ this.seed = seed;
51
+ this.vulnerabilityRng = random_seed_1.default.create("".concat(seed, "-vul-number"));
52
+ this.bankIdRng = random_seed_1.default.create("".concat(seed, "-bank-number"));
53
+ this.networkRng = random_seed_1.default.create("".concat(seed, "-network-devices"));
54
+ this.macAddressRng = random_seed_1.default.create("".concat(seed, "-mac-address"));
55
+ this.uuidRng = random_seed_1.default.create("".concat(seed, "-uuid"));
56
+ this.passwordRng = random_seed_1.default.create("".concat(seed, "-password"));
57
+ this.usernameRng = random_seed_1.default.create("".concat(seed, "-username"));
58
+ this.portRng = random_seed_1.default.create("".concat(seed, "-port"));
59
+ this.users = [];
60
+ this.routers = [];
61
+ this.computers = [];
62
+ this.vulnerabilities = [];
63
+ this.networks = [];
64
+ this.emails = [];
65
+ this.localComputer = this.generateComputer(null, [this.generateUser(localUser.username, localUser.password)], 'test');
66
+ }
67
+ MockEnvironment.prototype.generateUser = function (username, password) {
68
+ var me = this;
69
+ var user = {
70
+ username: username,
71
+ password: password,
72
+ passwordHashed: (0, blueimp_md5_1.default)(password),
73
+ email: me.generateEmail({
74
+ name: username,
75
+ password: password
76
+ }),
77
+ userBankNumber: me.bankIdRng.random().toString(36).substring(2, 10)
78
+ };
79
+ me.users.push(user);
80
+ return user;
81
+ };
82
+ MockEnvironment.prototype.generateDomain = function () {
83
+ var me = this;
84
+ return "".concat(me.generateUsername(), ".").concat(['org', 'com', 'de', 'tv'][me.networkRng.intBetween(0, 3)]);
85
+ };
86
+ MockEnvironment.prototype.generateEmail = function (options) {
87
+ var me = this;
88
+ var email = "".concat(options.name || me.generateUsername(), "@").concat(options.domain || me.generateDomain());
89
+ me.emails.push({
90
+ email: email,
91
+ password: options.password || me.generatePassword(),
92
+ messages: new Map()
93
+ });
94
+ return email;
95
+ };
96
+ MockEnvironment.prototype.generateRouter = function (options) {
97
+ if (options === void 0) { options = {}; }
98
+ var me = this;
99
+ var networkDevice = me.generateNetworkDevice();
100
+ var routerUsers = [
101
+ me.generateUser('root', me.generatePassword()),
102
+ me.generateUser(me.generateUsername(), me.generatePassword())
103
+ ];
104
+ var domain = me.generateDomain();
105
+ var name = me.generateUsername();
106
+ var router = {
107
+ domain: options.domain || "www.".concat(domain),
108
+ whoisDescription: options.whoisDescription ||
109
+ [
110
+ "Domain name: ".concat(domain),
111
+ "Administrative contact: ".concat(name),
112
+ "Email address: ".concat(me.generateEmail({ name: name, domain: domain })),
113
+ 'Phone: 123456891'
114
+ ].join('\n'),
115
+ publicIp: options.publicIp || me.generateIp(),
116
+ localIp: options.localIp || me.generateLocalIp(),
117
+ activeNetCard: options.activeNetCard || networkDevice.type,
118
+ networkDevices: options.networkDevices || [networkDevice],
119
+ users: options.users || routerUsers,
120
+ fileSystem: options.fileSystem || (0, default_fs_1.default)(routerUsers)
121
+ };
122
+ for (var index = me.networkRng.intBetween(4, 10); index >= 0; index--) {
123
+ me.generateComputer(router, [
124
+ me.generateUser(me.generateUsername(), me.generatePassword())
125
+ ]);
126
+ }
127
+ me.routers.push(router);
128
+ return router;
129
+ };
130
+ MockEnvironment.prototype.generateComputer = function (router, users, rootPassword) {
131
+ var me = this;
132
+ var networkDevice = me.generateNetworkDevice();
133
+ var computerUsers = __spreadArray([
134
+ me.generateUser('root', rootPassword || me.generatePassword())
135
+ ], __read(users), false);
136
+ var computer = {
137
+ router: router,
138
+ localIp: me.generateLocalIp(),
139
+ activeNetCard: networkDevice.type,
140
+ networkDevices: [networkDevice],
141
+ users: computerUsers,
142
+ fileSystem: (0, default_fs_1.default)(computerUsers),
143
+ ports: []
144
+ };
145
+ computer.ports = me.generatePorts(computer);
146
+ me.computers.push(computer);
147
+ return computer;
148
+ };
149
+ MockEnvironment.prototype.generatePorts = function (computer) {
150
+ var me = this;
151
+ var portNumber = me.portRng.intBetween(1, 1000);
152
+ var router = computer.router;
153
+ var forwarded = false;
154
+ if (router) {
155
+ var forwardedPort = me.getForwardedPortOfRouter(router, portNumber);
156
+ if (!forwardedPort) {
157
+ forwarded = me.networkRng.intBetween(0, 2) === 1;
158
+ }
159
+ }
160
+ return __spreadArray([], __read(Array(me.portRng.intBetween(1, 3)).keys()), false).map(function () {
161
+ return {
162
+ port: me.portRng.intBetween(1, 1000),
163
+ isClosed: !!me.portRng.intBetween(0, 1),
164
+ service: types_1.ServiceList[me.portRng.intBetween(0, 5)],
165
+ forwarded: forwarded
166
+ };
167
+ });
168
+ };
169
+ MockEnvironment.prototype.getComputerInLan = function (ipAddress, router) {
170
+ var me = this;
171
+ return me.getComputersOfRouter(router).find(function (v) {
172
+ return v.localIp === ipAddress;
173
+ });
174
+ };
175
+ MockEnvironment.prototype.getComputersOfRouter = function (router) {
176
+ var me = this;
177
+ return me.computers.filter(function (v) {
178
+ var _a;
179
+ return ((_a = v.router) === null || _a === void 0 ? void 0 : _a.publicIp) === router.publicIp;
180
+ });
181
+ };
182
+ MockEnvironment.prototype.getPortsOfRouter = function (router) {
183
+ var me = this;
184
+ var computers = me.getComputersOfRouter(router);
185
+ return [].concat.apply([], __spreadArray([], __read(computers.map(function (v) {
186
+ return v.ports;
187
+ })), false));
188
+ };
189
+ MockEnvironment.prototype.getForwardedPortsOfRouter = function (router) {
190
+ var me = this;
191
+ return me.getPortsOfRouter(router).filter(function (v) { return v.forwarded; });
192
+ };
193
+ MockEnvironment.prototype.getForwardedPortOfRouter = function (router, port) {
194
+ var e_1, _a, e_2, _b;
195
+ var me = this;
196
+ var computers = me.computers.filter(function (v) {
197
+ var _a;
198
+ return ((_a = v.router) === null || _a === void 0 ? void 0 : _a.publicIp) === router.publicIp;
199
+ });
200
+ var computerResult;
201
+ var portResult;
202
+ try {
203
+ for (var computers_1 = __values(computers), computers_1_1 = computers_1.next(); !computers_1_1.done; computers_1_1 = computers_1.next()) {
204
+ var item = computers_1_1.value;
205
+ if (item.ports) {
206
+ try {
207
+ for (var _c = (e_2 = void 0, __values(item.ports)), _d = _c.next(); !_d.done; _d = _c.next()) {
208
+ var itemPort = _d.value;
209
+ if (itemPort.port === port && itemPort.forwarded) {
210
+ computerResult = item;
211
+ portResult = itemPort;
212
+ break;
213
+ }
214
+ }
215
+ }
216
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
217
+ finally {
218
+ try {
219
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
220
+ }
221
+ finally { if (e_2) throw e_2.error; }
222
+ }
223
+ }
224
+ if (computerResult || portResult) {
225
+ break;
226
+ }
227
+ }
228
+ }
229
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
230
+ finally {
231
+ try {
232
+ if (computers_1_1 && !computers_1_1.done && (_a = computers_1.return)) _a.call(computers_1);
233
+ }
234
+ finally { if (e_1) throw e_1.error; }
235
+ }
236
+ if (!computerResult || !portResult) {
237
+ return null;
238
+ }
239
+ return {
240
+ computer: computerResult,
241
+ port: portResult
242
+ };
243
+ };
244
+ MockEnvironment.prototype.generateNetworkDevice = function () {
245
+ return {
246
+ type: this.networkRng.intBetween(0, 1) === 0 ? 'wlan0' : 'eth0',
247
+ id: this.networkRng.random().toString(36).substring(2, 10),
248
+ active: true
249
+ };
250
+ };
251
+ MockEnvironment.prototype.generateIp = function () {
252
+ var me = this;
253
+ return "".concat(me.networkRng.intBetween(0, 255), ".").concat(me.networkRng.intBetween(0, 255), ".").concat(me.networkRng.intBetween(0, 255), ".").concat(me.networkRng.intBetween(0, 255));
254
+ };
255
+ MockEnvironment.prototype.generateLocalIp = function () {
256
+ var me = this;
257
+ return "192.168.".concat(me.networkRng.intBetween(0, 255), ".").concat(me.networkRng.intBetween(0, 255));
258
+ };
259
+ MockEnvironment.prototype.generateMAC = function () {
260
+ var me = this;
261
+ var d = '0123456789ABCDEF';
262
+ return __spreadArray([], __read(Array(6).keys()), false).map(function () {
263
+ return (d[me.macAddressRng.intBetween(0, 15)] +
264
+ d[me.macAddressRng.intBetween(0, 15)]);
265
+ })
266
+ .join(':');
267
+ };
268
+ MockEnvironment.prototype.generateUUID = function () {
269
+ var me = this;
270
+ var dt = me.uuidRng.random();
271
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
272
+ var r = (dt + me.uuidRng.random() * 16) % 16 | 0;
273
+ dt = Math.floor(dt / 16);
274
+ return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);
275
+ });
276
+ };
277
+ MockEnvironment.prototype.generateUsername = function () {
278
+ var me = this;
279
+ var nativeMath = Math.random;
280
+ Math.random = function () { return me.usernameRng.random(); };
281
+ var username = randomUsernameGenerator.generate();
282
+ Math.random = nativeMath;
283
+ return username;
284
+ };
285
+ MockEnvironment.prototype.generatePassword = function () {
286
+ var me = this;
287
+ return me.passwordRng.string(me.passwordRng.intBetween(4, 8));
288
+ };
289
+ MockEnvironment.prototype.generateNetwork = function (router, options) {
290
+ if (options === void 0) { options = {}; }
291
+ var me = this;
292
+ var network = {
293
+ mac: options.mac || me.generateMAC(),
294
+ percentage: options.percentage || me.networkRng.intBetween(20, 70),
295
+ name: options.name || me.generateUsername(),
296
+ bssid: options.bssid || me.generateUUID(),
297
+ essid: options.essid || me.generateUUID(),
298
+ password: options.password || me.generatePassword(),
299
+ router: router
300
+ };
301
+ me.networks.push(network);
302
+ return network;
303
+ };
304
+ MockEnvironment.prototype.generateVulnerabilityAddress = function () {
305
+ var me = this;
306
+ var d = '0123456789ABCDEF';
307
+ return ('0x' +
308
+ __spreadArray([], __read(Array(8).keys()), false).map(function () {
309
+ return d[me.vulnerabilityRng.intBetween(0, 15)];
310
+ })
311
+ .join(''));
312
+ };
313
+ MockEnvironment.prototype.generateVulnerability = function (library, memAddress, remote) {
314
+ var me = this;
315
+ var requirementAmount = me.vulnerabilityRng.intBetween(0, 3);
316
+ var required = [];
317
+ var action = types_1.VulnerabilityActionList[me.vulnerabilityRng.intBetween(0, 4)];
318
+ var user;
319
+ while (required.length < requirementAmount) {
320
+ var index = me.vulnerabilityRng.intBetween(0, 6);
321
+ var req = types_1.VulnerabilityRequirementList[index];
322
+ if (!required.includes(req)) {
323
+ required.push(req);
324
+ }
325
+ }
326
+ var userType = me.vulnerabilityRng.intBetween(0, 5);
327
+ switch (userType) {
328
+ case 0:
329
+ user = types_1.VulnerabilityActionUser.ROOT;
330
+ break;
331
+ case 1:
332
+ case 2:
333
+ user = types_1.VulnerabilityActionUser.NORMAL;
334
+ break;
335
+ default:
336
+ user = types_1.VulnerabilityActionUser.GUEST;
337
+ break;
338
+ }
339
+ return {
340
+ required: required,
341
+ memAddress: memAddress,
342
+ sector: me.vulnerabilityRng.random().toString(36).substring(2, 12),
343
+ details: 'loop in array',
344
+ remote: remote,
345
+ library: library,
346
+ action: action,
347
+ user: user,
348
+ folder: ['home', 'guest']
349
+ };
350
+ };
351
+ MockEnvironment.prototype.generateSectorVulnerabilities = function (library, sector, remote) {
352
+ var _a;
353
+ var me = this;
354
+ var vulAmount = me.vulnerabilityRng.intBetween(1, 4);
355
+ var result = [];
356
+ for (var index = vulAmount; index >= 0; index--) {
357
+ result.push(me.generateVulnerability(library, sector, remote));
358
+ }
359
+ (_a = this.vulnerabilities).push.apply(_a, __spreadArray([], __read(result), false));
360
+ return result;
361
+ };
362
+ MockEnvironment.prototype.generateVulnerabilitiesForLibrary = function (library, options) {
363
+ if (options === void 0) { options = {}; }
364
+ var me = this;
365
+ var address = me.generateVulnerabilityAddress();
366
+ for (var amount = me.vulnerabilityRng.intBetween(2, 5); amount >= 0; amount--) {
367
+ if (options.remote)
368
+ me.generateSectorVulnerabilities(library, address, true);
369
+ if (options.local)
370
+ me.generateSectorVulnerabilities(library, address, false);
371
+ address =
372
+ me.vulnerabilityRng.intBetween(0, 3) === 1
373
+ ? me.generateVulnerabilityAddress()
374
+ : address;
375
+ }
376
+ };
377
+ MockEnvironment.prototype.setupLibraries = function () {
378
+ var me = this;
379
+ me.generateVulnerabilitiesForLibrary(types_1.Library.CRYPTO, { local: true });
380
+ me.generateVulnerabilitiesForLibrary(types_1.Library.FTP, {
381
+ local: true,
382
+ remote: true
383
+ });
384
+ me.generateVulnerabilitiesForLibrary(types_1.Library.HTTP, {
385
+ local: true,
386
+ remote: true
387
+ });
388
+ me.generateVulnerabilitiesForLibrary(types_1.Library.INIT, { local: true });
389
+ me.generateVulnerabilitiesForLibrary(types_1.Library.KERNEL_MODULE, {
390
+ local: true
391
+ });
392
+ me.generateVulnerabilitiesForLibrary(types_1.Library.KERNEL_ROUTER, {
393
+ remote: true
394
+ });
395
+ me.generateVulnerabilitiesForLibrary(types_1.Library.METAXPLOIT, { local: true });
396
+ me.generateVulnerabilitiesForLibrary(types_1.Library.NET, { local: true });
397
+ me.generateVulnerabilitiesForLibrary(types_1.Library.RSHELL, {
398
+ local: true,
399
+ remote: true
400
+ });
401
+ me.generateVulnerabilitiesForLibrary(types_1.Library.SMTP, {
402
+ local: true,
403
+ remote: true
404
+ });
405
+ me.generateVulnerabilitiesForLibrary(types_1.Library.SQL, {
406
+ local: true,
407
+ remote: true
408
+ });
409
+ me.generateVulnerabilitiesForLibrary(types_1.Library.SSH, {
410
+ local: true,
411
+ remote: true
412
+ });
413
+ };
414
+ MockEnvironment.prototype.getLocal = function () {
415
+ var computer = this.localComputer;
416
+ var user = computer.users[1];
417
+ return {
418
+ computer: computer,
419
+ user: user
420
+ };
421
+ };
422
+ MockEnvironment.prototype.connectLocal = function (router) {
423
+ this.localComputer.router = router;
424
+ };
425
+ MockEnvironment.prototype.getRouterByIp = function (ipAddress) {
426
+ var me = this;
427
+ if (!me.isValidIp(ipAddress)) {
428
+ return null;
429
+ }
430
+ return (me.routers.find(function (item) {
431
+ return item.publicIp === ipAddress;
432
+ }) ||
433
+ me.generateRouter({
434
+ publicIp: ipAddress
435
+ }));
436
+ };
437
+ MockEnvironment.prototype.getComputersOfRouterByIp = function (ipAddress) {
438
+ var me = this;
439
+ var router = me.getRouterByIp(ipAddress);
440
+ if (!router) {
441
+ return [];
442
+ }
443
+ return me.computers.filter(function (v) {
444
+ return v.router.publicIp === router.publicIp;
445
+ });
446
+ };
447
+ MockEnvironment.prototype.findRouterViaNS = function (name) {
448
+ var me = this;
449
+ return me.routers.find(function (item) {
450
+ return item.domain === name;
451
+ });
452
+ };
453
+ MockEnvironment.prototype.getEmailViaLogin = function (email, password) {
454
+ var me = this;
455
+ return me.emails.find(function (v) { return v.email === email && v.password === password; });
456
+ };
457
+ MockEnvironment.prototype.getEmail = function (email) {
458
+ var me = this;
459
+ return me.emails.find(function (v) { return v.email === email; });
460
+ };
461
+ MockEnvironment.prototype.isValidIp = function (target) {
462
+ return /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(target);
463
+ };
464
+ MockEnvironment.prototype.isLanIp = function (target) {
465
+ return /^1(0|27|69\.254|72\.(1[6-9]|2[0-9]|3[0-1])|92\.168)\./.test(target);
466
+ };
467
+ return MockEnvironment;
468
+ }());
469
+ exports.default = MockEnvironment;
@@ -0,0 +1,3 @@
1
+ export { default as getDefaultFileSystem } from './default-fs';
2
+ export { default as MockEnvironment } from './environment';
3
+ export * as Type from './types';
package/dist/index.js ADDED
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Type = exports.MockEnvironment = exports.getDefaultFileSystem = void 0;
30
+ var default_fs_1 = require("./default-fs");
31
+ Object.defineProperty(exports, "getDefaultFileSystem", { enumerable: true, get: function () { return __importDefault(default_fs_1).default; } });
32
+ var environment_1 = require("./environment");
33
+ Object.defineProperty(exports, "MockEnvironment", { enumerable: true, get: function () { return __importDefault(environment_1).default; } });
34
+ exports.Type = __importStar(require("./types"));
@@ -0,0 +1,152 @@
1
+ export interface User {
2
+ username: string;
3
+ password: string;
4
+ passwordHashed: string;
5
+ email: string;
6
+ userBankNumber: string;
7
+ }
8
+ export declare enum Service {
9
+ SSH = "ssh",
10
+ FTP = "ftp",
11
+ SMTP = "smtp",
12
+ SQL = "sql",
13
+ RSHELL = "rshell",
14
+ HTTP = "http"
15
+ }
16
+ export declare const ServiceList: Service[];
17
+ export interface Port {
18
+ port: number;
19
+ isClosed: boolean;
20
+ service: Service;
21
+ forwarded: boolean;
22
+ }
23
+ export interface EMail {
24
+ email: string;
25
+ password: string;
26
+ messages: Map<string, {
27
+ subject: string;
28
+ message: string;
29
+ }>;
30
+ }
31
+ export interface NetworkDevice {
32
+ type: string;
33
+ id: string;
34
+ active: boolean;
35
+ }
36
+ export interface Computer {
37
+ router?: Router;
38
+ localIp: string;
39
+ activeNetCard: string;
40
+ networkDevices: NetworkDevice[];
41
+ users: User[];
42
+ fileSystem: Folder;
43
+ ports?: Port[];
44
+ }
45
+ export interface Router extends Computer {
46
+ publicIp: string;
47
+ domain: string;
48
+ whoisDescription: string;
49
+ }
50
+ export interface Network {
51
+ bssid: string;
52
+ essid: string;
53
+ password: string;
54
+ router: Router;
55
+ mac: string;
56
+ percentage: number;
57
+ name: string;
58
+ }
59
+ export interface RouterNamespace {
60
+ name: string;
61
+ router: Router;
62
+ }
63
+ export declare enum FileType {
64
+ Plain = 0,
65
+ Bin = 1,
66
+ Exe = 2,
67
+ Crypto = 3,
68
+ Metaxploit = 4,
69
+ System = 5,
70
+ AptClient = 6,
71
+ Ack = 7,
72
+ Net = 8,
73
+ Init = 9,
74
+ KernelModule = 10,
75
+ Blockchain = 11,
76
+ SSH = 12,
77
+ FTP = 13,
78
+ HTTP = 14,
79
+ Chat = 15,
80
+ RShell = 16,
81
+ Repository = 17
82
+ }
83
+ export interface FileSystemEntity {
84
+ parent?: FileSystemEntity;
85
+ name: string;
86
+ permissions: string;
87
+ owner: string;
88
+ isFolder?: boolean;
89
+ isProtected?: boolean;
90
+ deleted?: boolean;
91
+ }
92
+ export interface File extends FileSystemEntity {
93
+ content?: string;
94
+ type: FileType;
95
+ }
96
+ export interface Folder extends FileSystemEntity {
97
+ files: File[];
98
+ folders: Folder[];
99
+ }
100
+ export declare enum Library {
101
+ SSH = "ssh",
102
+ FTP = "ftp",
103
+ HTTP = "http",
104
+ SQL = "sql",
105
+ SMTP = "smtp",
106
+ CHAT = "chat",
107
+ CAM = "cam",
108
+ RSHELL = "rshell",
109
+ KERNEL_ROUTER = "kernel_router",
110
+ APT = "apt",
111
+ METAXPLOIT = "metaxploit",
112
+ CRYPTO = "crypto",
113
+ KERNEL_MODULE = "kernel_module",
114
+ INIT = "init",
115
+ NET = "net"
116
+ }
117
+ export declare enum VulnerabilityRequirements {
118
+ LIBRARY = 0,
119
+ REGISTER_AMOUNT = 1,
120
+ ANY_ACTIVE = 2,
121
+ ROOT_ACTIVE = 3,
122
+ LOCAL = 4,
123
+ FORWARD = 5,
124
+ GATEWAY = 6
125
+ }
126
+ export declare const VulnerabilityRequirementList: VulnerabilityRequirements[];
127
+ export declare enum VulnerabilityAction {
128
+ SHELL = 0,
129
+ FOLDER = 1,
130
+ PASSWORD = 2,
131
+ COMPUTER = 3,
132
+ FIREWALL = 4
133
+ }
134
+ export declare const VulnerabilityActionList: VulnerabilityAction[];
135
+ export declare enum VulnerabilityActionUser {
136
+ GUEST = 0,
137
+ NORMAL = 1,
138
+ ROOT = 2
139
+ }
140
+ export interface Vulnerability {
141
+ required: VulnerabilityRequirements[];
142
+ sector: string;
143
+ details: string;
144
+ remote?: boolean;
145
+ library: Library;
146
+ action: VulnerabilityAction;
147
+ user: VulnerabilityActionUser;
148
+ folder: string[];
149
+ memAddress: string;
150
+ }
151
+ export interface MockData {
152
+ }