분류 전체보기 309

힙풍수 (Heap Feng Shui)

힙풍수가 뭔지 몰라서 정말 간단하게 정리해보았다. 힙풍수란 단어를 처음으로 마주한 곳... 만약 커널 힙과 관련된 취약점을 테스트 하는 경우, user 권한일 때와 root권한일 때의 힙 풍수가 달라지기 때문에 테스트 중에는 user 권한으로 디버깅해야 한다. in [linux kernel] (12) - KADR 우회 What is 힙풍수 ...? 힙풍수란 뭘까? 이름이 뭔가 모르게 구수해보이지만 영어다. (힙 그루밍 이라고도 한다.) 노랑은 해제된 청크, 빨강은 오버플로우 시킬 청크이다. 이때, 빨강을 오버플로우 시키기 위해서 (위에서부터 할당된다고 가정했을 때) 힙을 3개 할당해서 힙풍수(아다리)를 맞춰야 한다. 이 힙은 계속 바뀌기 때문에 힙풍수를 맞춰줘야 한다. 특히 유저 권한일 때랑 루트 권한일..

System Hacking 2021.03.02

[HackingCamp CTF 2021 : pwn] vuln 풀이 (출제자 풀이)

문제 풀이 환경 : ubuntu 16.04 내가 낸 문제이다. 감사하게도 많은 분들이 풀어주셨다. (풀어주신 분들 감사합니다.) 주어진 파일은 문제 바이너리 파일 하나 뿐이다. libc를 일부러 주지 않았다. 예전에 문제를 풀다가 libc파일이 있어야 하는데 없어서 엄청 당황했던 적이 있었다. libc가 없어도 libc database나 우분투 버전이 주어지면 libc파일이 없어도 풀 수 있다는 것을 알려주고 싶었다. (도커 파일이 주어져도 됨) Analysis size를 입력받는다. vuln 함수는 누가봐도 취약점이 터지게 생겼다. 사실 이 문제는 integer overflow가 터지는 문제를 풀고 감명받아서 만들었다. (무슨 문제인지는 비밀이다.) 그 감명받았던 문제도 똑같이 인자 타입이 int로 넘..

CTF/Write UPs 2021.02.25

[HackingCamp CTF 2021 : pwn] Secure Test 풀이 (언인텐)

문제 풀이 환경 : ubuntu 20.04 이번 해캠CTF 때 나왔던 문제이다. 우리 팀장님이 내신 문제인데, 내가 힙을 잘 몰라서 인텐으로 못풀고 언인텐으로 풀었다. ... 크로스체킹 때 언인텐 발견 못해서 죄송할 따름이다. (사실 익스보고도 이해를 못해서 체킹도 못했었다) 이 문제를 풀면서 내가 가진 구버전 IDA로는 디컴이 잘 안되가지고 IDA를 7.5로 업그레이드 시켰다.ㅎㅎ 주어진 파일은 libc 파일, 문제 바이너리 파일, c코드 파일인데 깜빡하고(?) c코드 파일은 보지 않고 풀었다. Analysis 일단 바이너리를 실행시켜보면 이런 느낌이다. 각 메뉴를 실행하면 아래와 같은 함수가 실행된다. vuln() safe() clean() vuln()부터 살펴보자. 16번째 줄에서 read 함수로 ..

CTF/Write UPs 2021.02.24