본문 바로가기
카테고리 없음

4장 시스템해킹 3

by paysmile 2016. 11. 20.

4.8실전

4.8.1. 크래시 발생시키기

 

FTP 서버 프로그램인 FreeFloat FTP는 사용자가 로그인에 성공한 이후 특정 명령어에 인자값을 받을 때 길이를 확인하지 않고, 이로 인해 지역 변수에서 버퍼 오버플로우가 발생하는 것입니다. 이 취약점을 이용해 스택 영역에 있는 리턴 주소를 덮어써서 EIP를 조작할 수 있습니다.

 

메모리 오염을 공격하는 첫 단계는 프로그램이 실행중에 죽는 현상을 재현하는 POC(개념 재현)코드를 작성하는 것입니다.

이 공격 코드를 실행하면 프로그램이 오류를 발생시키면서 죽는 것을 확인 할 수 있습니다.

 

어떤 이유로 프로그램이 죽는지를 확인하기 위해 디버거를 실행해 보았습니다.

실패..

 

성공 했다면 FTPServer가 죽은 원인을 디버거를 통해 분석 할 수 있습니다.

 

4.8.2 EIP 덮어쓰기

메타스플로잇 패턴과 buffer변수에 잇는 내용을 이용해 어느 부분이 EIP로 덮어써지는지 확인해야 합니다.