더북(TheBook)

3.5.1 셸 쇼크 실습

설명이 좀 복잡했는데, 실습해 보면 어떤 식으로 동작하는지 곧바로 파악할 수 있을 것이다. bash 공격에 취약한 OWASPBWA 취약점 웹 애플리케이션 VM을 실행하자. 이 VM에 로그인하고 다음과 같이 취약점이 있는 cgi 파일을 복사한다.

 

OWASPBWA VM의 터미널에서 수행할 작업

wget --no-check-certificate https://raw.githubusercontent.com/cheetz/icmpshock/master/test.cgi -O /usr/lib/cgi-bin/test.cgi

chmod +x /usr/lib/cgi-bin/test.cgi

ifconfig (취약한 호스트의 IP를 찾는다.)

 

이렇게 하면 이 취약점을 실행하는 데 사용할 셸 스크립트를 cgi-bin 폴더에 만들 것이다. 셸 쇼크를 작동하려면 cgi-bin 폴더에 bash 파일이 있어야 한다. 웹 브라우저를 열고 http://[취약한 호스트의 IP]/cgi-bin/test.cgi를 입력하면 이 폴더에 접근할 수 있다. 모든 것이 제대로 작동하면 ‘hi’가 표시된 웹 페이지가 열릴 것이다.

다시 칼리 호스트로 돌아와 필자가 만든 icmshock.py(여기에는 메타스플로이트 모듈이 있으므로 이것도 모두 사용하자) 도구를 사용한다. 이 스크립트를 만든 이유는 셸 쇼크로 모든 공통 HTTP 헤더 정보(사용자 에이전트, 쿠키, 호스트 등)를 테스트하고, 놀라운 속도로 모든 공통 cgi 타입의 파일에 브루트 포싱 공격을 하는 도구가 필요했기 때문이다. 꽤 큰 파이프pipe가 있다면, 파이썬의 스레딩을 이용해서 단 몇 초 만에 모든 cgi 파일과 디렉터리에 브루트 포싱 공격을 할 수 있다. 책에서는 가능하면 많은 시스템을 빠르고 효과적으로 침투하는 방법을 다루려고 한다는 것을 잊지 말자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.