@b0xs/recorder 1.0.30 → 1.0.31

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.
@@ -9,6 +9,10 @@
9
9
  * boxs lab --vpn ./lame.ovpn
10
10
  * boxs lab --vpn ./lame.ovpn --title "HTB — Lame" --visibility public
11
11
  * boxs lab --vpn ./lame.ovpn --no-stream
12
+ *
13
+ * SEC-2a: VPN runs in a dedicated sidecar container (has NET_ADMIN). The PTY
14
+ * container shares the sidecar's network namespace but has no NET_ADMIN —
15
+ * relay operators cannot run iptables or modify the network stack.
12
16
  */
13
17
  export interface LabOptions {
14
18
  vpn: string;
@@ -1 +1 @@
1
- {"version":3,"file":"lab.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiBH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACxD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA2KnE"}
1
+ {"version":3,"file":"lab.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAiBH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACxD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAkLnE"}
@@ -10,6 +10,10 @@
10
10
  * boxs lab --vpn ./lame.ovpn
11
11
  * boxs lab --vpn ./lame.ovpn --title "HTB — Lame" --visibility public
12
12
  * boxs lab --vpn ./lame.ovpn --no-stream
13
+ *
14
+ * SEC-2a: VPN runs in a dedicated sidecar container (has NET_ADMIN). The PTY
15
+ * container shares the sidecar's network namespace but has no NET_ADMIN —
16
+ * relay operators cannot run iptables or modify the network stack.
13
17
  */
14
18
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
19
  if (k2 === undefined) k2 = k;
@@ -96,9 +100,6 @@ async function labCommand(options) {
96
100
  if (options.sessionId) {
97
101
  sessionId = options.sessionId;
98
102
  console.log(chalk_1.default.green(`✔ Attached to session ${sessionId}`));
99
- // Always call start-stream to re-open the session (it may be 'completed'
100
- // from a previous run) and get a fresh token. The passed --stream-token is
101
- // only used as a fallback if the API call fails (network issue, etc.).
102
103
  if (options.stream !== false) {
103
104
  const streamSpinner = (0, ora_1.default)('Opening stream...').start();
104
105
  try {
@@ -160,56 +161,66 @@ async function labCommand(options) {
160
161
  console.log(chalk_1.default.gray(' VPN: ') + chalk_1.default.white(vpnPath));
161
162
  console.log(chalk_1.default.gray(' Image: ') + chalk_1.default.white(PTY_IMAGE));
162
163
  console.log(chalk_1.default.gray('\nPress Ctrl+C inside the container to stop recording.\n'));
164
+ // ── Start VPN sidecar (SEC-2a) ─────────────────────────────────────────────
165
+ // The sidecar owns NET_ADMIN + the network namespace. It starts OpenVPN and
166
+ // applies iptables egress rules. The PTY container shares this namespace via
167
+ // --network container:<sidecar> — with no NET_ADMIN, so operators cannot
168
+ // flush iptables from inside the hacking environment.
169
+ const sidecarName = `boxs-vpn-${sessionId.slice(0, 8)}`;
170
+ await startVpnSidecar(sidecarName, vpnPath);
171
+ // Ensure sidecar is stopped on any exit path
172
+ let sidecarStopped = false;
173
+ const cleanupSidecar = () => {
174
+ if (sidecarStopped)
175
+ return;
176
+ sidecarStopped = true;
177
+ child_process.execSync(`docker stop ${sidecarName} 2>/dev/null || true`);
178
+ };
179
+ process.once('SIGINT', cleanupSidecar);
180
+ process.once('SIGTERM', cleanupSidecar);
181
+ // Wait for VPN to be ready before starting the PTY container
182
+ await waitForVpnReady(sidecarName);
163
183
  // ── Build docker run args ───────────────────────────────────────────────────
164
184
  //
165
- // Security model:
166
- // --cap-drop ALL — drop all capabilities
167
- // --cap-add NET_ADMIN — required for OpenVPN tun interface inside container
168
- // --device /dev/net/tun — required for OpenVPN
169
- // No --network host your LAN is never exposed to the container
185
+ // Security model (SEC-2a):
186
+ // --network container:<sidecar> shares the VPN network namespace
187
+ // --cap-drop ALL drop everything
188
+ // --cap-add NET_RAW nmap/masscan/ping setcap binaries need this
189
+ // --cap-add SETUID / SETGID gosu needs these to switch root operator
170
190
  //
171
- // SEC-2a note: iptables rules on the HOST (not inside the container) are the
172
- // correct long-term fix (LABS-2). For boxs lab local mode, the container
173
- // gets NET_ADMIN only to start OpenVPN. Iptables rules inside the container
174
- // restrict egress to the target IP + ws.boxs.sh once VPN is up (entrypoint.sh).
191
+ // NO --cap-add NET_ADMIN operator cannot run iptables or add routes
192
+ // NO --device /dev/net/tun tun0 lives in the shared namespace already
175
193
  //
176
194
  const dockerArgs = [
177
195
  'run', '--rm', '--interactive', '--tty',
178
196
  '--platform', 'linux/amd64',
197
+ '--network', `container:${sidecarName}`,
179
198
  '--cap-drop', 'ALL',
180
- '--cap-add', 'NET_ADMIN', // OpenVPN needs this to create tun0
181
- '--cap-add', 'NET_RAW', // nmap/masscan/ping need raw sockets (via setcap in image)
182
- '--cap-add', 'SETUID', // gosu needs this to switch root → operator
183
- '--cap-add', 'SETGID', // gosu needs setgroups() to switch groups
184
- '--device', '/dev/net/tun', // OpenVPN needs /dev/net/tun
185
- // Required env vars for the recorder inside the container.
186
- // No account-level API key — only session-scoped tokens.
199
+ '--cap-add', 'NET_RAW', // nmap/masscan/ping (setcap binaries)
200
+ '--cap-add', 'SETUID', // gosu: root operator
201
+ '--cap-add', 'SETGID', // gosu: group switch
202
+ // Session-scoped tokens only no account-level API key in the container
187
203
  '--env', `SESSION_ID=${sessionId}`,
188
204
  '--env', `USER_ID=${userId}`,
189
205
  '--env', `STREAM_TOKEN=${streamToken}`,
190
206
  '--env', `UPLOAD_TOKEN=${uploadToken}`,
191
207
  '--env', `WS_URL=${wsUrl}`,
192
- // Mount VPN config read-only
193
- '--env', `VPN_CONFIG=/tmp/vpn.ovpn`,
194
- '--volume', `${vpnPath}:/tmp/vpn.ovpn:ro`,
195
208
  // SecLists volume (populated once, reused across all sessions)
196
209
  '--volume', `${SECLISTS_VOLUME}:/usr/share/seclists:ro`,
197
210
  PTY_IMAGE,
198
211
  ];
199
212
  // ── Hand off to docker run ─────────────────────────────────────────────────
200
- // stdio: inherit — the container's TTY IS your terminal session.
201
- // This call blocks until the user types `exit` or Ctrl+C.
202
213
  const docker = child_process.spawn('docker', dockerArgs, {
203
214
  stdio: 'inherit',
204
215
  });
205
216
  docker.on('error', (err) => {
206
217
  console.error(chalk_1.default.red(`\n✗ Failed to start Docker: ${err.message}\n`));
218
+ cleanupSidecar();
207
219
  process.exit(1);
208
220
  });
209
221
  docker.on('exit', (code) => {
210
- // Call stop-stream so the session is marked completed even if the recorder
211
- // inside the container didn't get a chance to do it (container killed,
212
- // network drop, Ctrl+C without clean shutdown, etc.).
222
+ cleanupSidecar();
223
+ // Mark session completed even if the recorder didn't get a clean shutdown
213
224
  const stopUrl = `${apiUrl}/api/sessions/${sessionId}/stop-stream`;
214
225
  fetch(stopUrl, {
215
226
  method: 'POST',
@@ -230,9 +241,50 @@ async function checkDocker() {
230
241
  process.exit(1);
231
242
  }
232
243
  }
244
+ async function startVpnSidecar(name, vpnPath) {
245
+ const spinner = (0, ora_1.default)('Starting VPN sidecar...').start();
246
+ try {
247
+ // Remove any stale container with the same name before starting
248
+ await exec(`docker rm -f ${name} 2>/dev/null || true`);
249
+ await exec(`docker run -d --rm --name ${name} --platform linux/amd64 ` +
250
+ `--cap-drop ALL --cap-add NET_ADMIN ` +
251
+ `--device /dev/net/tun ` +
252
+ `--volume ${vpnPath}:/tmp/vpn.ovpn:ro ` +
253
+ `--env VPN_CONFIG=/tmp/vpn.ovpn ` +
254
+ `--entrypoint /usr/local/bin/boxs-sidecar ` +
255
+ `${PTY_IMAGE}`);
256
+ spinner.succeed(chalk_1.default.green('VPN sidecar started'));
257
+ }
258
+ catch (err) {
259
+ spinner.fail(chalk_1.default.red('Failed to start VPN sidecar'));
260
+ console.error(chalk_1.default.gray(` ${err.message}`));
261
+ process.exit(1);
262
+ }
263
+ }
264
+ async function waitForVpnReady(name) {
265
+ const spinner = (0, ora_1.default)('Waiting for VPN...').start();
266
+ const timeout = 60;
267
+ for (let i = 0; i < timeout; i++) {
268
+ try {
269
+ const { stdout } = await exec(`docker exec ${name} ip link show tun0 2>/dev/null && echo READY || true`);
270
+ if (stdout.includes('READY')) {
271
+ spinner.succeed(chalk_1.default.green('VPN connected'));
272
+ return;
273
+ }
274
+ }
275
+ catch { /* not ready yet */ }
276
+ await new Promise(r => setTimeout(r, 1000));
277
+ }
278
+ // Timeout — dump sidecar logs before exiting
279
+ const logs = await exec(`docker logs ${name} 2>&1`)
280
+ .then(r => r.stdout)
281
+ .catch(() => '(no logs)');
282
+ spinner.fail(chalk_1.default.red('VPN did not connect within 60s'));
283
+ console.error(chalk_1.default.gray(logs));
284
+ child_process.execSync(`docker stop ${name} 2>/dev/null || true`);
285
+ process.exit(1);
286
+ }
233
287
  async function pullImage() {
234
- // Always pull to pick up updates under the same tag (e.g. :latest).
235
- // docker pull exits fast if the digest already matches — no re-download needed.
236
288
  const isFirstRun = await (async () => {
237
289
  try {
238
290
  await exec(`docker image inspect ${PTY_IMAGE} --platform linux/amd64 --format "{{.Id}}"`);
@@ -256,7 +308,6 @@ async function pullImage() {
256
308
  }
257
309
  }
258
310
  async function ensureSecLists() {
259
- // Check if volume exists and is populated
260
311
  try {
261
312
  const { stdout } = await exec(`docker run --rm -v ${SECLISTS_VOLUME}:/data alpine:latest test -f /data/.populated && echo yes || echo no`);
262
313
  if (stdout.trim() === 'yes') {
@@ -271,13 +322,11 @@ async function ensureSecLists() {
271
322
  console.log(chalk_1.default.gray(' This takes a few minutes. Subsequent starts are instant.\n'));
272
323
  try {
273
324
  await exec(`docker volume create ${SECLISTS_VOLUME}`);
274
- // Use alpine/git which is tiny (~10MB) — we don't need the full boxs-pty image for this
275
325
  child_process.execSync(`docker run --rm -v ${SECLISTS_VOLUME}:/data alpine/git:latest clone --depth=1 https://github.com/danielmiessler/SecLists /data`, { stdio: 'inherit' });
276
326
  await exec(`docker run --rm -v ${SECLISTS_VOLUME}:/data alpine:latest touch /data/.populated`);
277
327
  console.log(chalk_1.default.green('\n SecLists ready\n'));
278
328
  }
279
329
  catch (err) {
280
- // Non-fatal — container works without SecLists (just missing wordlists)
281
330
  console.log(chalk_1.default.yellow(` Warning: SecLists population failed (${err.message})`));
282
331
  console.log(chalk_1.default.gray(' You can populate it manually: boxs-pty/scripts/populate-seclists.sh\n'));
283
332
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lab.js","sourceRoot":"","sources":["../../../src/cli/commands/lab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lab.js","sourceRoot":"","sources":["../../../src/cli/commands/lab.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@b0xs/recorder",
3
- "version": "1.0.30",
3
+ "version": "1.0.31",
4
4
  "description": "CLI tool for recording terminal sessions to BOXS platform",
5
5
  "main": "dist/index.js",
6
6
  "bin": {