문제 화면입니다. bash에 관한 문제일듯 싶습니다.
4개의 파일이 있습니다.
bash파일을 실행하면 sub bashshell이 실행됩니다.
shellshock.c의 소스코드입니다. 권한상승 설정 후 system명령으로 shock_me라는 문자를 echo합니다.
이 문제의 이름이 힌트이자 취약점의 이름입니다. 구글링을 해봅니다.
이 취약점은 CVE-2014-6271로 등재되었습니다.
잠깐 설명하자면 bash 환경변수를 통한 코드인젝션이 가능한 취약점입니다.
1. Bash의 환경 변수에 함수정의를 이용해서 원하는 코드를 추가 할 수 있고, 다음 Bash가 사용될 때 추가된 코드가 실행됩니다.
2. CGI의 경우, HTTP Request 헤더가 환경변수에 저장이 되는 특성을 이용하여 원격 코드 인젝션이 가능합니다.
취약한 bash는 환경변수 세팅 후 ; 뒤에 임의의 코드를 집어넣으면 실행됩니다.
ex) env x='() { :; }; echo hi' bash -c "echo zz"
취약한 bash는
hi
zz
로 출력 됩니다.
하지만 패치된 bash는 뒤의 zz만 실행됩니다.
문제 서버에는 패치가 되어서 zz만 나오지만 두번째 명령에 shellshock를 실행하도록 인자를 주면 둘 다 성공적으로 실행 됩니다.
따라서 exploit은 env x='() { :; }; /bin/cat flag' ./shellshock 입니다.
또한
$export x='() { :; }; /bin/cat flag'
$./shellshock
도 같은 방법입니다.
참고자료 :
http://operatingsystems.tistory.com/entry/Shellshock-CVE20146271
http://juwon1405.tistory.com/6
'Wargame > pwnable.kr' 카테고리의 다른 글
pwnable.kr input (0) | 2018.06.14 |
---|---|
pwnable.kr coin1 (0) | 2018.02.19 |
[pwnable.kr] mistake 1p (0) | 2016.08.19 |
[pwnable.kr] uaf 8p (0) | 2016.08.15 |
[pnwable.kr] random 1pt (0) | 2016.07.29 |