war game Write up/ FTZ
-
leve12war game Write up/ FTZ 2018. 11. 1. 00:26
와아아ㅏ아아아아ㅏ아아아 혼자 풀었다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!,,, 뭐 다른 문제도 웬만해선 다 혼자 풀었지만서도 이건 검색을 1도 안하고 풀었,, (물론 쉘코드 빼고!!!) 짱쉽다..ㅈㅅ 사실 11번 문제랑 다를게 없어서 그랬다는게 함정,,ㅇㅁㅇ 먼저 attackme의 소스코드가 힌트로 주어진다. 이전 문제와 다르게 인자값으로 받는게 아닌 입력값으로 받아들인다.gets 함수를 써서 입력을 받는데 gets함수의 경우 값의 길이 체크를 하지 않기 때문에 취약점이 발생한다. 따라서 fgets라는 함수를 사용한다고 한다. 먼저 str 이라는 string value에 256 byte를 할당시켜준다. 그리고 setreuid에서는 level13을 말하는 것 같다.입력..
-
level11war game Write up/ FTZ 2018. 10. 28. 00:57
음,, 이 문제는 FTZ를 하면서 버퍼오버플로우에 대한 기초를 알려주기 위한 문제라고 보고 풀었다. 먼저 ls를 한 후에 파일들을 살펴본다. attackme라는 프로그램이 존재하고, hint파일이 존재한다.위의 코드를 간단하게 분석해보면setuid가 걸려있고 str이라는 string 변수는 256byte를 가진다.argv[1]을 str에 카피하고 그것을 출력해준다. attackme를 실행할 때 인자값을 함께 넣어줬을 때 정상적으로 스택에 들어가는 것을 확인할 수 있다. 이 파일을 먼저 tmp/ 폴터에 카피한 후 gdb로 분석을 해보자.main+3까지는 str 이 스택에 들어가는 값이다. 0x100은 256이고 0x8은 8 따라서 더미값은 8byte이다.strcpy 함수 밑에 main+53을 브포로 잡고 ..
-
level10war game Write up/ FTZ 2018. 10. 9. 17:40
음,, 이 문제를 접하면서 공유 메모리라는 것을 공부하게 되었다. 공유 메모리 즉 shared memory 는 컴퓨터 환경에서 여러 프로그램이 동시에 접근할 수 있는 메모리과다한 복사를 피하거나 해당 프로그램 간 통신을 위해 고안됨환경에 따라 프로그램은 하나의 프로세서에서 여러 개의 프로세서에서 실행 가능함. 공유 메모리 즉 shared memory 는 여러 IPC 중에서 가장 빠른 수행 속도를 보여준다고 한다.IPC 란 Inter-Process Communication 의 약자로 프로세스 간 통신이라고 하며 프로세스들 사이에 서로 데이터를 주고 받는 행위 또는 그에 대한 방법이나 경로를 뜻한다. CPU1 CPU2 CPU3 I/O ↓ ↓ ↓ ↙ System Bus or crossbar switch ↓ ↓..
-
level8war game Write up/ FTZ 2018. 10. 7. 23:38
이 문제는 간단하게 find 명령어와 shadow의 크랙에 대한 생각만 하면 쉽게 풀리는 문제다. 문제의 hint를 보면 shadow file이 서버 어딘가에 있고(find 사용)그 파일의 용량이 2700이라고 한다,하지만 사이즈가 바이트인지 킬로바이트인지 메가바이트인지 알 수 없다. b – for 512-byte blocks (this is the default if no suffix is used)c – for bytesw – for two-byte wordsk – for Kilobytes (units of 1024 bytes)M – for Megabytes (units of 1048576 bytes)G – for Gigabytes (units of 1073741824 bytes)이럴 땐 노가다가 답..
-
-
level5war game Write up/ FTZ 2018. 9. 22. 03:20
level5 문제는 시스템 해킹 기법 중 레이스 컨디션이라는 기법을 이용하는 문제입니다. 레이스 컨디션 기법은 한정된 자원을 동시에 이용하려는 여러 프로세스가 자원의 이용을 위해 경쟁을 벌이는 현상이라고 보시면 되는데 - 레이스 컨디션 공격의 기본 개념1. 취약 프로그램이 생성하는 임시 파일의 이름을 파악2. 생성될 임시 파일과 같은 이름의 파일을 생성3. 이에 대한 symbolic link 를 생성4. 원본 파일을 지운 채 취약 프로그램이 symbolic link를 건 파일을 생성할 때를 기다림5. 파일이 생성되었을 때 symbolic link를 이용해 파일 내용을 변경6. 시스템은 변경된 파일을 자신이 생성한 임시 파일로 생각하고 프로세스를 진행 -> 공격자는 관리자 권한으로 실행되는 프로그램에 끼어..