반응형
SMALL

이번엔 쉘 쇼크 취약점에 대해 이야기 해보려고 한다. 쉘 쇼크 취약점은 2014년에 보안업계를 긴장속으로 몰고 간 bash취약점이다. bash쉘 취약점은 의외로 좀 간단했다.



1. bash 쉘 취약점?



보통 리눅스를 실행할 때는 사진과 같이 echo 1234'까지만 실행이 되야하는게 정상인데 뒤에 bash함수가 삽입되어 같이 실행된다는게 큰 문제다. 2014년에 이러한 취약점 때문에 많이 시끄러웠었다. 맥os, 리눅스 os 등 이러한 취약점이 발견되어 많은 문제를 야기했었다. 




<사진출저: 보안프로젝트>



보통 환경변수와 함께 선언되게 되는데 환경변수+함수로 구성되어 있지만 뒤에 bash와 관련된 명령어가 삽입이 가능해지면서 문제가 야기되는 것이다. 원래는 뒤에 삽입된 명령어가 에러가 나와야 정상이다.





* 쉘 쇼크 취약점 실습



보통 환경변수를 지정해줄때는 env명령어를 쓴다. 이런식으로 env var=1을 넣어주면 아래와 같이 많은 정보들이 리눅스에 나온다.



이번에는 bash 취약점을 이용해서 실행시켜 보는 실습을 했다. 사진에서와 보는거와 같이 bash 뒤에 test라는 명령어를 넣어주었다. 하지만 칼리리눅스에서는 그러한 취약점이 없는거 같아서 비박스 리눅스에서 실행시켜 보았다.



비박스에서 해당명령어를 실행시켜 본 결과이다. bash함수로 실행시킨 test가 저런식으로 실행됐음을 알 수 있었다. 원래는 실행이 안되어야 정상인데 bash함수의 취약점이 드러났다. 현재 KISA에서 제시했던 해결방법이 있는데 bash함수를 한번만 출력되게 해서 그 다음에는 실행시키지 못하게끔 보안조치를 해놨다고 하지만 여전히 bash함수의 취약점을 이용해 공격하는 해커들이 많다. 





이번엔 쉘쇼크를 이용한 CGI를 선택한다.



그리고 프록시를 잡은후 http history로 와서 cgi-bin.shellshock.sh와 관련된 URL을 찾아주고 Repeater시켜준다.



그리고 nc -lvp 8888명령어를 이용해서 포트를 실행시켜준다. 리눅스 bash함수 취약점을 활용해 다른 리눅스 커널로 접속할 수 있는 것을 보여주려고 하는 것이다.



그리고 사진과 같이 Referer쪽에 명령어들을 입력해준다. 위 사진에서 이야기 한 거와 같이 bash함수의 취약점을 이용해 리버스 커넥션을 하려는 것이다. 다 입력하고 GO버튼을 눌러주면 커넥션이 되었음을 확인할 수 있을 것이다.



커넥션이 되면 이런식으로 명령어를 입력해주면 자유자재로 조종이 가능하다. 사실 이렇게 ip주소만 알아내면 조종이 가능한 것이 굉장히 취약하고 나중에 어떤위험이 도래될 지는 아무도 모르는 일이다. 현재로써 가장 좋은 보안방법은 bash패치를 자주해 주는 방법이다.  지금 한 실습 말고도 여러가지 위험한 취약점들이 있는데 그건 확실히 더 실습해보고 알게되면 포스팅 할 생각이다.

반응형
LIST

'웹해킹 > Bee-box' 카테고리의 다른 글

하트블리드 공격  (1) 2020.03.15
스택오버플로우 공격  (0) 2018.01.03
디바이스 접근 제한/서버 측 요청 변조  (0) 2018.01.02
디렉터리 리스팅  (0) 2018.01.01
ARP 스푸핑 공격  (0) 2017.12.31
블로그 이미지

만년필석사

,