- TCP socket connection established
- Encryption implemented (Fernet)
- Automatic reconnection logic
- Message serialization (JSON)
- Connection error handling
-
help- Display available commands- Command class implemented
- Returns formatted command list
- Unit tests written
-
download- Retrieve file from victim to server- Command class implemented
- Handles binary files
- Error handling for missing files
- Progress reporting
- Unit tests written
-
upload- Send file from server to victim- Command class implemented
- Handles binary files
- Path validation
- Progress reporting
- Unit tests written
-
shell- Open interactive shell- Command class implemented
- Windows cmd.exe support
- Linux bash support
- Command output capture
- Unit tests written
-
ipconfig- Get network configuration- Command class implemented
- Windows implementation
- Linux implementation
- Returns all interfaces
- Unit tests written
-
screenshot- Capture screen- Command class implemented
- Uses Pillow/mss
- Returns image data
- Multi-monitor support
- Unit tests written
-
keylogger- Record keystrokes- Command class implemented
- Start/stop/get actions
- Uses pynput
- Thread-safe logging
- Unit tests written
-
webcam_snapshot- Take webcam photo- Command class implemented
- Uses OpenCV
- Returns image data
- Camera selection
- Unit tests written
-
webcam_stream- Stream webcam video- Command class implemented
- Start/stop actions
- Uses OpenCV
- Frame encoding
- Unit tests written
-
record_audio- Record from microphone- Command class implemented
- Start/stop actions
- Duration parameter
- Uses PyAudio
- Returns WAV data
- Unit tests written
-
search- Search for files- Command class implemented
- Pattern matching
- Recursive search option
- Returns file list with paths
- Unit tests written
-
hashdump- Extract password hashes- Command class implemented
- Windows SAM extraction
- Linux shadow extraction
- Privilege check
- Unit tests written
- OS detection implemented
- All commands work on Windows
- All commands work on Linux
- Platform-specific code paths
- Platform detection tests
- TCP listener implemented
- Configurable port
- Multi-agent support (threading/asyncio)
- Graceful shutdown
- Command-line interface
- Agent list display
- Agent selection
- Command prompt
- Output formatting
- Accept new connections
- Handle disconnections
- Reconnection support
- Connection timeout handling
- Agent session tracking
- Unique session IDs
- Connection timestamp
- Last seen tracking
- Disconnect detection
- Session cleanup
-
list- Show connected agents -
select <id>- Select agent -
exit- Disconnect agent -
quit- Shutdown server -
help- Display commands - Error handling for invalid commands