Mommy, there was a shocking news about bash.

I bet you already know, but lets just make it sure :)



ssh shellshock@pwnable.kr -p2222 (pw:guest)




#include <stdio.h>

int main(){

setresuid(getegid(), getegid(), getegid());    //ruid(실재 사용자realuser), euid(유효사용자effectiveuser), suid(파일 소유자setuser)를 getegid()(egid)로                                                                     세팅

setresgid(getegid(), getegid(), getegid());    

system("/home/shellshock/bash -c 'echo shock_me'");

return 0;

}


일단 코드는 되게 짧네요

이걸 이용해서 flag를 따야하는데.. getegid()가 많이 나오므로 plt를 조작하는 건가 생각하면서 삽질좀 하다가 

'

shellshock가 단순히 문제 이름이 아니라 bash의 취약점이라는 사실을 알게되었다.

CVE-2014-6271이라 불린다고 한다.

자세한 설명은 http://blog.naver.com/PostView.nhn?blogId=renucs&logNo=220144713558




shellshock 취약점 진단을 해보니 취약하다는 결과가 나왔다.

이는 bash에서 함수의 정의를 환경변수로 저장하기 때문에 나오는 취약점인데, 함수의 정의 (){return;}후에 원하는 명령어를 넣어주면 bash가 이 함수 정의를 import할때 뒤의 명령어도 함께 실행시켜준다.

예전에 이 취약점으로 떠들석 햇다고 한다. 지금은 리눅스 버전을 update만 하면 공격이 통하지 않는다.




'war game > pwnable.kr' 카테고리의 다른 글

pwnable.kr cmd1 1pt  (0) 2016.10.11
pwnable.kr lotto 2pt  (0) 2016.10.11
pwnable.kr blackjack 1pt  (0) 2016.10.11
pwnable.kr coin1 6pt  (0) 2016.10.11
pwnable 1pt mistake  (0) 2016.10.10

+ Recent posts