Skip to content
Skillpedia
Misc35k · #6025

performing-authenticated-vulnerability-scan

Lets your agent plan and run authenticated vulnerability scans to find hidden flaws.

What it does

This tool helps check computers and devices for security weaknesses. It connects to systems using credentials (like a username and password) to see what's installed and how it's configured, finding more issues than a scan without credentials.

When to use it

  • ✓When you need a more thorough security check.
  • ✓When following procedures after a security incident.
  • ✓For regular security testing or audits.

Example of what to ask your AI

“Scan my Windows and Linux servers for vulnerabilities using the admin credentials I provide.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-authenticated-vulnerability-scan/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-authenticated-vulnerability-scan/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool uses a scanning program (like Nessus or Qualys) and connects to your computers with a username and password. This allows it to look inside at installed software and settings to find problems that wouldn't be visible from the outside.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-authenticated-vulnerability-scan

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-authenticated-vulnerability-scan/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Performing Authenticated Vulnerability Scan

Overview

Authenticated (credentialed) vulnerability scanning uses valid system credentials to log into target hosts and perform deep inspection of installed software, patches, configurations, and security settings. Compared to unauthenticated scanning, credentialed scans detect 45-60% more vulnerabilities with significantly fewer false positives because they can directly query installed packages, registry keys, and file system contents.

When to Use

  • When conducting security assessments that involve performing authenticated vulnerability scan
  • When following incident response procedures for related security events
  • When performing scheduled security testing or auditing activities
  • When validating security controls through hands-on testing

Prerequisites

  • Vulnerability scanner (Nessus, Qualys, OpenVAS, Rapid7 InsightVM)
  • Service accounts with appropriate privileges on target systems
  • Secure credential storage (vault integration preferred)
  • Network access from scanner to target management ports
  • Written authorization from system owners

Core Concepts

Why Authenticated Scanning

Unauthenticated scanning can only assess externally visible services and banners, often leading to:

  • Missed vulnerabilities in locally installed software
  • Inaccurate version detection from banner changes
  • Inability to check patch levels, configurations, or local policies
  • Higher false positive rates due to inference-based detection

Authenticated scanning resolves these by directly querying the target OS.

Credential Types by Platform

Linux/Unix Systems

  • SSH Key Authentication: RSA/Ed25519 key pairs (recommended)
  • SSH Username/Password: Fallback for systems without key-based auth
  • Sudo/Su Elevation: Non-root user with sudo privileges
  • Certificate-based SSH: X.509 certificates for enterprise environments

Windows Systems

  • SMB (Windows): Domain or local admin credentials
  • WMI: Windows Management Instrumentation queries
  • WinRM: Windows Remote Management (HTTPS preferred)
  • Kerberos: Domain authentication with service tickets

Network Devices

  • SNMP v3: USM with authentication and privacy (AES-256)
  • SSH: For Cisco IOS, Juniper JunOS, Palo Alto PAN-OS
  • API Tokens: REST API for modern network platforms

Databases

  • Oracle: SYS/SYSDBA credentials or TNS connection
  • Microsoft SQL Server: Windows auth or SQL auth
  • PostgreSQL: Role-based authentication
  • MySQL: User/password with SELECT privileges

Workflow

Step 1: Create Dedicated Service Accounts

# Linux: Create scan service account
sudo useradd -m -s /bin/bash -c "Vulnerability Scanner Service Account" nessus_svc
sudo usermod -aG sudo nessus_svc

# Configure sudo for passwordless specific commands
echo 'nessus_svc ALL=(ALL) NOPASSWD: /usr/bin/dpkg -l, /usr/bin/rpm -qa, \
/bin/cat /etc/shadow, /usr/sbin/dmidecode, /usr/bin/find' | sudo tee /etc/sudoers.d/nessus_svc

# Generate SSH key pair
sudo -u nessus_svc ssh-keygen -t ed25519 -f /home/nessus_svc/.ssh/id_ed25519 -N ""

# Distribute public key to targets
for host in $(cat target_hosts.txt); do
    ssh-copy-id -i /home/nessus_svc/.ssh/id_ed25519.pub nessus_svc@$host
done
# Windows: Create scan service account via PowerShell
New-ADUser -Name "SVC_VulnScan" `
    -SamAccountName "SVC_VulnScan" `
    -UserPrincipalName "SVC_VulnScan@domain.local" `
    -Description "Vulnerability Scanner Service Account" `
    -PasswordNeverExpires $true `
    -CannotChangePassword $true `
    -Enabled $true `
    -AccountPassword (Read-Host -AsSecureString "Enter Password")

# Add to local Administrators group on targets via GPO or:
Add-ADGroupMember -Identity "Domain Admins" -Members "SVC_VulnScan"
# For least privilege, use a dedicated GPO for local admin rights instead

# Enable WinRM on targets
Enable-PSRemoting -Force
Set-Item WSMan:\localhost\Service\AllowRemote -Value $true
winrm set winrm/config/service '@{AllowUnencrypted="false"}'

Step 2: Configure Scanner Credentials

Nessus Configuration

{
  "credentials": {
    "add": {
      "Host": {
        "SSH": [{
          "auth_method": "public key",
          "username": "nessus_svc",
          "private_key": "/path/to/id_ed25519",
          "elevate_privileges_with": "sudo",
          "escalation_account": "root"
        }],
        "Windows": [{
          "auth_method": "Password",

…
FAQ

Why is using credentials better?

Credentialed scans can see inside systems, finding flaws in installed software and configurations that external scans miss. This leads to fewer errors and more discoveries.

What types of credentials are used?

It depends on the system. For Linux, SSH (with keys or passwords) is used. For Windows, SMB or WinRM are used. For network devices, SNMPv3 or SSH are used.

Do I need special permissions?

Yes, you'll need service accounts with appropriate privileges on the systems being scanned, along with network access and authorization from system owners.

Details

Original description by the author

Plan and run authenticated (credentialed) vulnerability scans with scanners such as Nessus, Qualys, OpenVAS, or Rapid7 InsightVM, using SSH, SMB, WinRM, or SNMPv3 credentials to inspect installed software, patches, and configurations on Linux, Windows, and network devices. Use when a scan must catch vulnerabilities unauthenticated scanning misses, or when choosing and managing credential types for

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#6025
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills