RTL Attack

RTL - Return To Library

개요 : RET에 라이브러리 함수의 주소를 덮어씌워 실행되도록 하는 공격기법

기본적으로 RTL 공격을 사용하기 위해서는 RET보다 높은 주소에 코드를 덮어씌울 수 있어야 한다.

언제 사용?

1. NOP Sled를 사용하는데 ASLR이 걸려있을 경우 주소가 매번 바뀌므로 '임의의' 주소 값을 설정해야 한다. 여러 번 시도를 해야 하는 번거로움이 있음..
그러나 공유 라이브러리가 올라오는 주소는 바뀌지 않으므로, 정확한 주소를 리턴 가능.

2. NX bit(Non-executable Stack)
=> 스택 상에서 코드를 실행할 수 없을 때 사용.

* C에서 memcmp함수를 사용하면 다른 함수나 함수 내에 있는 문자열의 정확한 주소를 반환할 수 있다.

댓글