1 follower
Linux Kernel, Pwnable
Discord : mete0r_mo
앞서 생성한 것과 같이 bzImage는 kernel, rootfs.cpio는 기본적인 파일 시스템의 구조만 가지고 있으며, qemu로 실행 시 rootfs.cpio의 파일들만 나타날 것이다. 그러므로 익스코드 작성 후 해당 익스 바이너리를 rootfs.cpio 파일...
vmlinux 앞선 kernel image build 시에도 언급한 것과 같이 vmlinux는 커널 디버깅에 사용할 여러 주소들과 값들을 가지고 있으며, 보통 CTF에서는 제공되지 않는 경우가 많다. (용량이 커서?!) 그러므로 아래와 같이 추출...
qemu란? vmware와 같은 가상 머신 에뮬레이터이다. 보통 ctf에서는 앞서 만든 bzImage와 rootfs.cpio (+vmlinux는 주어지기도하고 아닐수도 있음) 파일로 qemu를 통해 가상 머신을 실행할 수 있다. apt install...
서론 CTF에서 kernel 관련 문제의 경우 기본적으로 관련 시스템 환경이 구성된 상태로 파일로 제공된다. 물론 해당 파일만으로 어떻게 분석하는지, 어떻게 사용하는지만 알면 "문제를 푸는 것"은 충분히 가능하다고 본다. 하지만, 살짝만 더 들어가서...
모듈이란? 모듈은 동적으로 커널에 등록하거나 제거할 수 있는 프로그램을 말한다. 이를 통해 커널을 재 컴파일 하지 않고 기능을 추가하거나 제거할 수 있다. 모듈 프로그래밍 및 컴파일 모듈 코드는 보통 위쪽에 작동할 코드가 작성되고, 가장 아래에 모듈을 실행하는 함수인...
디바이스 드라이버란? 컴퓨터 연결된 장치들과 상호작용을 하기 위해 해당 장치로 접근할 수 있게 해주는 소프트웨어를 이야기한다. 커널이 컴파일 될 때부터 포함된 디바이스 드라이버도 있지만, 나중에 커널 부팅 또는 부팅 후 로드되는 드라이버도 있다. 이는 모듈의 일종이기에...