일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 알고리즘
- 드론
- 시스템
- kernel
- pwn.college
- C++
- 시스템프로그래밍
- Leviathan
- 취약점
- 시스템해킹
- pwncollege
- C언어
- 어셈블리어
- radare2
- 리버싱
- 리눅스 커널
- 시스템 프로그래밍
- px4
- 리눅스
- Bandit
- 프로그래밍
- css
- 시그널
- 워게임
- 리눅스커널
- 컴퓨터구조
- 커널
- wargame
- write up
- Pwnable.kr
Archives
- Today
- Total
Computer Security
pwn.college : kernel 2.0-2.1 write up 본문
반응형
1. vm start 로 vm 환경에서 구동해주자.
2. vm connect 를 통해 연결 해준다.
3.커널의 log 를 출력하는 dmesg 명령어를 사용하면 아래의 welcome to this kernel challenge가 뜬다.
demsg
아래의 내용을 살펴보면
[ 2.974984] 이 챌린지는 기본 커널 악용에 대해 알려주는 방식으로 커널을 오용합니다.
[ 2.979728] 이 챌린지는 `/proc/pwncollege`를 통해 간단한 문자 장치 인터페이스를 노출합니다.
[ 2.983899] 다른 파일과 마찬가지로 이 장치를 열고 쓰고 닫을 수 있습니다.
[ 2.987399] 비밀번호를 알아낼 수 있으면 캐릭터 장치가 플래그를 기록합니다.
[ 2.991099 ] 행운을 빕니다!
/proc/pwncollege를 통해 간단한 문자 장치 인터페이스를 노출한다고 한다.
또한 open,write,close가 가능하다는 것도 알 수 있다.
전 문제와 달리 이 문제는 read기능이 제한된 것을 알 수 있다.
4. workspace에 있는 IDA를 이용해서 우리가 받은 challenge kernel 2.0을 열어주자.
5. IDA에서 F5를 누르면 어셈블리어를 C언어코드로 변환 해준다. 변환 한 뒤, device_write부분을 살펴보자.
strncmp함수가 문자열 비교 역할인데 패스워드랑 저 "qppkpnihrzaakceh" 이놈을 비교 한다고 한다.
6. 비밀번호로 의심되는 문자열은 찾았는데, 읽지를 못하니 일단 echo를 이용해 저 비밀번호를 /proc/pwncollege에 넣어줘 보자.
역시, 못읽는다 나온다.
7. 흠..일단 읽을 방법이 없는데,, 우리에겐 커널상의 로그를 기록해주는 dmesg 명령어가 있었다. echo 명령어를 친 순간 커널에서도 일단 반응이 일어났을 것이니, dmesg를 확인 해보자.
[ 369.133393] The flag is: pwn.college{ss8DsMBa4_U9e-OGPsl_NKP7X7F.QX1IDNsETNwgzW}
플래그를 확인 할 수 있었다!
2.1 또한 똑같은 방식으로 풀어나가면 풀린다!
ps. 저 위의 플래그는 사람마다 다르니 직접 해보자..ㅎ
반응형
'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 1.0-1.1 write up (0) | 2022.12.04 |
pwn.college 시작 (0) | 2022.12.04 |
Comments