greybel-mock-environment 1.1.9 → 1.2.1
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.
- package/dist/fs.d.ts +3 -1
- package/dist/fs.js +46 -42
- package/dist/types/computer.d.ts +2 -0
- package/dist/types/computer.js +4 -0
- package/dist/types/device.d.ts +1 -0
- package/dist/types/device.js +10 -0
- package/dist/types/router.d.ts +2 -0
- package/dist/types/router.js +20 -0
- package/dist/types/switch.d.ts +2 -0
- package/dist/types/switch.js +4 -0
- package/package.json +1 -1
package/dist/fs.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Service } from './types';
|
|
2
|
+
import { Entity, File, Folder } from './types/file-system';
|
|
2
3
|
import { Port } from './types/port';
|
|
3
4
|
import { User } from './types/user';
|
|
4
5
|
export declare enum FSDeviceOwnerType {
|
|
@@ -24,5 +25,6 @@ export interface FSOptions {
|
|
|
24
25
|
parent?: Entity;
|
|
25
26
|
ports?: Map<number, Port>;
|
|
26
27
|
}
|
|
28
|
+
export declare function getLibraryFile(service: Service, parent?: Entity): File;
|
|
27
29
|
export declare function getUserFolder(options: FSOptions, user: string): Folder;
|
|
28
30
|
export declare function getDefaultFileSystem(options: FSOptions): Folder;
|
package/dist/fs.js
CHANGED
|
@@ -47,7 +47,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
47
47
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
48
48
|
};
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.getDefaultFileSystem = exports.getUserFolder = exports.FSDeviceType = exports.FSCreationVariation = exports.FSDeviceOwnerType = void 0;
|
|
50
|
+
exports.getDefaultFileSystem = exports.getUserFolder = exports.getLibraryFile = exports.FSDeviceType = exports.FSCreationVariation = exports.FSDeviceOwnerType = void 0;
|
|
51
51
|
var types_1 = require("./types");
|
|
52
52
|
var file_system_1 = require("./types/file-system");
|
|
53
53
|
var FSDeviceOwnerType;
|
|
@@ -91,6 +91,48 @@ function getEtcAptFolder(options) {
|
|
|
91
91
|
aptFolder.files = getEtcAptFiles(newOptions);
|
|
92
92
|
return aptFolder;
|
|
93
93
|
}
|
|
94
|
+
function getLibraryFile(service, parent) {
|
|
95
|
+
switch (service) {
|
|
96
|
+
case types_1.Service.SSH: {
|
|
97
|
+
return new file_system_1.File({
|
|
98
|
+
name: 'ssh.so',
|
|
99
|
+
permissions: '-rw-r--r--',
|
|
100
|
+
owner: 'root',
|
|
101
|
+
type: file_system_1.FileType.SSH,
|
|
102
|
+
version: '1.0.0.0'
|
|
103
|
+
}, parent);
|
|
104
|
+
}
|
|
105
|
+
case types_1.Service.FTP: {
|
|
106
|
+
return new file_system_1.File({
|
|
107
|
+
name: 'ftp.so',
|
|
108
|
+
permissions: '-rw-r--r--',
|
|
109
|
+
owner: 'root',
|
|
110
|
+
type: file_system_1.FileType.FTP,
|
|
111
|
+
version: '1.0.0.0'
|
|
112
|
+
}, parent);
|
|
113
|
+
}
|
|
114
|
+
case types_1.Service.HTTP: {
|
|
115
|
+
return new file_system_1.File({
|
|
116
|
+
name: 'http.so',
|
|
117
|
+
permissions: '-rw-r--r--',
|
|
118
|
+
owner: 'root',
|
|
119
|
+
type: file_system_1.FileType.HTTP,
|
|
120
|
+
version: '1.0.0.0'
|
|
121
|
+
}, parent);
|
|
122
|
+
}
|
|
123
|
+
case types_1.Service.RSHELL: {
|
|
124
|
+
return new file_system_1.File({
|
|
125
|
+
name: 'rshell.so',
|
|
126
|
+
permissions: '-rw-r--r--',
|
|
127
|
+
owner: 'root',
|
|
128
|
+
type: file_system_1.FileType.RShell,
|
|
129
|
+
version: '1.0.0.0'
|
|
130
|
+
}, parent);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
exports.getLibraryFile = getLibraryFile;
|
|
94
136
|
function getEtcFiles(options) {
|
|
95
137
|
return [
|
|
96
138
|
new file_system_1.File({
|
|
@@ -202,47 +244,9 @@ function getLibFiles(options) {
|
|
|
202
244
|
try {
|
|
203
245
|
for (var services_1 = __values(services), services_1_1 = services_1.next(); !services_1_1.done; services_1_1 = services_1.next()) {
|
|
204
246
|
var service = services_1_1.value;
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
name: 'ssh.so',
|
|
209
|
-
permissions: '-rw-r--r--',
|
|
210
|
-
owner: 'root',
|
|
211
|
-
type: file_system_1.FileType.SSH,
|
|
212
|
-
version: '1.0.0.0'
|
|
213
|
-
}, options.parent));
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
case types_1.Service.FTP: {
|
|
217
|
-
libFiles.push(new file_system_1.File({
|
|
218
|
-
name: 'ftp.so',
|
|
219
|
-
permissions: '-rw-r--r--',
|
|
220
|
-
owner: 'root',
|
|
221
|
-
type: file_system_1.FileType.FTP,
|
|
222
|
-
version: '1.0.0.0'
|
|
223
|
-
}, options.parent));
|
|
224
|
-
break;
|
|
225
|
-
}
|
|
226
|
-
case types_1.Service.HTTP: {
|
|
227
|
-
libFiles.push(new file_system_1.File({
|
|
228
|
-
name: 'http.so',
|
|
229
|
-
permissions: '-rw-r--r--',
|
|
230
|
-
owner: 'root',
|
|
231
|
-
type: file_system_1.FileType.HTTP,
|
|
232
|
-
version: '1.0.0.0'
|
|
233
|
-
}, options.parent));
|
|
234
|
-
break;
|
|
235
|
-
}
|
|
236
|
-
case types_1.Service.RSHELL: {
|
|
237
|
-
libFiles.push(new file_system_1.File({
|
|
238
|
-
name: 'rshell.so',
|
|
239
|
-
permissions: '-rw-r--r--',
|
|
240
|
-
owner: 'root',
|
|
241
|
-
type: file_system_1.FileType.RShell,
|
|
242
|
-
version: '1.0.0.0'
|
|
243
|
-
}, options.parent));
|
|
244
|
-
break;
|
|
245
|
-
}
|
|
247
|
+
var file = getLibraryFile(service, options.parent);
|
|
248
|
+
if (file !== null) {
|
|
249
|
+
libFiles.push(file);
|
|
246
250
|
}
|
|
247
251
|
}
|
|
248
252
|
}
|
package/dist/types/computer.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FSDeviceType } from '../fs';
|
|
2
2
|
import { Device, DeviceOptions } from './device';
|
|
3
|
+
import { Port } from './port';
|
|
3
4
|
import { Router } from './router';
|
|
4
5
|
export interface ComputerOptions extends DeviceOptions {
|
|
5
6
|
router?: Router;
|
|
@@ -9,5 +10,6 @@ export declare class Computer extends Device {
|
|
|
9
10
|
constructor(options: ComputerOptions);
|
|
10
11
|
getDeviceType(): FSDeviceType;
|
|
11
12
|
getRouter(): Device;
|
|
13
|
+
addPort(port: Port): void;
|
|
12
14
|
findByLanIp(ip: string): Device;
|
|
13
15
|
}
|
package/dist/types/computer.js
CHANGED
|
@@ -31,6 +31,10 @@ var Computer = /** @class */ (function (_super) {
|
|
|
31
31
|
Computer.prototype.getRouter = function () {
|
|
32
32
|
return this.router;
|
|
33
33
|
};
|
|
34
|
+
Computer.prototype.addPort = function (port) {
|
|
35
|
+
_super.prototype.addPort.call(this, port);
|
|
36
|
+
this.router.ports.set(port.port, port);
|
|
37
|
+
};
|
|
34
38
|
Computer.prototype.findByLanIp = function (ip) {
|
|
35
39
|
return this.getRouter().findByLanIp(ip);
|
|
36
40
|
};
|
package/dist/types/device.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export declare class Device {
|
|
|
31
31
|
changePassword(username: string, password: string): boolean;
|
|
32
32
|
getUserByVulnerability(vulActionUser: VulnerabilityActionUser): User;
|
|
33
33
|
findPort(portNumber: number): Port;
|
|
34
|
+
addPort(port: Port): void;
|
|
34
35
|
findLibraryFileByPort(port: Port): File;
|
|
35
36
|
getKernel(): File;
|
|
36
37
|
}
|
package/dist/types/device.js
CHANGED
|
@@ -113,6 +113,16 @@ var Device = /** @class */ (function () {
|
|
|
113
113
|
}
|
|
114
114
|
return null;
|
|
115
115
|
};
|
|
116
|
+
Device.prototype.addPort = function (port) {
|
|
117
|
+
this.ports.set(port.port, port);
|
|
118
|
+
var addedPort = this.ports.get(port.port);
|
|
119
|
+
var libFolder = this.getFile(['lib']);
|
|
120
|
+
if (!(libFolder instanceof file_system_1.Folder)) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
var libaryFile = (0, fs_1.getLibraryFile)(addedPort.service, libFolder);
|
|
124
|
+
libFolder.putFile(libaryFile);
|
|
125
|
+
};
|
|
116
126
|
Device.prototype.findLibraryFileByPort = function (port) {
|
|
117
127
|
var _this = this;
|
|
118
128
|
var get = function (fileName, type) {
|
package/dist/types/router.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FSDeviceType } from '../fs';
|
|
2
2
|
import { Computer } from './computer';
|
|
3
3
|
import { Device, DeviceOptions } from './device';
|
|
4
|
+
import { Port } from './port';
|
|
4
5
|
export interface RouterOptions extends DeviceOptions {
|
|
5
6
|
bssid: string;
|
|
6
7
|
essid: string;
|
|
@@ -20,4 +21,5 @@ export declare class Router extends Device {
|
|
|
20
21
|
getRouter(): Device;
|
|
21
22
|
findByLanIp(ip: string): Device;
|
|
22
23
|
getComputers(): Computer[];
|
|
24
|
+
findDeviceByPort(port: Port): Device;
|
|
23
25
|
}
|
package/dist/types/router.js
CHANGED
|
@@ -89,6 +89,26 @@ var Router = /** @class */ (function (_super) {
|
|
|
89
89
|
return item instanceof computer_1.Computer;
|
|
90
90
|
});
|
|
91
91
|
};
|
|
92
|
+
Router.prototype.findDeviceByPort = function (port) {
|
|
93
|
+
var e_2, _a;
|
|
94
|
+
try {
|
|
95
|
+
for (var _b = __values(this.devices.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
96
|
+
var device = _c.value;
|
|
97
|
+
var p = device.findPort(port.port);
|
|
98
|
+
if (p !== null) {
|
|
99
|
+
return device;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
104
|
+
finally {
|
|
105
|
+
try {
|
|
106
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
107
|
+
}
|
|
108
|
+
finally { if (e_2) throw e_2.error; }
|
|
109
|
+
}
|
|
110
|
+
return null;
|
|
111
|
+
};
|
|
92
112
|
return Router;
|
|
93
113
|
}(device_1.Device));
|
|
94
114
|
exports.Router = Router;
|
package/dist/types/switch.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FSDeviceType } from '../fs';
|
|
2
2
|
import { Device } from './device';
|
|
3
|
+
import { Port } from './port';
|
|
3
4
|
import { Router, RouterOptions } from './router';
|
|
4
5
|
export interface SwitchOptions extends RouterOptions {
|
|
5
6
|
router: Router;
|
|
@@ -7,6 +8,7 @@ export interface SwitchOptions extends RouterOptions {
|
|
|
7
8
|
export declare class Switch extends Router {
|
|
8
9
|
router?: Router;
|
|
9
10
|
constructor(options: SwitchOptions);
|
|
11
|
+
addPort(port: Port): void;
|
|
10
12
|
getDeviceType(): FSDeviceType;
|
|
11
13
|
getRouter(): Device;
|
|
12
14
|
}
|
package/dist/types/switch.js
CHANGED
|
@@ -25,6 +25,10 @@ var Switch = /** @class */ (function (_super) {
|
|
|
25
25
|
_this.router = options.router;
|
|
26
26
|
return _this;
|
|
27
27
|
}
|
|
28
|
+
Switch.prototype.addPort = function (port) {
|
|
29
|
+
_super.prototype.addPort.call(this, port);
|
|
30
|
+
this.router.ports.set(port.port, port);
|
|
31
|
+
};
|
|
28
32
|
Switch.prototype.getDeviceType = function () {
|
|
29
33
|
return fs_1.FSDeviceType.Switch;
|
|
30
34
|
};
|