CTF write up(48)
-
[CTF write up] codegate CTF 2023 general - Mediocrity : Race Condtion in VM
취약점은 매우 간단한다. Thread를 생성할때, mem을 포인터째로 복사해서 mem에서 Race condition이 발생한다. The vulnerability is very simple. When creating a thread, mem is copied as a pointer, so a race condition occurs in mem. opcode 중 mem을 참조하여 read / write 하는 부분이 있는데, 기본적으로는 boundary check가 잘 되어있지만, Race condition을 이용하면 Boundary check 이후 mem 값을 변경하여 OOB read / write를 할 수 있다. There is a part of the opcode that reads/writes by r..
2023.06.18 -
[CTF write up] CCE CTF 2023 - K-exploit : Baby kernel heap exploitation
rm -r ./rootfs mkdir rootfs cd rootfs; cpio -idv ../rootfs_updated.img.gz # rootfs 재압축 #head /proc/kallsyms #cat /proc/modules #./extract-vmlinux bzImage > ./vmlinux 다음은 커널 익스 할때 필요한 shell 명령어다. 해당 명령어를 통해 rootfs 파일 시스템을 까서 K-exploit.ko 모듈을 가져오고 분석을 하면된다. exploit 코드를 넣을때는 반드시 --static 옵션으로 정적 컴파일을 해서 옮겨줘야 한다. (문제에서 주어지는 리눅스에는 libc.so.6 같은 기본적인 라이브러리가 없음) 아무튼 대충 아래와 같은 단계로 커널 익스를 진행하면 된다. 1. qemu..
2023.06.15 -
[CTF write up] Just CTF 2023 - notabug2 : Exploitable Feature of sqlite3
굉장히 난이도 있고 Tricky한 문제였지만, 팀원들의 도움으로 풀 수 있었다. It was a very difficult and tricky challenge, but We were able to solve it with the help of my teammates. sqlite3 interactive 쉘을 열어주며, .system과 같은 dot 커맨드를 제한한다. Opens an sqlite3 interactive shell and restricts dot commands such as .system. select Load_extension('/lib/x86_64-linux-gnu/libc.so.6','puts'); sqlite3에는 위와 같이 Load_extension를 이용해서 외부 공유파일의 함..
2023.06.05 -
[CTF write up] WACon CTF 2022 qual - Yalkp : Kernel mmap handler exploitation
#include // 리눅스 디바이스 관련 헤더파일을 포함 #include // 파일 시스템 관련 헤더파일을 포함 #include // 커널 관련 헤더파일을 포함 #include // 연결 리스트 관련 헤더파일을 포함 #include // 모듈 관련 헤더파일을 포함 #include // 뮤텍스 관련 헤더파일을 포함 #include // 난수 관련 헤더파일을 포함 #include // 슬랩 할당자 관련 헤더파일을 포함 #include // 사용자 공간 접근 관련 헤더파일을 포함 #include // 메모리 관리 관련 헤더파일을 포함 #define DEVICE_NAME "chall" // 디바이스 이름을 "chall"로 설정 #define CLASS_NAME "chall" // 클래스 이름을 "chall"로..
2023.05.16 -
[CTF write up] m0lecon CTF 2023 - NoRegVM : FSB VM exploit
취약점은 여러가지인데 전부 이런저런 이유로 익스하기가 힘들다. fmt 문자열이 덮히는 걸 이용해서 FSB를 이용해 Exploit 하였다. There are many vulnerabilities, but all of them are difficult to exploit for one reason or another. Exploited using FSB by using that the fmt string can be overwritten. from pwn import * pay = p32(7) + p32(0) + p32((464+8)) #popin pay += p32(8) + p32(464) + p32(8) #popout pay += p32(0xa) + p32(1) #write pay += p32(5) + ..
2023.05.14 -
[CTF write up] Ricerca CTF 2023 - Challenges : I want to study crypto~
Pwnable 빼고 쉬운 문제 몇개를 풀어보았다. 처음으로 풀어보는 Crypto인 Rotated Secret analysis는 꽤 재밌었고, Web에서는 딱히 적당히 재밌는 문제가 없었다. 리버싱은 warm-up 문제를 빼고는 최소 7솔브부터 시작이라 딱히 건드릴 수 있는게 없었다. welcome RicSec{do_U_know_wh4t_Ricerca_means_btw?} crackme 그냥 디컴파일하면 나온다. RicSec{U_R_h1y0k0_cr4ck3r!} Reveolving Latters 반대로 하면 나온다. LOWER_ALPHABET = "abcdefghijklmnopqrstuvwxyz" def decrypt(secret, key): assert len(secret) > l*3) - ((n >> ..
2023.04.26