0x.CTF
-
0x06.CODEGATE 2017 - AngryBird0x.CTF 2018. 2. 13. 15:25
0x06.CODEGATE 2017 - AngryBird 파일 & 소스 : https://github.com/pwnwiz/CTF/tree/master/angrybird 정말 오랜만에 올리는 라이트업인것 같다. 최근에 코게CTF가 열렸는데 거기에 대한 라업도 아직 작성하지 못하고 있으니 말이다 ㅠㅠ. 이 문제를 풀어보면 IDA에서의 바이너리 패치와 Angr라는 갓 모듈을 사용하는 방법을 익힐 수 있다. 보통 앵거를 사용하는 문제는 딱 보면 아! 앵거를 사용하는구나 라고 알 수 있는데, 이는 대부분 비슷한 형태를 띄고 있기 때문이다. 앵거를 사용하여 찾아가야 하는 주소값을 정해주어 여러가지 함수를 우회하여 원하는 목적지에 도달하도록 하는 네비게이션을 익스로 짠다고 이해하면 쉬울 것이다. 바이너리를 실행시켜보니..
-
0x05.CODEGATE 2017 - Building Owner0x.CTF 2018. 1. 11. 14:49
0x05.CODEGATE 2017 - Building Owner 파일 & 소스 : https://github.com/pwnwiz/CTF/tree/master/building_owner 상당히 어려운 문제이다.. 조금씩 풀면서 포스팅을 하는 방향으로 진행하고 있다. 이 포스팅이 공개글이 되는 순간이 아마 문제를 푼 날이 될 것이다. ㅋㅋ 일단 이 문제는 힙 문제인것은 확실하고,, C++로 되어있다. 아직 C++ 공부를 제대로 해본 적이 없어서 아이다로 분석하기가 너무너무 어렵기 때문에 노가다를 하는 방향으로 결정하였다. 아이다를 통해서 알아낸 것은 Apartment (0x50==80) (0~2) Name : a1 Floor : a1+32 House : a1+72 Describe : a1+40 Company..
-
0x04.Plaid 2013 - Ropasaurusrex0x.CTF 2018. 1. 8. 17:28
0x04.Plaid 2013 - Ropasaurusrex 파일 & 소스 : https://github.com/pwnwiz/CTF/tree/master/ropasaurusrex 매일 쓴다 쓴다하면서도 안썼던 ROP CTF 문제에 대한 라이트업을 쓰게 되었다. 이 문제를 스택 오버플로우 공부할 때 보면 좋은 것이, 정말 간단하게 ROP기법으로만 풀 수 있다. 카나리라던가 다른 보호기법들이 하나도 걸려있지 않다. 이 문제를 풀면서 ROP, GOT Overwrite, Libc Leak에 대한 개념 공부가 가능하다. checksec으로 까보니까 너무나도 마음에 든다. NX 기법만 우회하면 된다. 이 문제가 참 좋았던 것이 remote를 안해도 열린다! 실행시켜보니, 그냥 WIN이라는 문장만 뜬 뒤 끝나버린다. I..
-
0x03.WITHCON 2016 - Normal Malloc0x.CTF 2018. 1. 5. 15:11
0x03.WITHCON 2016 - Normal Malloc 파일 & 소스 : https://github.com/pwnwiz/CTF/tree/master/normal_malloc 최근에 포스팅한 Malloc에 대한 기본 정보를 알고 있다는 가정하에 이 문제의 라이트업을 작성하겠다.Malloc : http://pwnwiz.tistory.com/164 Malloc 문제와의 차이점은 스택의 주소와 /bin/cat과 같은 함수에 대한 정보를 얻을 수 없기 때문에 leak이라는 절차를 진행해야 한다는 것에 있다. 이 문제에서 leak이라는게 가능한 곳이 어디에 있을까를 고민해보았는데, list란 놈을 통해 볼 수 있을 것 같았다. 분명 5개 까지만 malloc이 가능한데도 불구하고 6, 7, 9 등의 숫자를 넣으..
-
0x02.WITHCON 2016- Malloc0x.CTF 2017. 12. 28. 01:37
0x02.WITHCON 2016 - Malloc 파일 & 소스 : https://github.com/pwnwiz/CTF/tree/master/malloc 이번에 올리는 라이트업은 무려 힙 오버플로우이다. 새벽 4시부터 시작해서 밤 11시까지 매달려서 풀었다.이번에는 gdb peda가 아닌 pwndbg를 사용하였다. 처음에는 사용법을 잘 몰라서 헤매었는데 동아리 회장님의 도움을 받아 금방 터득할 수 있었다. 문제를 접하기 2주 정도 전에 동기에게서 간단한 힙 오버플로우에 대한 설명을 들었던 기억이 있다. fastbin이라는 놈인데 아주 작은 크기의 힙들은 대부분 이놈과 관련된 문제라고 얼핏 들었었다. 그래서 ida로 가장 먼저 확인한 것이 malloc의 크기를 얼마까지 할당할 수 있는지였다. 문제는 아웃라..
-
0x01.SSG_CTF - Simple BOF0x.CTF 2017. 11. 28. 10:59
0x01.SSG_CTF - Simple BOF 파일 & 소스 : https://github.com/pwnwiz/CTF/tree/master/Simple%20BOF 오랜만에 올리는 라이트업이다. 물론 ropasaurusrex를 그동안 풀었지만, 라업 작성하기엔 필력이 딸려서 보류중이다. 워낙 쉬운 문제라 딱히 라이트업 적을게 없긴한데 그래도 적어보도록 한다. elf파일이라 아이다로 뜯어봤는데, 위와 같이 조건만 다 만족시킨다면 get_flag()를 호출하게되어 system('/bin/sh')를 실행시키는 함수를 호출할 수 있다. NX만 활성화되어있고 나머지는 비활성화 되있어서 쉽게 풀 수 있다. 아이다에서 주소값도 그대로 가져올 수 있다. 카나리의 조건을 하나둘씩 맞춰서 페이로드를 작성하였다. 1 2 3 ..
-
0x00.CODEGATE 2017 - BabyPwn0x.CTF 2017. 11. 8. 11:58
0x00.CODEGATE 2017 - BabyPwn 파일 & 소스 : https://github.com/pwnwiz/CTF/tree/master/BABYPWN 처음으로 푼 CTF 포너블 문제이다. 상당히 오랜 시간이 걸린만큼 이번 포스팅도 오래 걸릴 것으로 예상해본다. 으음? 보호기법 종류 설명 : https://bpsecblog.wordpress.com/2016/06/28/memory_protect_linux_5/ 파일의 보호기법을 확인해보았더니 CANARY와 NX가 걸려있다.CANARY가 있다는 것은 카나리를 릭을 해야 문제를 풀 수 있다는 것이고, NX가 설정되어 있다는 것은 쉘 코드를 인젝트하는 방식으로는 문제를 풀 수 없다는 것이다. gdb로 메인을 따 보려했지만 생각처럼 잘 되지 않았다. 그래..