Skip to content
Security
Skill

/system-hardening

This skill should be used when the user mentions "harden", "hardening", "sysctl", "kernel parameters", "SSH config", "sshd_config", "firewall rules", "iptables", "nftables", "ufw", "fail2ban", "file permissions", "SUID", "SGID", "service minimization", "disable services",

From plugin
fsociety
2225 skills7 agents63 commands

Claude Code

$ npx -y skills add ogrodev/fsociety --skill system-hardening --agent claude-code

SKILL.md

system-hardening.SKILL.md
name: system-hardening
description: |
  This skill should be used when the user mentions "harden", "hardening", "sysctl",
  "kernel parameters", "SSH config", "sshd_config", "firewall rules", "iptables",
  "nftables", "ufw", "fail2ban", "file permissions", "SUID", "SGID", "service minimization",
  "disable services", "auditd", "SELinux", "AppArmor", "CIS benchmark",
  "security baseline", "OS hardening", "attack platform", "operator machine",
  "Kali hardening", "disk encryption", "LUKS", "swap encryption", "encrypted swap",
  "secure boot", "firejail", "sandboxing", "credential storage", "pass", "keepassxc",
  "gpg-agent", "browser hardening", "USB security", "USBGuard", "memory protection",
  "ASLR", "stack protection", "application isolation", "service attack surface",
  "patch management", "update strategy", or discusses securing an operator's
  attack platform, engagement machine, or Kali/Debian workstation for red team operations.
  Always use this skill when an operator wants to lock down their own machine — this is
  about protecting the operator, not hardening a target.
version: 2.0.0

System Hardening — Operator Platform Security

Comprehensive hardening for red team operator machines, attack platforms, and engagement workstations. This skill treats the operator's machine as the most sensitive asset in the engagement — a compromised operator platform means compromised operations, compromised clients, and compromised credentials.

The threat model here is different from server hardening: the operator needs a functional offensive toolkit while minimizing attack surface, protecting credentials, and preventing forensic recovery of engagement data.

Opsec Profile Integration

Hardening depth scales with the active opsec profile. Check the current profile before applying changes:

node "${CLAUDE_PLUGIN_ROOT}/scripts/opsec-profile.js" get

| Profile | Kernel | Firewall | SSH | Disk | Services | Memory | Credentials | |---------|--------|----------|-----|------|----------|--------|-------------| | `loud` | ASLR only | Default accept | Key auth | Optional | All running | No wipe | Plain files OK | | `normal` | Basic sysctl | INPUT drop | Key + non-default port | Home encrypted | Minimal | Swap encrypted | `pass` or `keepassxc` | | `stealth` | Full sysctl | Strict in/out | ProxyJump + knockd | Full LUKS | Whitelist only | RAM wipe on lock | GPG-backed `pass` | | `paranoid` | Full + modules locked | Egress filtered + Tor | Ephemeral keys per op | LUKS + detached header | Minimal + sandboxed | Encrypted swap + no core dumps | Hardware token + `pass` |

Reference Files

Read the appropriate reference based on the hardening category:

| Category | Reference | When to Read | |----------|-----------|-------------| | Kernel parameters, ASLR, ptrace, namespaces | `references/kernel-hardening.md` | Sysctl tuning, kernel lockdown, memory protections | | Firewall rulesets for operator machines | `references/firewall-config.md` | Inbound/outbound filtering, engagement-aware rules, Tor/VPN integration | | SSH client and server hardening | `references/ssh-hardening.md` | Key management, ProxyJump chains, agent forwarding, tunneling | | Disk, swap, and memory protection | `references/disk-and-memory.md` | LUKS encryption, swap encryption, RAM security, core dump prevention | | Service minimization and sandboxing | `references/services-and-sandboxing.md` | Attack surface reduction, firejail profiles, AppArmor, service audit | | Credential storage and browser security | `references/credential-and-browser.md` | `pass`, `keepassxc`, GPG agent, browser profiles, USB security |

Workflow

