Web,Mobile/Tool

[Vulhub] 설치 및 실행 방법

LimeLee 2021. 9. 1. 15:46

1. 개요

1-day 취약점 분석 시 취약한 버전의 어플리케이션, 환경설정 등이 구성되어야 함.
Vulhub는 docker를 이용하여 환경 구성의 번거로움을 해결해준다.
해당 문서는 Vulhub 를 이용해 취약점 환경 테스트를 구성하는 방법을 기술한다.

단, Vulhub는 모든 CVE를 지원하지는 않음.

2. Vulhub 설치

1) 가상머신 설치(optional)

  1. Ubuntu 64bit iso 설치 (link)
  2. VMWare Workstation 설치 (link)
  3. VMWare에 Ubuntu 설치

2) docker, docker-compose 설치

  1. terminal 실행
  2. 관리자 권한 상승
limelee@ubuntu:~$ sudo su
[sudo] password for limelee: 
root@ubuntu:/home/limelee#
  1. apt 업데이트
root@ubuntu:/# apt update
  1. docker, docker-compose 설치
root@ubuntu:/# apt install docker.io
root@ubuntu:/# apt install docker-compose

3) Vulhub 실행

  1. vulhub 저장소 복제
root@ubuntu:~# git clone https://github.com/vulhub/vulhub.git
  1. 취약점 디렉터리로 이동
  2. Vulhub에서 Path확인 가능
root@ubuntu:~# cd vulhub/path/to/vuln
  1. docker-compose.yml 실행
# Compile (optional)
root@ubuntu:~/vulhub/path/to/vuln# docker-compose build
# run
root@ubuntu:~/vulhub/path/to/vuln# docker-compose up -d
  1. docker 실행 확인
root@ubuntu:~/vulhub/path/to/vuln# docker ps
CONTAINER ID   IMAGE                        COMMAND                  CREATED          STATUS          PORTS                                   NAMES
385ab9fa2e76   vulhub/phpmyadmin:4.4.15.6   "docker-php-entrypoi…"   43 seconds ago   Up 42 seconds   0.0.0.0:8080->80/tcp, :::8080->80/tcp   cve-xxxx-xxxx_web_1
2108ae30cfd4   mysql:5.5                    "docker-entrypoint.s…"   45 seconds ago   Up 42 seconds   3306/tcp                                cve-xxxx-xxxx_mysql_1

취약한 버전의 환경이 구축된 것을 확인

 

POC 코드를 실행해볼 수 있는 환경까지만 구성되어있어 기능을 추가하고 싶거나 설정을 변경하고 싶은 경우 아래의 명령어로 쉘에 접근 가능하다.

root@ubuntu:~# docker exec -it [container ID] /bin/bash