과학기술정보통싱부와 한국인터넷진흥원은 리눅스 계열 및 MAC OS X 운영체제에서 사용되는 GNU Bash Shell에서 취약점을 발견하고 ShellShock라고 이름을 명명했다. Shell Shock의 취약점은 악의적 명령실행, 관리자 권한 획득 등이다.
Shell Shock를 이용한 공격 기법은, 리눅스 환경변수에 빈 함수를 넣으면 그 뒤에 오는 코드는 무조건 실행되는 심각한 버그로 CGI 스크립트 등을 통해서 공격을 수행할 수 있다.
env x='() { :;};' bash -c "echo this is a Yeon Seung"
env는 리눅스에서 환경설정을 하는 명령어이다. ( 현재는 막혀있다. bash를 업데이트만 진행해도 고칠 수 있는 '버그' 였기 때문이다.)
<aside> 👉 env x='() { :;};' 이 문을 env x='() { :;}; echo 123' 이런 식으로 bash를 테스트 한 후 사용하는 기법
</aside>
웹 서버에 bash를 이용한 CGI(common gateway interface)실행 설정되어 있는 경우, 해당 CGI 페이지를 요청하면 웹서버에서 요청 결과를 bash로 전달하고 수행하기 때문에, 요청 패킷에 bash 취약점 코드를 삽입, 전송하면 해당 코드가 실행이 가능하다.
<aside> 💡 CGI란 공통 게이트웨이 인터페이스(common gateway interface)의 약어로, 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약들을 말한다. CGI란 사용자의 요청의 의한 서버의 응답이라고 할 수 있다.
</aside>