본문 바로가기

Pwnable.kr

Pwnable.kr [shellshock]

#include <stdio.h>
int main(){
	setresuid(getegid(), getegid(), getegid());
	setresgid(getegid(), getegid(), getegid());
	system("/home/shellshock/bash -c 'echo shock_me'");
	return 0;
}

쉘쇼크라고 검색하면 자료가 많이 나온다.

 

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

나무위키에 나오는 취약성 확인 코드인데, vulnerable이 출력되면 안 된다.

 

환경변수로 함수를 선언하고, 이후에 bash까지 실행돼버리는 취약점이란다.

 

추가로 더 확인해보면, 환경변수로 함수 선언시 이후에 코드에 대해서 버려야 되는데,

확인하는 부분이 없고, 상당히 오랜 기간 존재했던 취약점이고 이슈가 된건 14년이라고...

 

엄청 이해가 잘 되진 않는다... 

최근에는 보안패치가 이루어졌다니, 오래 전 시스템을 접하게 될 기회가 있다면

확인해볼만한 취약점인 것 같다.

 

상당히 강력해서 루트권한도 바로 탈취된다고 하고, 이미 한 번 취약했던 OS는

백도어가 있을 수 있으므로 그냥 포맷을 권장한단다. 

'Pwnable.kr' 카테고리의 다른 글

Pwnable.kr [blackjack]  (0) 2019.05.01
Pwnable.kr [coin1]  (0) 2019.05.01
Pwnable.kr [mistake]  (0) 2019.05.01
Pwnable.kr [leg]  (0) 2019.05.01
Pwnable.kr [input]  (0) 2019.04.30