rtl_core

2021. 7. 21. 00:03·WriteUP

rtl_core

이번에 풀어본 문제는 hackCTF의 rtl_core다 이번 문제도 제목에서 유추 가능한 rtl을 이용한 문제이다

 

해당 프로그램을 일단 실행시켜보자

passcode라는것을 입력받게 되어 있다. 음.. 해당 문제는 아마 ASLR과 NX가 기본적으로 적용되어있을 거 같은데

일단 확인해보았다.

적용된 메모리 보호기법

역시나 그렇듯 NX가 설정되어있다 ASLR도 설저되어 있을 것이다.

 

일단 해당 문제를 명확히 분석하기 위해 IDA를 통해 확인해보았다.

 

메인 함수를 살펴보면 check_passcode함수의 인자로 s를 전달하고 반환되는 값이 hashcode값과 같으면 특정 문자열을 출력하고 core함수를 실행시켜주고 그렇지 않을 경우 또 다른 문자열을 출력해준다 (확인해보니 성공과 실패 같은 문자열)

 

 

우선 hashcode값이 어떤 값인지 확인해보았다

hashcode값이 0 C0 D9 B0 A7 h 인 것을 확인할 수 있었다 그럼 이 값과 같게 되어야 할 check_passcode함수를 살펴보았다

4바이트씩 5번을 반복하여 v2 변수에 저장된다 그럼 hashcode값인 0C0D9 BA7h를 5로 나누어 입력하면 된다

하지만 그럴 경우 마지막에 2가 부족하게 나온다 그렇기에 5번째 값에 +2를 해서 보내주면 된다.

 

그 후 실행되는 core함수를 살펴보자

 

이렇게 해서 보낼 경우 pritf함수의 주소 값을 받게 된다 (미처 스샷을 찍지 못하였음)

이로써 pritf함수의 실 주소와 offset를 구해 libc_base주소를 찾아서 rtl을 하면 될 거 같다.

 

offset주소와 /bin/sh 문자열은 pwntools를 통해 얻었다. 최종 공격코드는 아래와 같이 작성하였다.

 

printf함수와 system함수의 offset를 받아와 특정 변수에 저장하고 bin/sh문자열을 특정 변수에 저장 그 후

첫 번째 페이로드에 /5의 값 중 4 갯값과 2가 부족하여 +2한 값 총 5개를 더한 값을 전송 그 후 core함수를 통해 얻게 되는 

printf 주소를 recv를 통해 특정 변수에 저장 printf주소-printf함수의 offset를 통해 libc_base를 획득 후

libc_base +system_offset과 /bin/sh를 통해 함수의 주소를 획득하여 특정 변수에 저장

그 후 최종 페이로드는 core함수를 보게 되면 return read가 있다 이 부분에서 bof가 일어난다 입력받는 곳부터 rsp까지의 거리 값을 구해 66개를 채우고 시스템 함수를 넣고 그 후 4바이트를 더미 값으로 채우고 bin/sh문자열을 넣어 공격코드를 완성했다 해당 프로그램을 실행시키면

성공적으로 플래그 획득에 성공하였다. 

처음에는 되게 막막했던 문제였지만 여러 번 보다 보니 조금씩 이해가 되었던 문제였다.

'WriteUP' 카테고리의 다른 글

bof_pie  (0) 2021.07.22
basic_fsb  (0) 2021.07.21
rtl_world  (1) 2021.05.28
offset  (0) 2021.05.26
Simple_overflow_bof_ver_2  (0) 2021.05.21
'WriteUP' 카테고리의 다른 글
  • bof_pie
  • basic_fsb
  • rtl_world
  • offset
g2h
g2h
  • g2h
    감자 텃밭
    g2h
  • 전체
    오늘
    어제
    • 분류 전체보기 (143) N
      • Network (4)
      • Web (30) N
        • Web Hacking Techniques (30) N
      • System (32)
        • Tips (11)
        • System Hacking Techniques (21)
      • Pentest (14)
        • Pentest (14)
      • WriteUP (47)
        • sec (0)
      • 도구|Tools (12)
      • Security Issue (3)
      • 1-Day-Analysis (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    해킹툴
    CTF
    Kioptrix
    Encoding
    스캐닝
    load of sqlinjection
    취약점 스캔
    skt 해킹
    SQL Injection
    cross side script
    dom based xss
    스캔
    sql
    Reflected XSS
    web hacking
    내부침투
    DoM
    Metasploit
    침투테스트
    root권한
    모의해킹
    해킹
    Los
    권한상승
    XSS
    nosql injection
    해킹도구
    취약점
    vulnability
    Hacking
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
g2h
rtl_core

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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