Dockerfile에서 libc 파일 빼내오는 법을 알고 싶습니다.
일단 문제에서 주어진 libc 파일로 exploit해서 local에서는 성공했습니다.
(p = process(["./ow_rtld"], env={'LD_PRELOAD':'./libc-2.27.so_18.04.3'})
와 같이 적어서 문제에서 제공한 libc 파일을 적용해서 exploit에 성공했습니다.)
근데 remote에서는 exploit 중간에 EOF로 멈추고 실패하는데, 제 생각에는 local에서는 되고 remote에서는 안되니 libc 버전 차이 때문인 것 같습니다.
문제에서 주어진 Dockerfile로부터 libc 파일을 빼내서 그걸 기반으로 문제를 풀어보려 했는데, Dockerfile에서 libc 파일을 어떻게 빼내야 할지를 모르겠습니다.
https://realsung.tistory.com/357
여러 방식으로 검색을 했고 위의 방식도 알게 되었는데, dockerfile을 기반으로 build하고 run해서 따라해도 뭘 하든 권한이 없다고 뜨네요.. (sudo도 사용할 수 없고, sudo를 설치하려 해도 권한이 없다고 뜹니다.)
어떻게 libc 파일을 빼내면 될지 알고 싶습니다,, ㅠㅠ
#pwnable
작성자 정보
답변
1
wyv3rn
무플 방지 위원회장
오잉... 그냥 파일을 전송해버리면 될 것 같은데요 ㅎㅎ
docker가 설치된 os에서
docker cp containerID:파일명 로컬경로
와 같이 사용 가능합니다.