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
avatar
wyv3rn
무플 방지 위원회장

오잉... 그냥 파일을 전송해버리면 될 것 같은데요 ㅎㅎ

docker가 설치된 os에서

docker cp containerID:파일명 로컬경로

와 같이 사용 가능합니다.

2022.09.06. 22:28
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기