감자 텃밭

darkelf 본문

my_study/LOB

darkelf

g2h 2021. 5. 20. 03:02

역시나 그랬들 실행파일과 c파일이있어 c파일을 확인하여 소스코드를 확인

c소스 코드 파일

해당 소스코드는 이전과 똑같지만 새롭게 추가된 내용으로는 argv[0]의 길이가 77이여야한다는것이다

argv[0]이 뭔지 몰라서 검색했더니 명령어 실행시 실행명령어 즉 ./argc가 해당된다 여기서 ./도 길이2로 취급한다

그럼 ./을 제외하고 파일의길이가 75가 되어야한다. 해당 문제를 풀기위해서는 많은 방법들이 존재한다

rename을 쓴다던가 .////이런식으로 /을 추가한다던가 있지만 권한문제가 생겨서 나는 A*75를해서 심볼릭 링크를 걸어 해결했다.

심볼릭 링크를 걸어 링크파일을 생성하였다 이제 payload를 작성하기위해 이전과 같은작업 argv[2]의 주소를 알아야하기에 파일을 실행 -> core dump를 이용하였다.

core dump를 통해 확인한 argv[2]의 주소값은 0xbffffb50으로 잡았다.

tmp 에서 실험을 해보자!

payload를 작성하고 실행시키자 정상적으로 쉘이 획득되었다 이제 본격적으로 쉘을 획득하러 가보자

????? 계속해서 같은 일이 반복됐다 분명 쉘은 정상적으로 획득했는데 권한이 바뀌지가 않았다... 뭐가문제인지 알 수 없었다.

쓸데없는 삽질1

쓸데없는 삽질2

별에별짓을 해도 권한이 바뀌지가 않았다... 구글링을 해도 같은 방식인데도 불구하고 쉘은 획득 하였지만 권한이 본 레벨계정으로 유지되었다. 그러다가 링크생성한걸 모두 지우고 다시 링크설정 후 실해시켰더니 성공적으로

쉘을 획득하고 권을 얻어 패스워드를 얻을 수 있었다..?!!!

성공!!

링크를 재 설정하니 뭔가 바뀌면서 정상작동하였다!!!

'my_study > LOB' 카테고리의 다른 글

orge  (0) 2021.05.20
wolfman  (0) 2021.05.20
orc  (0) 2021.05.19
goblin  (0) 2021.05.18
cobolt  (0) 2021.05.18