Terminal Recorder
Capture terminal commands and output to log files for engagement documentation.
Prerequisites
Requires VS Code Shell Integration in Rich mode. Add to your shell profile:
Zsh (.zshrc):
bash
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path zsh)"Bash (.bashrc):
bash
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path bash)"Commands
| Command | ID | Description |
|---|---|---|
| Start/Register terminal logger | weaponized.terminal-logger.register | Begin recording |
| Stop/Unregister terminal logger | weaponized.terminal-logger.unregister | Stop recording |
Configuration
When starting, you choose:
- Log file path: Default
${workspaceFolder}/.vscode/.terminal.log - Log level:
command-only— Log commands onlyoutput-only— Log output onlycommand-and-output— Log bothnetcat-handler— Specialized mode for netcat sessions
- Terminal selection: Specific terminal PIDs or all terminals
Auto-enable
json
{
"weaponized.terminal-log.enabled": true,
"weaponized.terminal-log.path": "${workspaceFolder}/.vscode/.terminal.log",
"weaponized.terminal-log.level": "command-and-output"
}Log Format
weaponized-terminal-logging:[1701234567890][terminalid: 12345][terminalName: zsh] user@/home/kali/project$ nmap -sS 10.10.10.100Key Files
src/features/terminal/recorder/index.ts— Start/stop logicsrc/features/terminal/recorder/record_append.ts— Capture listenerssrc/features/terminal/recorder/store.ts— Capture registrysrc/features/terminal/recorder/mode.ts— Mode definitions