Tag Archive

#seccomp

이 태그가 포함된 글을 최신순으로 모아봤어요.

3
posts
BLOG2026-07-20
[🥈 Silver 2] 4개만 막고 나머진 다 열어뒀다 — DreamHack Bypass SECCOMP-1 풀이
blog

[🥈 Silver 2] 4개만 막고 나머진 다 열어뒀다 — DreamHack Bypass SECCOMP-1 풀이

임의 셸코드를 그대로 실행시켜주는 pwnable인데, execve로 셸을 따는 흔한 루트가 seccomp로 막혀 있다. 그런데 이 필터는 시스템콜 "번호" 네 개만 콕 집어 차단하는 화이트리스트가 아니라 블랙리스트였다. 목록에 없는 시스템콜은 전부 통과한다는 뜻이라, open 대신 openat으로 파일을 열고 write 대신 sendfile로 그 내용을 그대로 흘려보냈다.
#dreamhack#ctf#pwnable+3
 
BLOG2026-07-20
[🥈 Silver 3] BPF 필터가 조용히 실패하면 seccomp는 그냥 없는 셈이다 — DreamHack seccomp 풀이
blog

[🥈 Silver 3] BPF 필터가 조용히 실패하면 seccomp는 그냥 없는 셈이다 — DreamHack seccomp 풀이

scanf("%ld", addr)가 &value 대신 addr 자체를 받는 write-what-where로 전역 seccomp 모드를 STRICT에서 FILTER로 바꿔치기한다. 컴파일된 BPF 필터 배열은 마지막 명령이 BPF_RET이 아니라서 커널 검증에서 -EINVAL로 튕기는데, 그 실패를 코드가 확인하지 않아 seccomp가 통째로 무효화된다.
#dreamhack#ctf#pwnable+4
 
BLOG2026-06-23
[🥉 Bronze 4] execve 만 막힌 seccomp 안에서 ORW 셸코드로 flag 읽기 — DreamHack shell_basic 풀이
blog

[🥉 Bronze 4] execve 만 막힌 seccomp 안에서 ORW 셸코드로 flag 읽기 — DreamHack shell_basic 풀이

RWX 영역에 올린 셸코드를 그대로 실행해 주는데, seccomp 가 execve/execveat 만 KILL 한다. 셸은 못 따니 open-read-write 셸코드로 flag 파일을 직접 읽어 표준출력으로 흘려보낸다. 표준 경로 /home/shell_basic/flag 가 아니라 getdents64 로 디렉토리를 뒤져 진짜 이름을 찾아야 했다.
#dreamhack#ctf#pwnable+5