[취약점분석] 시스템 해킹 실습 7일차.....

2024. 7. 24. 17:08·K-Shield.Jr

1. Dangling pointer 생성

2. 재할당

3. 기능 호출

- AAW

 

setString : 문자열을 read로 입력 받음

setNum : 정수를 scanf("%ld")로 입력 받음. ld = 10진수 ^^^^

- elf.sym["flag"] -> python 숫자 문자열

- str()로 감싸주면 됨. <- python str

- .encode() <- python bytes

 

delete에서 삭제는 시키지만 초기화를 시키지 않아서 seg error 발생


Race Condition

공유 자원에 동시 접근해서 나타난 취약점?

 

race_condition.c 실습

216~230 소켓에 대한 설정.

 

connection_handler 함수부터 분석 시작

 

python thread != c thread

python multiprocessing 검색 후 알아보고 해야 함.

 

실행하고 

새로운 터미널 nc 0 8888

 

.c 분석)

 

목표)

*balance >= 50000

 

Create account : 새로운 계정 생성

Use coupon : 계정의 쿠폰 사용

파이선 익스를 짤 때, 멀티프로세싱 모듈 사용

 

 

exploit 코드 작성 전 구조 짜기)

  1. 새로운 Account 생성 -> 인덱스 0
  2.  Account[0]의 쿠폰 사용
    1. coupon[0] ~ coupon[4] 까지 반복

 

ㅇㅅㅇ?

1. 모든 프로세스를 미리 생성

2. 동시에 작업 수행

 

----

이전 bof 정리)

  • BOF 가 있으니까 RET 변조 가능
    • BOF->RET을 바이너리 내 함수 주소로 변경
  • Shell Code
    • 셸코드로 점프

----카나리

Canary : buf와 sfp 사이에 검증용 데이터 삽입 및 검사하는 보호기법

우회 방법 : Canary 값을 알아내고, 동일한 값으로 덮어쓰기


----GOT

1. scanf@got 를 libc_system의 주소로 변경

-> sacnf("%s", ~~)

2. scanf@got를 system@plt의 주소로 변경

 

GOT Overwrite 공격 기법)

1. GOT에 호출하고자 하는 주소 를 입력 (ex. scanf@got에 0x414141)

2. 변조한 함수를 호출(ex. call sacnf@plt)

-> 실제 scanf 대신 변조한 주소가 실행(ex. RIP = 0x414141)

 

puts@got 를 system@plt 로 변조

puts 호출 -> puts@plt(코드) 실행 -> puts@got(주소) 참조 -> system@plt 호출 ->  system@ ??


----RTL

Return to Library

-> NX는 있고, get_shell은 없을 때 사용.

 

BOF -> RET p64(libc_system)

 

아니 one_gadget이 뭔데요....

 

rtl, rtl.c 분석 및 익스)

libc_base = libc_printf - printf_offset

libc_one = libc_base + {one_gadget 오프셋}

레지스터 조건에 맞는 or 맞춰줄 수 있는 가젯을 사용

 

rtl_exploit.py

 

 

카나리, got 실습 화면 추가

 

'K-Shield.Jr' 카테고리의 다른 글

[취약점분석] 7/26 - 1 Day 실습 시작.  (2) 2024.07.26
[취약점분석] heap, UAF 맛보기- 시스템 해킹 실습 6일차  (1) 2024.07.23
[취약점분석] BOF2, Advanced BOF - 7/22 실습 5일차  (0) 2024.07.22
[취약점분석] BOF(시스템 해킹 실습 4일차)  (1) 2024.07.20
[취약점분석] Type Confusion, Format String Bug(시스템 해킹 실습 3일차)  (0) 2024.07.18
'K-Shield.Jr' 카테고리의 다른 글
  • [취약점분석] 7/26 - 1 Day 실습 시작.
  • [취약점분석] heap, UAF 맛보기- 시스템 해킹 실습 6일차
  • [취약점분석] BOF2, Advanced BOF - 7/22 실습 5일차
  • [취약점분석] BOF(시스템 해킹 실습 4일차)
min8282
min8282
  • min8282
    min8282
    min8282
  • 전체
    오늘
    어제
    • 분류 전체보기 (110)
      • Security (33)
        • System & Network (2)
        • Application (5)
        • Cloud (20)
      • Dev (18)
        • Node.js (12)
        • Hadoop (3)
        • BOJ (2)
      • Web3 & Blockchain (2)
        • Web3 (2)
      • K-Shield.Jr (15)
      • Web Security Academy (3)
      • Wargame (13)
        • Dreamhack (3)
        • Bandit (10)
      • NS (16)
        • CTF (6)
  • 블로그 메뉴

    • 홈
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    탈중앙화
    web security academy
    AWS CLI
    amazon s3 트리거
    aws 트리거
    정보처리기사
    스마트 컨트랙트
    메타코드
    정처기 필기
    정처기
    Path Traversal
    오블완
    AWS SSM
    Session Manager
    정처기필기
    File Upload
    aws lambda
    ELB
    web3
    metacodem
    prepared statement
    스마트컨트랙트
    보안 그룹
    메타코드M
    ESC1
    systems manager
    splunk db connect
    티스토리챌린지
    web3 보안
    metacode
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
min8282
[취약점분석] 시스템 해킹 실습 7일차.....
상단으로

티스토리툴바