kernel security -level 10~12

2023. 9. 28. 19:58·Wargame/pwn.college
728x90
반응형

1. intro

 

2. code 및 분석

2.1.  code

생략

2.2. 분석

level 10 : level9 + ASLR이다.

level 11,12 : 유저 영역에 플래그를 읽어들인 뒤 플래그 파일을 삭제하고, 커널 영역에서 쉘코드를 실행한다.

 

3. 취약점 확인 및 공격 준비

3.1. 취약점

생략

3.2. 공격 준비

level 9와 10의 페이로드가 동일하다.

다만, 주소를 어떻게 설정하느냐인데, 가상 머신을 실행할 때 커널 함수 base address가 매번 변경되지만, 처음 설정된 주소 그대로 유지되기 때문에 dmesg를 통해 적절히 레지스터에서 주소를 가져와 오프셋을 계산하면 된다.

물론 일반적인 상황은 아니지만...

 

level 11과 12의 페이로드가 동일하다.

둘 다 플래그를 삭제해버리지만, 유저 영역의 메모리에 있던 플래그 값이 결국은 커널 영역에서 접근 가능한 위치에 지워지지 않고 존재하기에 루프를 돌며 해당 값을 찾으면 된다.

처음에는 바이너리에서 커널영역으로 이동 후 다시 바이너리로 와서 flag 위치의 값을 출력해보기도 하고,

커널영역에서 다시 한번 바이너리의 flag 위치의 값을 커널 영역으로 복사하여 출력해보기도 하고,

이런저런걸 다 해봤는데 결론은 flag 위치를 null로 초기화되버려 아무것도 출력되지 않는 것을 볼 수 있다.

분명 바이너리에서 커널 영역으로 이동 후 copy from user함수를 통해 바이너리의 쉘코드를 가져가긴 하는데,

플래그 영역만 딱 초기화되버린다.

왜인지 모르겠음...

특이사항으로는 level 11에서는 python으로 shellcode를 바이너리에 전달해도 flag가 잘 출력되지만,

level 12에서는 flag가 잘려서 출력되는 문제가 있었다.

그래서 shellcode만 뽑아서 바이너리에 직접 넣어줬더니 모두 출력해줬다.

왜 이런지는 모르겠음;;;

 

아래 영상을 참고하였기에 직접 푼걸로 보기에는...

(29) CSE 466: Computer Systems Security - Extended Q&A - 12/07/2021 - YouTube

(29) Kernel Security - Robert - Live Session - 2022.11.09 - YouTube

 

4. exploit

생략

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Wargame > pwn.college' 카테고리의 다른 글

Talking web - payload  (0) 2023.10.17
Program interaction - 1~142  (0) 2023.10.16
kernel security level9  (0) 2023.09.25
pwn.college - kernel security payload  (0) 2023.09.25
kernel security level8  (0) 2023.09.24
'Wargame/pwn.college' 카테고리의 다른 글
  • Talking web - payload
  • Program interaction - 1~142
  • kernel security level9
  • pwn.college - kernel security payload
wyv3rn
wyv3rn
아저씨의 흔한 취미. wyv3rn#1249
  • wyv3rn
    think storage
    wyv3rn
  • 전체
    오늘
    어제
    • 분류 전체보기 (502)
      • To do list (7)
        • Doing (1)
        • Complete (6)
      • Diary (35)
      • Tips & theory (73)
      • Kernel Exploit (27)
        • Theory (15)
        • Exercise (5)
      • File Structure (6)
      • Wargame (313)
        • pwn.college (34)
        • Dreamhack (148)
        • pwnable.kr (15)
        • Lord of Sqlinjection (3)
        • Cryptohack (20)
        • Root me (27)
        • CodeEngn (4)
        • Exploit Education (22)
        • ROP Emporium (8)
        • H4C (10)
        • Hackerchool (22)
      • CTF (41)
        • Solved (39)
        • Unsolved (2)
      • Script (0)
      • RubiyaLap (0)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

    • PWN wargame 모음 (및 느낀점)
    • 비공개 글들에 대해.
    • 뭐라도 하나 얻어가시길...
  • 인기 글

  • 태그

    FSB
    pwntools
    cryptohack
    CANARY
    _IO_FILE
    rop
    heap
    libc
    docker
    Buffer Overflow
    phoenix
    pwnable.kr
    dreamhack
    Format String Bug
    x86
    x64
    tcache
    vtable
    RTL
    exploit education
    64bit
    Me
    ROOT ME
    root
    hackerschool
    lob
    la ctf
    BOF
    root-me
    32bit
  • 최근 댓글

  • 최근 글

  • 250x250
    반응형
  • hELLO· Designed By정상우.v4.10.3
wyv3rn
kernel security -level 10~12
상단으로

티스토리툴바