일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- kernel
- 알고리즘
- pwn.college
- write up
- 리눅스 커널
- 취약점
- 리눅스커널
- C++
- 어셈블리어
- 프로그래밍
- 컴퓨터구조
- 리버싱
- wargame
- 드론
- 시그널
- 워게임
- css
- 시스템프로그래밍
- pwncollege
- Pwnable.kr
- 리눅스
- Leviathan
- Bandit
- px4
- radare2
- 커널
- 시스템 프로그래밍
- 시스템
- C언어
- 시스템해킹
- Today
- Total
목록정보보안 (179)
Computer Security
struct cred overwrite 정형화된 특정한 기법이라기보단, 권한 상승을 일으키는 방법론으로써, 태스크의 권한에 대한 정보를 담고 있는 cred 구조체를 덮어써서 root 권한을 획득하는 작업이다. 하나의 태스크의 모든 메타 데이터를 담고 있는 task_struct 구조체에는 cred 구조체를 가리키는 포인터 멤버가 있다. 이 cred 구조체는 태스크의 권한에 대한 정보를 담고 있기 때문에, 이 cred 구조체의 멤버를 덮어 쓰는 것으로 태스크의 권한을 바꿀 수 있다. struct task_struct 태스크의 모든 메타 데이터를 담고 있는 구조체이다. do_fork()함수에 의해 생성 된다. 권한과 관련된 멤버 중에서 cred 멤버가 바로 현재 태스크가 특정 작업을 할 때 참조되는 권한 정보..
kernel stack pivoting 기법 함수 포인터를 덮을 수 있는 취약점과 같이 rip control만 가능하고 rsp control이 불가능한 상황에서, kernel ROP로 실행 흐름을 변경하기 위해 kernel stack을 pivoting 하는 기법이다. xchg eax, esp 어셈블리 가젯과 mmap()함수를 이용한다. SMEP보호 기법을 우회할 수 있지만, SMAP도 걸려 있는 상황에선 좀 더 복잡한 과정이 필요하다. rsp control이 불가능한 상황 스택 버퍼 오버플로우 취약점 같은 경우, 스택의 return address 부분을 ROP payload로 덮으면 별도의 rsp control 작업이 필요 없다. 만약 함수 포인터를 덮은 뒤, 그 함수 포인터를 실행하는 취약점의 경우, ..
cr4 overwrite 기법 kernel ROP 에서 파생된 기법으로, cr4 레지스터의 SMEP 제어 비트를 제거해서 SMEP 보호 기법을 비활성화 하는 기법이다. BOF 상황에서 overflow 할 수 있는 크기가 작거나, 마땅한 ROP 가젯을 찾기 어려울 때 시도해볼만한 기법이다. 제한적인 상황에서 SMAP 제어 비트를 제거하여 SMAP도 우회가 가능하다. cr4 레지스터 control 레지스터 중 하나로, 프로세서에서 지원하는 다양한 기능에 대한 제어를 담당하는 레지스터이다. 20번째 SMEP 제어 비트가 있으며, 이 비트를 제거할 경우 SMEP를 비활성화 할 수 있다. 우리는 아래의 파일들로 실습 할 것이다. start.sh : qemu script test.c : 간단한 취약점이 터지는 디바..
kernel ROP SMEP 보호 기법을 우회하기 위한 기법으로, 커널 공간의 주소들로 ROP payload를 작성하여 권한상승을 일으키는 기법이다. SMEP 보호 기법은 커널 공간에서 유저 공간과 관련된 코드의 실행을 막는 기법이기 때문에, 실행되는 대상이 커널 공간의 주소일 경우 SMEP를 우회할 수 있다. 가장 많이 사용되는 보편적인 커널 공격 테크닉이다. 우리는 아래의 파일들로 실습 할 것이다. start.sh : qemu script test.c : 간단한 취약점이 터지는 디바이스 드라이버 예제 exp.c : kernel ROP 기법을 이용해 권한 상승을 일으키는 exploit code 1. start.sh 를 살펴보자. KASLR : 적용 X SMEP : 적용 O SMAP : 적용 X 2.BO..