본문 바로가기
AI 스쿨 리팩토링 보안직무 과정

36주차 과제 (상) - DVWA, KALI LINUX 설치

by IT스터디큐브 2023. 11. 7.

 웹 모의해킹 과정 1 입니다. 이번 과제는 내용이 길기 때문에 2분할 하여 업로드합니다. 환경 구성을 위해 DVWA와 칼리 리눅스를 설치하는 과정을 보여드리고자합니다.

36주차 과제 - 웹 모의해킹 1.pptx
6.88MB

 

 참고를 위해 발표에 사용한 PPT 파일을 첨부하겠습니다. 이 포스트는 AI 스쿨의 리팩토링 과정을 수행한 것을 올린 것 입니다. 더 자세한 내용을 알고 싶으시다면 다음 링크를 통해 확인해 주시기 바랍니다.

https://cafe.naver.com/itscholar

 

정보보안전문가 취업카페 스칼라 : 네이버 카페

비전공자 전문IT교육, 정보보안전문가, 보안을 아는 개발자, AI 양성교육, IT기술리더, 창업가 양성

cafe.naver.com


본문

 웹 모의해킹 환경 구성을 위하여 DVWA와 칼리 리눅스를 설치하려고 합니다. 이 두 프로그램은 모의해킹 과정에서 중요하게 사용되는 프로그램입니다. 먼저 칼리 리눅스를 사전에 설치한 VMWARE 안에 설치할 후 칼리 리눅스 안에 DVWA를 설치하는 것으로 환경 구성을 마무리하겠습니다.

 

KALI LINUX

 칼리 리눅스는 모의 해킹 테스트를 위하여 설계된 리눅스 배포판입니다. 모의 해킹에 자주 사용되는 소프트웨어들이 설치된 상태로 배포되기 때문에 버프 스위트 등의 프로그램을 따로 설치할 필요가 없게 됩니다. 만약 모의 해킹에 사용할 프로그램들을 차후에 따로 설치할 예정이라면 다른 리눅스 배포판, 혹은 윈도우 등 타 OS를 사용해도 무방합니다.

 

 칼리 리눅스는 다음 주소에서 다운로드 받을 수 있습니다.

 

https://www.kali.org/

 

Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution

Home of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.

www.kali.org

 

 칼리 리눅스의 공식 홈페이지입니다. 해당 페이지에서 GET KALI를 클릭한다면 다운로드 페이지를 확인하실 수 있습니다. VMWARE에 설치할 예정이기 때문애 가상 머신(Virtual Machines)을 누른 뒤 VMware 버전 파일을 다운로드 하시면 됩니다.

 

 이후 압축 파일을 풀고 VMware 상에서 vmx 파일을 여는 것으로 칼리 리눅스 구성을 완료할 수 있습니다.

 칼리 리눅스를 실행하면 로그인 창에서 비밀번호를 입력하라는 창을 발견하실 수 있습니다. 이는 기본 비밀번호로 설정 된 것이니 기본 비밀번호를 입력하여 로그인하면 됩니다.

 

Kali Linux 기본 비밀번호

 

ID : kali

PW: kali

 

DVWA

 이제 칼리 리눅스 상에 DVWA를 설치할 것 입니다. DVWA란 Damn Vulnerable Web Application의 약자로, 직역한다면 더럽게 취약한 웹 애플리케이션을 의미합니다. 이는 일부로 취약하게 만들어 놓은 웹 애플리케이션으로 교육, 취약점 진단, 모의해킹, 기타 실습 등의 목적으로 사용할 수 있습니다.

 

https://github.com/digininja/DVWA

 

GitHub - digininja/DVWA: Damn Vulnerable Web Application (DVWA)

Damn Vulnerable Web Application (DVWA). Contribute to digininja/DVWA development by creating an account on GitHub.

github.com

 

 DVWA의 공식 깃허브 페이지 입니다. 칼리 리눅스에 DVWA를 설치하기 위해 해당 페이지를 사용하였으며, 해당 페이지에 존재하는 칼리 리눅스에 DVWA 설치하기 영상을 크게 참고했음을 알려드립니다. 해당 영상은 다음과 같습니다.

 

https://www.youtube.com/watch?v=WkyDxNJkgQ4

 

 가장 먼저 칼리 리눅스에서 터미널을 열고 다음을 입력합니다.

 

git clone https://github.com/digininja/DVWA
   ##깃허브에서 파일 복사
sudo mv DVWA /var/www/html
   ##복사한 파일 위치 변경
cd /var/www/html
   ##터미널의 디렉토리 변경
ls
   ##파일 리스트 확인
sudo service apache2 start
   ##아파치2 시작

 

 여기까지 입력한 다면 이제 http://localhost 주소를 통하여 아파치서버에 접근할 수 있습니다. 하지만 http://localhost/DVWA 주소를 통해서 DVWA에 접근하려고 하면 오류가 발생합니다. 이는 바로 DVWA 설정 파일이 생성되지 않았기 때문입니다. DVWA 설정 파일을 생성하기 위해 터미널에서 다음을 입력합니다.

cd DVWA
   ## 터미널의 디렉토리 DVWA로 이동
ls
   ##파일 목록 확인
ls config
   ##설정 파일 확인
cp config/config.inc.php.dist config/config.inc.php
   ##설정 파일 복사, 이름 변경 후 붙여넣기
