문제연습/Hitcon training(7)
-
Lab8. Format String Bug
본 티스토리 블로그는 PC에 최적화되어 있습니다. 모바일 유저분들은 아래 네이버 블로그를 이용해 주세요. Lab8. Format String Bug 본 네이버 블로그는 모바일에 최적화되어 있습니다.PC 유저분들은 아래 티스토리 블로그를 이용해 주세요... blog.naver.com 이번 문제도 이전 내용과 같이 FSB를 이용하는 방식입니다. lab8을 통해 fsb 취약점을 이용해 임의의 값을 수정하는 테크닉을 익혀보도록 하겠습니다. 1. 문제 파일 바이너리 분석) 보호 기법으로 카나리아, nx, partial RELRO이 걸려 있습니다. 다음으로 소스코드를 확인하도록 하겠습니다. 소스코드 분석) #include int magic = 0 ; int main(){ char buf[0x100]; setvbuf..
2020.12.19 -
Lab7. Format String Bug (진행 중)
본 티스토리 블로그는 PC에 최적화되어 있습니다. 모바일 유저분들은 아래 네이버 블로그를 이용해 주세요. Lab6. Format String Bug (진행 중) 본 네이버 블로그는 모바일에 최적화되어 있습니다.PC 유저분들은 아래 티스토리 블로그를 이용해 주세요... blog.naver.com 이번 문제는 공격 코드 구현은 어렵지 않으나 시용되는 취약점 FSB에대해 정확히 숙지하고 있어야 합니다. 1. 문제 파일 바이너리 분석) 보호 기법으로 카나리아, nx, partial RELRO, aslr이 걸려 있습니다. 일단은 바이너리를 보기 전에 소스 코드를 확인해 보도록 하겠습니다. 소스코드 분석) #include #include #include #include unsigned int password ; i..
2020.12.15 -
Lab6. Fake ebp, stack pivot (진행 중)
본 티스토리 블로그는 PC에 최적화되어 있습니다. 모바일 유저분들은 아래 네이버 블로그를 이용해 주세요. Lab6. Fake ebp, stack pivot (진행 중) 본 네이버 블로그는 모바일에 최적화되어 있습니다.PC 유저분들은 아래 티스토리 블로그를 이용해 주세요... blog.naver.com 이번 문제는 해결 원리는 간단하나 필자의 미숙한 writeup 때문에 조금 난잡할 수 있으며 아직 풀이 진행 중임을 알립니다. -2020.12.13- 1. 문제 파일 바이너리 분석) 이번 실행파일은 보호 기법이나 링크 방식이 저번 문제와 비슷합니다. 딱히 또 눈에 띄는 정보가 또 존재하지 않으므로 바로 소스코드를 보도록 하겠습니다. 소스코드 분석) #include int count = 1337 ; int m..
2020.12.13 -
Lab5. Return Oriented Programming
본 티스토리 블로그는 PC에 최적화되어 있습니다. 모바일 유저분들은 아래 네이버 블로그를 이용해 주세요. Lab5. Return Oriented Programming 본 네이버 블로그는 모바일에 최적화되어 있습니다.PC 유저분들은 아래 티스토리 블로그를 이용해 주세요... blog.naver.com 이번 문제에서 요구하는 로직은 이전 문제와 거의 동일하나, chaining 기술을 요구하며 조금의 사전조사가 필요하니 풀이에 참고하시길 바랍니다. 1. 문제 파일 바이너리 분석) 이번 실행파일은 저번 문제와 다르게 정적 링크 라이브러리 방식입니다. (= 다시 말해 바이너리 안에 함수들의 원형과 정의가 모두 포함되어 있어서 주소 랜덤화 기법인 aslr이 없다는 뜻입니다.) Partial RELRO, NX가 걸려..
2020.12.09 -
Lab4. Return To Libc
본 티스토리 블로그는 PC에 최적화되어 있습니다. 모바일 유저분들은 아래 네이버 블로그를 이용해 주세요. Lab4. Return To Libc 본 네이버 블로그는 모바일에 최적화되어 있습니다.PC 유저분들은 아래 티스토리 블로그를 이용해 주세요... blog.naver.com 이번 문제는 단순한 오버플로에서 몇 가지 보호 기법으로 인해 제약이 걸렸습니다. 어떻게 우회해서 쉘을 따는지 한번 실체를 보도록 하겠습니다. 1. 문제 파일 바이너리 분석) 일단 파일을 확인해 보니 NX bit, partial RELRO, ASLR이 걸려 있는 듯합니다. 앞의 nx bit 때문에 스택 상의 실행 권한이 없으며 aslr 때문에 주소가 계속해서 바뀝니다. 즉, 고정 주소가 아니며 실행될 때마다 함수들의 호출 주소가 달라..
2020.12.09 -
Lab3. 오버플로 공격 기초
본 티스토리 블로그는 PC에 최적화되어 있습니다. 모바일 유저분들은 아래 네이버 블로그를 이용해 주세요. Lab3. 오버플로 공격 기초 본 네이버 블로그는 모바일에 최적화되어 있습니다.PC 유저분들은 아래 티스토리 블로그를 이용해 주세요... blog.naver.com 이번 문제는 오버플로를 이용한 쉘코드 공격입니다. 다른 문제보다는 비교적 개념이 간단하기에 조금 더 자세히 문제를 해설하도록 하겠습니다. 사전 개념 : return to shellcode 오버플로와 같은 취약점을 이용하여 함수의 return 주소를 shellcode가 있는 주소로 변조하여 해당 공격 코드를 실행하는 공격 기법 파일 분석 //ret2sc.c 소스코드 내용 #include char name[50]; int main(){ set..
2020.12.05