아르단위드 2023. 9. 17. 15:52

레비아탄3 아이디와 비밀번호로 접속

 

ls -al로 어떤 파일이 있는지 확인

SETUID파일 확인>바로 실행>비번틀림

라데어2 로 리버싱

 

aaaaa #분석

afl #함수 확인

pdf @dbg.main #dbg.main 어셈블리확인

 

 

패스워드 입력해라

strcmp 함수는 있는데 확인 을 못함

 

strcmp 포인터 s1 s2

s1은 받은 값이고

s2는 snlprint로

둘이 비교하는걸로 확인되었다 비밀번호는 확인하였으니 비밀번호를 찾으러 바로가도되지만 더 확인

 

쉘을 획득 했다는 메세지

/bin/sh 실행

틀렸다는 메세지 출력

 

좀더 쉬운 방법이라고 할수있는 ltrace

틀린답을 넣으니

strcmp에 이 문장과 비교한다고 나오네요 비교구문은 snlprint

 

strcmp 부분에 스탑포인트를 걸어주겠습니다

db 주소#브레이크포인트를 주었습니다

dc 를 이용해  틀린 비밀번호를 사용했습니다

 

주소가 칠해지고 옆에 b 가 생겼습니다 브레이크포인트 설정입니다

strcmp 다음 실행 될 push 들입니다

 

px @esp #스택포인터의 레지스터입니다.

들어간 함수 두개 입니다

거꾸로 들어가니 

ff ff d3 dc >> 31의 아스키코드 부터해서 1234

ff ff d3 d1 >> 73의 아스키코드 부터해서 snlprintf

를 가리키네요

 

 

SETUID 획득 후

비밀번호 획득!

728x90