[해커스쿨_FTZ] level11

2018. 10. 5. 01:38· Security/해커스쿨_FTZ


ls명령어로 디렉토리 안을 살펴봅시다.

"attackme" 라는 실행파일과 hint파일이 보입니다.

cat명령어로 힌트파일의 내용을 확인했습니다.



gdb로 attackme의 실행 과정을 확인해보려 하니 권한이 없다 뜨기에 힌트로 주어진 소스코드를 /tmp디렉토리에 복사하여 attackme.c라는 파일을 만들어주었습니다.

attackme.c를 attackme라는 실행파일로 만들어줍시다.



만든 attackme실행파일을 디버거로 확인해봅시다.


main+3 에서 0x108의 공간을 할당해주는데 0x108은 10진수로 264바이트입니다.

그러나 선언해준 배열의 크기는 256바이트이므로 나머지 8바이트는 더미 값 입니다.

따라서 이 실행파일의 메모리의 구조는


| buffer: 256 byte | dummy: 8 byte | SEP: 4 byte | RET: 4 byte |

total: 272 byte


인 것을 확인할 수 있습니다.



export SHELLCODE=`python -c 'print"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80"'`


를 입력해 이름이 SHELLCODE인 환경변수를 만들어주었습니다. 



만들어진 환경변수를 한 번 확인해줍시다.



이제 환경변수의 메모리 주소 값을 얻어올 코드를 작성해야 합니다.

vi 편집기를 열어줍시다. 이름은 sss.c로 하였습니다.



이렇게 적어준 후 :wq명령어를 이용해 나와줍니다.

getenv함수는 환경변수의 값을 읽어오는 함수입니다.



gcc로 sss이름의 실행파일을 만들어줍니다.

밑에 경고가 뜨는데 무시하셔도됩니다.



./[프로그램이름] [환경변수이름] /home/level11/attackme


를 입력해 sss를 실행시켜주면 SHELLCODE의 주소가 나타나게 됩니다.



attackme를 실행시킨 후 null값으로 268바이트를 채운 후 리턴 값이 나오는 주소에 SHELLCODE의 주소를 덮어주면 끝!


'Security > 해커스쿨_FTZ' 카테고리의 다른 글

[해커스쿨_FTZ] level13  (0) 2018.10.07
[해커스쿨_FTZ] level12  (0) 2018.10.05
[해커스쿨_FTZ] level10  (0) 2018.10.04
[해커스쿨_FTZ] level9  (0) 2018.10.04
[해커스쿨_FTZ] level8  (0) 2018.10.03
'Security/해커스쿨_FTZ' 카테고리의 다른 글
  • [해커스쿨_FTZ] level13
  • [해커스쿨_FTZ] level12
  • [해커스쿨_FTZ] level10
  • [해커스쿨_FTZ] level9
lim.dev
lim.dev
* 깃허브: https://github.com/Ellie010707
lim.dev
코딩림
lim.dev
전체
오늘
어제
  • 분류 전체보기 (205)
    • Network (6)
    • Backend (31)
      • Django (8)
      • Spring Boot (22)
    • Frontend (3)
    • Coding Test (107)
      • Python (93)
      • Java (1)
      • C_C#_C++ (4)
      • SQL (8)
    • Security (40)
      • 해커스쿨_FTZ (19)
      • VM (6)
      • CodeEngn (11)
      • Linux (4)
    • Project (2)
    • etc (12)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • stolenbyte
  • linux
  • 해커스쿨ftz
  • 해커스쿨
  • ftz
  • ftz 풀이
  • 리눅스
  • reversing
  • ftz writeup
  • 리버싱
  • CodeEngn
  • abex
  • crackme
  • hacking
  • 코드엔진
  • 리버서
  • 리눅스마스터
  • ftz write up
  • ftz풀이
  • 해킹

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
lim.dev
[해커스쿨_FTZ] level11
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.