1. **Profile check**: Read the active opsec profile — it determines minimum hardening depth 2. **Audit**: Scan current configuration across all categories (kernel, firewall, SSH, disk, services, credentials) 3. **Plan**: Map gaps to profile requirements, prioritize by risk, note which changes need a reboot 4. **Backup**: Snapshot current configs before modification (`/etc/sysctl.d/`, `/etc/ssh/`, firewall rules) 5. **Apply**: Execute hardening changes category by category, testing between each 6. **Verify**: Re-scan to confirm each change took effect 7. **Log**: Record all operations via `ops-tracker.js` 8. **Report**: Generate hardening report with before/after state

Quick Audit Commands

Run these to assess current hardening state across all categories:

# Kernel — check critical sysctl values
sysctl kernel.randomize_va_space kernel.dmesg_restrict kernel.kptr_restrict kernel.yama.ptrace_scope fs.suid_dumpable net.ipv4.ip_forward 2>/dev/null

# Firewall — check default policies
sudo iptables -L -n --line-numbers 2>/dev/null | head -20 || sudo nft list ruleset 2>/dev/null | head -20

# SSH — check server config
sudo sshd -T 2>/dev/null | grep -iE "(permitrootlogin|passwordauth|pubkeyauth|port |x11forward|allowtcpforward)"

# Disk — check encryption
lsblk -o NAME,FSTYPE,MOUNTPOINT,SIZE | grep -E "(crypt|luks)"
swapon --show

# Services — count running
systemctl list-units --type=service --state=running --no-pager | wc -l

# SUID/SGID — find dangerous binaries
find / -perm -4000 -o -perm -2000 2>/dev/null | wc -l

# Credentials — check for plaintext secrets
find ~ -maxdepth 3 -name "*.key" -o -name "*.pem" -o -name "id_rsa" -o -name "*.p12" 2>/dev/null

Cross-Skill References

  • **VPS Security** (`vps-security`): For remote server provisioning and hardening — delegates system-level hardening back to this skill
  • **Network Anonymity** (`network-anonymity`): For proxy chains, Tor, VPN, and leak prevention — complements firewall egress rules defined here
  • **Anti-Forensics** (`anti-forensics`): For trace removal after operations — the memory and swap protections here reduce what forensics can recover

Logging

All hardening operations MUST be logged:

node "${CLAUDE_PLUGIN_ROOT}/scripts/ops-tracker.js" add --category "system-hardening" --action "<action>" --detail "<de
Read more
@ogrodev
Ships withfsociety

Multi-plugin marketplace for Claude Code offensive security plugins

2225 skills7 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
22
Star history of ogrodev/fsociety on GitHub, a chart by star-history.com

Other skills on fsociety.

api-testing

api-testing

Activate this skill whenever the user mentions API endpoint, REST API, RESTful, GraphQL, GraphQL introspection, GraphQL mutation,…

@ogrodev@ogrodevInstall Skill
cloud-lateral

cloud-lateral

Activate this skill whenever the user mentions cloud lateral movement, cloud privilege escalation, cloud post-exploitation, cloud…

@ogrodev@ogrodevInstall Skill
network-recon

network-recon

Activate this skill whenever the user mentions port scan, port scanning, nmap, nmap scan, masscan, rustscan, service detection,…

@ogrodev@ogrodevInstall Skill
password-attacks

password-attacks

This skill should be used when the user mentions "brute force", "password cracking", "hydra", "hashcat", "john the ripper",…

@ogrodev@ogrodevInstall Skill
payment-security

payment-security

This skill should be used when the user mentions "payment", "payment gateway", "checkout", "IDOR payment", "payment bypass",…

@ogrodev@ogrodevInstall Skill
reporting

reporting

This skill should be used when the user mentions "generate report", "pentest report", "engagement report", "findings report",…

@ogrodev@ogrodevInstall Skill

More skills from other plugins.

api-security

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…

@zhaoxuya520@zhaoxuya520Install Skill
nemoclaw-user-guide

nemoclaw-user-guide

Find official NemoClaw documentation for installation, configuration, operation, or troubleshooting. Also handles requested docs…

@nvidia@nvidiaInstall Skill

Questions about system-hardening.

Which coding agents can use system-hardening?
system-hardening installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.