본문 바로가기

System Hacking

RTL (Return to Library)

1. NX 우회방법

  • NX로 인해 공격자가 버퍼에 주입한 쉘코드 실행은 어렵지만, 스택 버퍼 오버플로우 취약점으로 반환주소를 덮는 것은 여전히 가능하다.
  • 공격자는 실행 권한이 남아있는 코드 영역으로 반환주소를 덮는 공격기법으로 NX를 우회할 수 있다.

2. 프로세스에 실행권한이 있는 메모리영역

① 바이너리의 코드 영역

② 바이너리가 참조하는 라이브러리의 코드 영역

3. 정의

  • NX를 우회하는 공격기법이다.
  • libc 함수들로 NX를 우회하고 쉘을 획득하는 공격기법을 "Retrun To Libc"라고 한다.
    다른 라이브러리로 공격에 활용될 수도 있으므로 "Return To Library"라고도 한다.

4. Return to PLT 정의

  • ASLR이 걸려 있어도 PIE가 적용되어 있지 않다면, PLT의 주소는 고정이다.
  • 이를 통해, 무작위의 주소에 매핑된 라이브러리의 베이스 주소는 몰라도, PLT주소를 통해 라이브러리 함수를 실행할 수 있는 공격 기법을 의미한다.

5. Return to PLT 관련 실습

2022.07.01 - [Dreamhack/Lecture & Practice] - [Practice] Return to Library

6. Return to PLT 관련  Wargame

2022.07.02 - [Dreamhack/Wargame] - [Wargame] Return to Library

'System Hacking' 카테고리의 다른 글

Fake EBP  (0) 2022.08.03
RTC (Return To CSU)  (0) 2022.07.04
PLT & GOT  (0) 2022.06.27
NX & ASLR  (0) 2022.06.27
Stack Canary  (0) 2022.06.25