의미없는 블로그
[Docker] 파일복붙/Dockerfile 사용하기/별첨 CVE-2018-9206 본문
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 에 접근하여 원격 명령어 실행 가능
'# 나 > exploit CVE' 카테고리의 다른 글
[CVE-2014-0160] HeartBleed OpenSSL 1.0.1e 설치 (0) | 2019.08.23 |
---|---|
[CVE-2019-11581] Atlassian Jira RCE 취약점 (0) | 2019.07.15 |
[Docker] 컨테이너 생성/실행/접속 (1) | 2019.06.24 |
[Docker] 설치쓰 (0) | 2019.06.21 |
[윈도우] Weblogic 10.3.6.0 설치 (0) | 2019.06.21 |