-
해커스쿨 LOB level1System/HackerSchool LOB 2019. 7. 12. 02:17
사실 level1이 아니라 gremlin이긴 한데 일관성있게 다 레벨로 할 생각입니다ㅏ
일단 LOB 서버 구축하고 접속하는 데 하루, 스터디 과제 보고서 쓰기랑 심시티하느라 LOB 글을 못 올렸는데
와중에 또 초반 bash2 설정을 안해서 한시간동안 삽질하다가 이제 풀려서 글올립니다 와 ^0^
일단 ftz level과 동일한 hint 파일과 attackme 파일은 없구요, gremlin 파일과 그 C파일이 있을 뿐입니다
고로 일단 C파일을 살펴보면.. SetUID만 걸리지 않았지, 레벨과 비슷한 수준의 BOF 문제라는 걸 알 수 있습니다.
gdb 켜서 리버싱해보면 <main+3>을 보든 <main+62>를 보든 256의 바이트를 기본적으로 덮어씌워야 합니다.
거기에 SFP 4바이트랑 RET 4바이트인데 RET는 덮어씌워야 하므로 260바이트만 NOP로 커버하면 되겠네요!
그러면 환경변수로 쉘코드를 설정해주고
tmp 디렉토리로 이동, addr.c 파일에 환경변수 shell(쉘코드)의 주소를 찾는 코드를 작성합니다.
컴파일/실행한 뒤 주소가 0xbffffecc인 것을 알 수 있습니다.
그러면 cd로 홈 디렉토리로 돌아온 뒤 ./gremlin `python (~~~~)`로 BOF + 쉘코드 실행을 시켜주면 간단하게 쉘을 딸 수 있습니다.
자 교훈은 앞으로 LOB 풀 때는 bash2부터 입력해놓자~ 이 말이야
2019.7.12
생일 다음날-
'System > HackerSchool LOB' 카테고리의 다른 글
해커스쿨 LOB level6 (0) 2019.07.14 해커스쿨 LOB level5 (0) 2019.07.14 해커스쿨 LOB level4 (0) 2019.07.14 해커스쿨 LOB level3 (0) 2019.07.14 해커스쿨 LOB level2 (0) 2019.07.12