How nukeratframework/nukerat works
NukeRat is a post-exploitation and red-team operations framework. Operators use its desktop console to manage servers and listeners, inspect hosts and activity, and access tasking and reporting tools; implants communicate through server-side listeners, while a NukeScripts worker supports command validation and automation. The graph groups the console, API/domain services, runtime infrastructure, and implant capabilities. The README documents broad capabilities, but many implementation paths were not sampled, so uncertain integrations are shown as dashed links rather than asserted call chains.
Main entry points: server.py Admin API · database.py SQLite Store · main.tsx Console Workspace · manage.py HTTP Listener
Components 21
Operator Console
- Desktop Shell
client/gui/src/app.tsx - Console Workspace
client/gui/src/components/canva/main.tsx - Workspace State
client/gui/src/components/canva/logic.tsx - Operations Panels
client/gui/src/components/canva/topbar - Host Workspaces
client/gui/src/components/canva/workspace - Client API
client/gui/src/api
API and Domain Services
- Admin API
server/core/server.py - Domain Services
server/core/logic - Task Queue
server/core/utils/querys.py
Server Runtime
- SQLite Store
server/infra/database/database.py - HTTP Listener
server/infra/listeners/http/manage.py - File Server
server/infra/listeners/file_server/manage.py - Port Forwarding
server/infra/listeners/port_forward/manage.py - SOCKS Listener
server/infra/listeners/socks/manage.py - Logging
server/infra/general/create_log.py
Implant Runtime
- macOS Loader
implants/mac/loader - macOS Stageless
implants/mac/stageless
Automation and Reporting
- NukeScripts Worker
server/workers/nukescripts/main.py - Reports
server/core/logic/reports - AI Agents
server/core/logic/agents
Other components
- Operator
Connections 24
- Operator → Desktop Shell: opens
README.md - Desktop Shell → Console Workspace: renders
- Console Workspace → Workspace State: uses
client/gui/src/components/canva/main.tsx - Console Workspace → Operations Panels: renders
client/gui/src/components/canva/main.tsx - Console Workspace → Host Workspaces: renders
client/gui/src/components/canva/main.tsx - Workspace State → Client API: fetches
client/gui/src/components/canva/logic.tsx - Client API → Admin API: requests
- Admin API → Domain Services: routes to
server/core/server.py - Domain Services → SQLite Store: reads and writes
- Domain Services → Task Queue: tasking
- HTTP Listener → SQLite Store: persists listener state
server/infra/listeners/http/manage.py - File Server → SQLite Store: uses
server/infra/listeners/file_server/manage.py - Port Forwarding → SQLite Store: uses
server/infra/listeners/port_forward/manage.py - Port Forwarding → SOCKS Listener: bridges to
server/infra/listeners/port_forward/manage.py - Admin API → HTTP Listener: starts
server/core/server.py - Admin API → File Server: starts
server/core/server.py - Admin API → Port Forwarding: starts
server/core/server.py - Admin API → SOCKS Listener: starts
server/core/server.py - macOS Loader → HTTP Listener: communicates through
- macOS Stageless → HTTP Listener: communicates through
- Admin API → NukeScripts Worker: starts worker
server/core/server.py - NukeScripts Worker → SQLite Store: reads and updates
- Admin API → Reports: exposes
- Admin API → AI Agents: exposes