service mariadb start
   ##마리아 DB 실행

 

 이 과정을 거친다면 DVWA 페이지에 접근할 수 있습니다. 하지만 DVWA 페이지도 정상적으로 작동하는 것이 아닙니다. 데이터베이스 생성에서 에러가 발생하기 때문입니다. 이를 해결하기 위해 다음을 터미널에 입력하시기 바랍니다.

sudo su –
   ##루트 계정에 연결
mysql
   ##mariaDB 접속
create database dvwa;
   ##dvwa DB 생성
create user dvwa@localhost identified by 'p@ssw0rd';
   ##사용자 생성
grant all on dvwa.* to dvwa@localhost;
   ##사용자에 전체 권한 부여
flush privileges;
   ##변경사항 적용

 

 DVWA 설정 탭에서 데이터베이스 생성을 클릭한다면 기본적인 설정은 모두 완료됩니다. http://localhost/DVWA/login.php

페이지로 이동하여, 로그인을 한다면 사용할 준비가 완료됩니다. DVWA의 기본 계정과 비밀번호는 다음과 같습니다.


ID : admin
PW : password

 

 추가 사항) 이대로 프로그램을 사용할 수도 있지만, 몇몇 기능 중 정상적으로 작동하지 않는 기능들이 존재합니다. PPT에서 다루지 않았던 오류를 수정하기 위해 추가적인 내용을 덧붙이겠습니다. 

 

 설정 메뉴 중간을 보면 여러 기능들이 비활성화 되어 있는 것을 확인할 수 있습니다. 각 기능을 하나하나씩 활성화 하도록 하겠습니다.

 

url include , 에러 기능 활성화

sudo su –
   ##루트 계정 권한 얻기
cd /etc/php
   ##디렉토리 변경
ls
   ##파일명 확인, 버전이 다를 수 있다
cd 8.2
   ##디렉토리 변경
ls
   ##파일명 확인
cd apache2
   ##디렉토리 변경
vim php.ini
   ##파일 편집

 

 해당 과정은 /etc/php/8.2/apache2/php.ini 파일을 수정하기 위해 루트권한을 얻고 vim 명령을 이용하여 파일 편집 모드를 실행시키는 것 입니다. 만약 vim 에디터가 사용하기 불편하다면 다른 에디터를 사용해도 무방합니다.

 

 에디터에서 다음 부분을 On으로 수정하고 저장합니다.

allow_url_include 
display_errors

display_startup_errors

 

그 후 apachectl restart를 터미널에 입력하고 DVWA 웹을 새로고침 하면

url_include과 에러 기능이 활성화 되는 것을 확인할 수 있습니다.

 

DVWA 업로드 디렉토리 권한 설정하기

 DVWA의 탭 중 파일 업로드를 연습하는 탭이 존재합니다. 이 탭이 정상적으로 작동하려면 파일을 업로드하는 디렉토리를 웹에서 컨트롤할 수 있도록 권한을 설정할 필요성이 있습니다. 다음을 터미널에 입력합니다.

sudo su –
   ##루트 계정 권한 얻기
ls -al /var/www/html/DVWA/hackable/uploads/
chown www-data /var/www/html/DVWA/hackable/uploads/
ls -al /var/www/html/DVWA/hackable/uploads/
chown /var/www/html/DVWA/config
ls -al /var/www/html/DVWA/config

 

캡차 설정

 취약한 캡차 탭을 사용하기 위해서는 php-gd 모듈을 설치하고 캡차 키를 발급받아 등록할 필요가 있습니다. 다음 과정을 따라합니다.

apt update
   ##apt 기능 업데이트
apt install php-gd
   ##php-gd 설치
apachectl restart
   ##아파치 재시작

 이러면 php-gd 모듈이 설치되고 php-gd가 미설치되어 있다는 메세지가 사라집니다. 이제 캡차 키를 발급받고 등록할 것 입니다. 이번 실습에서는 구글 캡챠를 사용하도록 하겠습니다. 구글 ReCAPTCHA 페이지에 접근 후, 간단히 폼을 작성하고 캡차 키를 얻어야 합니다.

 

https://www.google.com/recaptcha/about/

 

 구글 ReCAPTCHA 페이지입니다. 참고하시기 바랍니다.

 폼을 모두 작성하였다면 캡차키를 받으실 수 있습니다. 이때 설정으로 들어가 도메인을 등록해야 합니다. 이 과제에서는 로컬에 있는 DVWA 웹만을 사용할 것이기 떄문에 도메인에 localhost를 추가해야 합니다.

 

 이제 터미널을 실행하고 다음을 입력해주시기 바랍니다.

sudo su -
cd /var/www/html/DVWA/config
vim config.inc.php

 

 이는 캡차 키를 관리하는 php 파일을 수정하기 위합니다. 아까처럼 vim 에디터를 통하여 해당 파일을 열었습니다. 이제 캡차키를 저장하는 부분을 찾아 해당 부분에 구글에서 발급받은 캡차키를 입력하시고 저장하면 됩니다.

 찾기 기능으로 recaptcha_xx_key 부분을 검색한다면 쉽게 발견하실 수 있습니다. 캡차키를 입력하고 저장하시면 이제 캡차 기능이 정상적으로 작동하는 것을 확인할 수 있습니다.

 

 

댓글