아르단위드
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