ADscanADscan Docs

Workspace Management

Organize and isolate scan data using ADscan workspaces

Workspaces in ADscan allow you to organize and isolate scan data for different domains, networks, or projects. Each workspace maintains its own credentials, enumeration data, and logs.

Overview

Workspaces are stored in ~/.adscan/workspaces/ and contain:

  • Discovered credentials
  • Enumeration results (users, computers, groups)
  • BloodHound collection data
  • Scan logs and output
  • Configuration settings

Commands

workspace create

Create a new workspace.

Syntax:

workspace create <name>

Example:

(ADscan) > workspace create client_audit_2024
 Workspace 'client_audit_2024' created
(ADscan:client_audit_2024) >

Naming Guidelines:

  • Use descriptive names (domain name, client, date)
  • No spaces (use underscores or hyphens)
  • Keep names short and memorable

workspace select

Switch to an existing workspace.

Syntax:

workspace select [name]

Interactive Mode:

(ADscan) > workspace select
? Select workspace:
  > client_audit_2024
    htb_forest
    lab_testing

Direct Selection:

(ADscan) > workspace select htb_forest
 Switched to workspace 'htb_forest'
(ADscan:htb_forest) >

workspace list

List all available workspaces.

Syntax:

workspace list

Example Output:

(ADscan) > workspace list

Available Workspaces:
┌────────────────────┬─────────────────────┬───────────┐
 Name Created Size
├────────────────────┼─────────────────────┼───────────┤
 client_audit_2024 2024-01-15 09:30 45 MB
 htb_forest 2024-01-10 14:22 12 MB
 lab_testing 2024-01-08 11:15 8 MB
└────────────────────┴─────────────────────┴───────────┘

workspace delete

Delete a workspace and all its data.

Syntax:

workspace delete <name>

Example:

(ADscan) > workspace delete old_scan
 This will permanently delete the workspace 'old_scan' and all its data
? Confirm deletion (y/n): y
 Workspace 'old_scan' deleted

Warning: This action is irreversible. All data in the workspace will be permanently deleted.

workspace info

Display information about the current workspace.

Syntax:

workspace info

Example Output:

(ADscan:client_audit_2024) > workspace info

Workspace: client_audit_2024
───────────────────────────────────────────
Path:        ~/.adscan/workspaces/client_audit_2024
Created:     2024-01-15 09:30:45
Size:        45 MB
Domain:      corp.example.com
Credentials: 12 accounts
Users:       450 discovered
Computers:   125 discovered
BloodHound:  Data collected

clear_all

Clear all data from the current workspace.

Syntax:

clear_all

Example:

(ADscan:client_audit_2024) > clear_all
 This will permanently delete all data in workspace 'client_audit_2024'
? Confirm deletion (y/n): y
 Workspace data cleared

# TODO: Add real output from 'clear_all' command

Warning: This action removes all enumeration data, credentials, logs, and BloodHound collections from the workspace. The workspace directory structure remains but is empty.

Destructive Operation

clear_all permanently deletes all data in the workspace including discovered credentials, enumeration results, and BloodHound collections. Always backup important data before using this command. This action cannot be undone.

Workspace Structure

Each workspace has the following structure:

~/.adscan/workspaces/<workspace_name>/
├── credentials.json       # Discovered credentials
├── domain_info.json       # Domain metadata
├── users.txt              # Enumerated users
├── computers.txt          # Enumerated computers
├── groups.txt             # Enumerated groups
├── bloodhound/            # BloodHound data
│   ├── computers.json
│   ├── users.json
│   ├── groups.json
│   └── domains.json
├── shares/                # Share enumeration
│   └── accessible_shares.txt
├── passwords/             # Extracted passwords
│   └── found_passwords.txt
└── logs/                  # Scan logs
    ├── enumeration.log
    └── exploitation.log

Best Practices

Naming Conventions

Choose meaningful workspace names:

# Good examples
workspace create acme_corp_jan2024
workspace create htb_forest
workspace create client_pentest_phase1

# Avoid
workspace create test
workspace create ws1
workspace create temp

Workspace Organization

  • One workspace per domain - Keep domains isolated
  • Use dates - Include date in name for time tracking
  • Client names - Use client codes for confidentiality

Backup Strategy

Back up workspace directories manually using system tools:

# Manual backup using tar
tar -czf ~/backups/workspace_$(date +%Y%m%d).tar.gz ~/.adscan/workspaces/client_audit_2024/

# Or use rsync for incremental backups
rsync -av ~/.adscan/workspaces/client_audit_2024/ ~/backups/workspaces/

Cleanup

Delete old workspaces to save disk space:

# List old workspaces
workspace list

# Delete completed assessments
workspace delete htb_forest

Workspace Permissions

Workspace files are stored with restrictive permissions:

  • Directory: 700 (rwx------)
  • Credentials: 600 (rw-------)
  • Logs: 644 (rw-r--r--)

This ensures sensitive data is protected from other users on the system.

Troubleshooting

"Workspace already exists"

(ADscan) > workspace create test
 Workspace 'test' already exists

Solution: Choose a different name or delete the existing workspace.

"Workspace not found"

(ADscan) > workspace select nonexistent
 Workspace 'nonexistent' not found

Solution: Check available workspaces with workspace list.

"Permission denied"

 Permission denied: ~/.adscan/workspaces/test

Solution: Ensure you have write permissions or run with sudo.

Next Steps

After creating a workspace, proceed to:

  1. Configure scanning parameters
  2. Run your first scan