[SK shieldus Rookies 16기][Kali Linux] 칼리 리눅스로 가상환경 구축 및 DVWA 설치

Jina·2023년 11월 8일
0

SK shieldus Rookies 16기

목록 보기
8/59
post-thumbnail
post-custom-banner

참조
🔗 https://github.com/digininja/DVWA
🔗 https://askubuntu.com/questions/223237/unable-to-correct-problems-you-have-held-broken-packages
🔗 https://www.golinuxcloud.com/install-dvwa-kali-linux/

칼리 리눅스?

보안 및 침투 테스트에 사용되는 데비안 계열의 리눅스 배포판으로 많은 툴과 메뉴얼이 존재하는데 법적인 목적으로 사용해야 하며 불법적으로 사용해서는 안 된다.


칼리 리눅스 설치 및 실행

1. Virtual Box 설치

2. 칼리 리눅스 설치

  1. 본인이 사용할 가상머신에 따라 이미지를 다운로드
    (+) 약 4시간 정도 걸리기 때문에 미리 다운받아 놓는 것을 추천

다운로드가 완료되면 압축해제

3. Virtual Box - 가상 머신 만들기

  1. Oracle VM VirtualBox 실행
  2. 새로 만들기 클릭
  3. 가상머신 만들기

4. 칼리 리눅스 실행

  1. 생성한 Kali Linux 가상머신 선택→ 시작 클릭
  2. 초기 아이디 : kali / 초기 비밀번호 : kali


칼리 리눅스 한국어 설정

🔗 한글 깨짐 해결방법
🔗 한글 입력기 추가하는 방법


리눅스 기본 명령어

터미널 실행
단축키 Ctrl+Alt+T 또는 상단에 터미널 아이콘 선택

# 현재 경로 확인
$ pwd

# ip 확인
$ ifconfig

# ping 확인
$ ping ip주소

# 설치된 패키지 확인
$ dpkg --get-selections

DVWA 설치

1. apache 서버 설치

# 패키지를 다운로드 받기 전 항상 해주는 것이 좋다.
# 설치 가능한 리스트를 업데이트 하기 위함
sudo apt update

# apache2 설치
sudo apt install apache2

# 서버 시작
sudo service apache2 start

# 서버 중단
sudo service apache2 stop

# 서버 재시작
sudo service apache2 restart

# OS 시작 시 자동 시작
sudo systemctl enable apache2

# OS 시작 시 자동 시작
sudo systemctl disable apache2

2. mariadb-server 설치

# 패키지 상태 확인
$ sudo service 패키지명 status

# 패키지 상태 변경(시작|정지)
$ sudo service 패키지명 start | stop

3. DVWA 설정

# DVWA 레포지터리 복제
$ sudo git clone https://github.com/digininja/DVWA

# 복제된 레포지터리 폴더명 DVWA → dvwa 변경
$ sudo mv DVWA dvwa 

# config.inc.php.dist 파일 복제
$ sudo cp config.inc.php.dist config.inc.php

# nano로 실행
$ sudo nano config.inc.php
  ...
  $_DVWA = array();
  $_DVWA[ 'db_server' ]   = '127.0.0.1';
  $_DVWA[ 'db_database' ] = 'dvwa';
  $_DVWA[ 'db_user' ]     = 'dvwa';
  $_DVWA[ 'db_password' ] = 'p@ssw0rd';
  $_DVWA[ 'db_port'] = '3306';
  ...

4. DB에 사용자 생성 및 권한부여

DB서버 설치

$ sudo apt install mariadb-server

mysql 접속

# mysql 관리자로 접속
$ sudo mysql -u root -p

# 특정 유저로 mysql 접속
$ sudo mysql -u 유저명 -p비밀번호

mysql 사용자 및 테이블 생성

# DB생성
MariaDB [(none)]> create database dvwa;
Query OK, 1 row affected (0.000 sec)

# 이름이 'dvwa' 비밀번호가 'pass'인 사용자 만들기
MariaDB [(none)]> create user 'user'@'127.0.0.1' identified by 'pass';

# 'user'라는 사용자에게 테이블 'dvwa'에 대한 모든 권한을 부여
MariaDB [(none)]> grant all privileges on dvwa.* to 'user'@'127.0.0.1' identified by 'pass';
Query OK, 0 rows affected (0.005 sec)

#  MySql의 캐시를 지우고 새로운 설정을 적용하기 위해서 사용되는 명령어
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)

# 사용자 조회
MariaDB [(none)]> SELECT user, host FROM mysql.user WHERE user='user' AND host='127.0.0.1';
+------+-----------+
| User | Host      |
+------+-----------+
| user | 127.0.0.1 |
+------+-----------+
1 row in set (0.031 sec)

# 사용자 권한 조회
MariaDB [(none)]> show grants for 'user'@'127.0.0.1';
+-------------------------------------------------------------------------------------------------------------+
| Grants for user@127.0.0.1                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `user`@`127.0.0.1` IDENTIFIED BY PASSWORD '*196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7' |
| GRANT ALL PRIVILEGES ON `dvwa`.* TO `user`@`127.0.0.1`                                                      |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.002 sec)

5. PHP 설치

기존에 php로 만들어진 웹은 php 7.x 버전으로 구축되었기 때문에 php7.4 버전을 설치하고자 했으나 아래와 같이 패키지 의존성 문제가 있다는 에러 메세지가 발생된다.

내 경우 이 패키지 의존성 문제를 해결하지 못해 8.2버전으로 설치했다.

# php 최신버전 설치
$ sudo apt install php

# php 8.2버전 설치
$ sudo apt install php8.2

6. DVWA 로그인

# 서버 시작
$ sudo service apache2 start

http://127.0.0.1/dvwa/

username : dvwa
password : p@sswOrd

7. DVWA 보안 레벨 변경

profile
공부 기록
post-custom-banner

0개의 댓글