시스템 해킹

 1576, 1/79 회원가입  로그인  
   kumi123
   http://blog.naver.com/kumik12
   x86-64bit 스택오버플로우 막막하네요...ㅠ

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1733 [복사]


strcpy로 공략하는 기준

코드영역은,

00 00 00 00 00 ?? ?? ??

이렇게 잡히고,

아스키 아머로, 라이브러리는

00 00 ?? ?? ?? ?? ?? ??

이런 주소대를 가지고,

exec-shield 로 스택과 힙에는 쉘코드 올려 공격 불가능..

rtl 은 1번은 가능하지만, 한방에 바로 고정주소가 없으면 아웃, 그것도 ret sled는 불가능

코드영역으로의 rtl도 불가능.. 00 이 1군대가 부족해서 덮어쓰기 불가능

got overwrite도 함수영역의 주소가 저러니 불가능..

rop도 코드영역의 주소가 저러니 불가능...

결국, 현실적으로 strcpy를 이용한 64bit-리눅스 오버플로우 어택은 그냥 다 막혔다 보셔도 될 것 같습니다..

그래도, 우리에게는 아직 내부입력함수 gets류가 있네요..

겉은 64bit지만, 가상메모리는 계속 32bit 쓰길 빌어야 겠군요.. ㅠㅠ

  Hit : 5350     Date : 2014/02/15 05:13



    
itchy 로컬일경우에 ascii armor로 인해서 rop가 불가능하시다면 virtual system call 영역에서 rop하여 공격 할 수 있습니다. 2014/02/16  
kumi123 처음들어 보네요?? 뭐죠?? 2014/02/16  
itchy 바이너리의 /proc/pid/maps 를 확인해보시면 vsyscall 영역이 존재하는데 이 페이지에 rx권한이 있고 주소 또한 0xffffffffff600000 부터 시작해서 한 페이지 만큼 차지하므로 rop를 하는데에 있어서 ascii armor를 피할 수 있습니다.
가젯 또한 ret / pop&ret이 존재하니 ret slide가 가능하겠죠..?
2014/02/16