Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

의미없는 블로그

[Docker] 파일복붙/Dockerfile 사용하기/별첨 CVE-2018-9206 본문

# 나/exploit CVE

[Docker] 파일복붙/Dockerfile 사용하기/별첨 CVE-2018-9206

SaltLee 2019. 6. 26. 17:52

1. 파일 복붙

로컬에서 다운받은 파일을 컨테이너에 집어 넣어야 할 때가 있다 뭐 설치 파일 같은거..

 

$ docker cp 복사할 파일 컨테이너명:컨테이너에 붙여넣을 경로 : 로컬에서 Docker 컨테이너로 파일 복사 

$ docker cp컨테이너명:복사할 파일 로컬에 붙여넣을 경로 : Docker 컨테이너에서 로컬로 파일 복사 

 

docker cp ./Apache_201802.txt con1:/tmp

 

/mnt/hgfs/Downloads 가 로컬하고 공유폴더로 설정된 상태

여기 가서 ls 해보면 Apache_201802.txt 파일 있다

이 파일을 con1 컨테이너의 /tmp 하위에 복붙할 것이다~

con1 컨테이너 실행시키고 들어가서 /tmp 폴더 보면 Apache_201802.txt 파일 복붙된거 볼 수 있음~

 

2. Dockerfile 사용하기

도커허브나 깃허브 같은데에 Dockerfile 로 올려둔 경우 많다

환경 세팅해 놓은 파일 같은거라고 보면 될듯

 

https://github.com/lcashdol/Exploits/tree/master/CVE-2018-9206 

여기 깃허브에 Dockerfile 하고 CVE-2018-9206 PoC 있다

CVE-2018-9206 은 jquery 플러그인에서 원격 명령어 실행되는 취약점

 

도커에서 /work/CVE-2018-9206 디렉터리 만들고 거기다가 Dockerfile 작성했다

아까 깃허브에 있던 것 복붙했음~

아무 디렉터리나 상관없고 Dockerfile 만 제대로 있으면 된다

 

Dockerfile 이 있는 위치에서 docker build -t jquery ./ 한다

-t 는 생성할 이미지명

./ 는 현재 폴더 아래의 Dockerfile 사용하겠단 의미

jquery 이미지 생성된 것 확인

jquery 이미지 사용해서 jqueryfileupload 라는 이름의 컨테이너 생성한다

컨테이너에 들어가서 아파치 데몬 실행시킨다

컨테이너 밖으로 나와서 포트 확인한다 (32772 -> 80)

32772 포트로 붙어보면 잘 접속 된다~

 

#별첨

깃허브에 있던 PoC(CVE-2018-9206.sh) 다운받아서 구축한 환경에 날려보면 취약하다고 뜬다~

 

이거 PoC 가 취약 여부를 판단할 때

저기 위에 보이는 ezCqUVTXXwRC.php 이런 랜덤 파일을 원격으로 생성한담에 없애버려서 코드를 좀 수정한다

원격으로 파일 업로드 한다음에 실행까지 하기 위해~

 

14 line 에 주석처리

125 line 에 파일명 shell.php 로 수정

PoC 있는 위치에서 shell.php 작성

cmd 파라미터로 원격 명령어 입력받아 실행시키는 코드

수정된 PoC(CVE-2018-9206-md.sh)와 shell.php 같이 두고

수정된 PoC 다시 날리면 shell.php 원격에서 업로드 됨~

(jquery 포트가 32772 에서 32768 로 바꼈는데 내가 컨테이너 다시 생성했나보다)

업로드한 shell.php 에 접근하여 원격 명령어 실행 가능 

Comments