Computer Security

pwn.college : kernel 1.0-1.1 write up 본문

pwn.college : kernel

pwn.college : kernel 1.0-1.1 write up

쿠리 Kuri 2022. 12. 4. 18:30
반응형

1. vm start 로 vm 환경에서 구동해주자.

 

 

2. vm connect 를 통해 연결 해준다.

 

 

3.커널의 log 를 출력하는 dmesg 명령어를 사용하면 아래의 welcome to this kernel challenge가 뜬다.

demsg

 

아래의 내용을 살펴보면

이 챌린지는 기본 커널 악용에 대해 알려주는 방식으로 커널을 오용합니다.
[ 2.976147] 이 챌린지는 `/proc/pwncollege`를 통해 간단한 문자 장치 인터페이스를 노출합니다.
[ 2.979664] 다른 파일과 마찬가지로 이 장치를 열고 읽고 쓰고 닫을 수 있습니다.
[ 2.982263] 암호를 알 수 있으면 문자 장치를 통해 플래그를 읽을 수 있습니다.
[ 2.985419 ] 행운을 빕니다!

/proc/pwncollege를 통해 간단한 문자 장치 인터페이스를 노출한다고 한다.

또한 open,write,read,close가 가능하다는 것도 알 수 있다.

 

 

 

 

 

 

 


4. workspace에 있는 IDA를 이용해서 우리가 받은 challenge kernel 1.0을 열어주자.

IDA

 

 

 

 

 

 

 


5. IDA에서 F5를 누르면 어셈블리어를 C언어코드로 변환 해준다. 변환 한 뒤, device_write부분을 살펴보자.

device_write

strncmp함수가 문자열 비교 역할인데 패스워드랑 저 "jgjoxwhmqnoqlojl" 이놈을 비교 한다고 한다.

'

 

 

 

 

 

 

 


6. 아까 /proc/pwncollege를 통해 간단한 문자 장치 인터페이스를 노출한다고 했으니 cat으로 읽어보자.

cat /proc/pwncollege

무한반복으로 password 를 입력하라고 나온다.

 

 

 

 

 

 

 

 

 


7. 흠,,일단 내가 원하는건 flag 도출인데,, flag부분이 어디있는지 살펴보니 init_module부분에 나와있다.

init_module

여기서 flag를 누르고 x를 누르면 아래처럼 다음 코드가 어디있는지 나온다.

x

맨 아래 것을 누르고 들어가보니

v6가 flag로 선언 되어 있는걸 알 수 있다.

 

 

 

 

 

 

 

 

 


8. 결국 device_state부분이 key point라는 것을 알았고, "jgjoxwhmqnoqlojl" 이 놈을 /proc/pwncollege안에 넣어주고 다시 읽어보자.

 

 

 

 

 

 

 

 

 


9. 이건 write up을 보실 분들을 위해 스포방지 practice버전 이기때문에 practice가 뜨는 것이고, 직접 해보면 정상적으로 flag값이 출력된다!

flag

 

 

1.1또한 똑같은 방법으로 해주면 풀린다!

반응형

'pwn.college : kernel' 카테고리의 다른 글

pwn.college : kernel 5.0-5.1 write up  (0) 2022.12.16
pwn.college : kernel 4.0-4.1 write up  (0) 2022.12.13
pwn.college : kernel 3.0-3.1 write up  (2) 2022.12.10
pwn.college : kernel 2.0-2.1 write up  (2) 2022.12.07
pwn.college 시작  (0) 2022.12.04
Comments