시스템 해킹

 1576, 1/79 회원가입  로그인  
   choboKing
   32비트 리눅스 매직가젯

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


안녕하세요.
libc상에 한번에 쉘을 실행시킬수 있는 명령어들이 존재한다고 들었습니다.
찾아보니까 이 명령어 집합을 매직가젯이라고 부른다고 하더군요.
그런데 검색 해 본 결과 제가 찾아낸 자료들은 전부 64비트 매직가젯에 대해서 설명하더군요....
그래도 왠지 32비트 리눅스에도 있을 것 같아서 ida로 /bin/sh문자열이 사용되는 함수들을 찾아서 공격에 사용해 봤지만 모두 실패했습니다.
32비트 리눅스에도 매직가젯이 있나요? 만약 있다면 찾기 위한 팁들을 알려주시면 감사하겠습니다.

  Hit : 4845     Date : 2016/12/31 10:09



    
jinmo123 아마 32비트의 경우에는 64비트와는 달리 PIC 코드를 사용하기 위해 함수 프롤로그에서 현재 함수 내의 EIP을 따로 얻어와서 레지스터에 저장하고 그걸 기준으로 변수들을 참조하는데요, libc 내의 /bin/sh 문자열도 그렇게 참조되기때문에 해당 레지스터도 신경을 써야될 것 같습니다. 하지만 64비트에서는 rip 기준으로 주소를 불러올 수 있기 때문에 그 코드에서도 /bin/sh를 rip기준으로 바로 불러오거든요. 2017/01/07  
choboKing 답변해주신 내용을 읽어보고 32비트와 64비트 매직 가젯 부분의 코드를 비교해보니, 공격에 실패한 이유가 이해가 되었습니다.
감사합니다.
2017/01/09