WSL

저는 Kali linux를 자주 사용합니다.

자주 사용하는 Pentest 패키지 구성이 잘되어있고 설치가 쉬워 편리합니다.

 

보통 윈도우 OS에 Hyper-V를 설치하여 Kali linux 이미지를 다운로드하여 VM으로 띄워서 사용했었는데

마이크로소프트 스토어에도 Kali Linux를 다운로드 하여 윈도우상에서 바로 사용할 수 있더군요.

 

다만 GUI환경은 사용하지 못하는데 WSL과 Kex를 이용하여 GUI로도 사용할 수 있게 되었습니다.

Kali Linux 창을 띄워서 사용할수도 있고, 윈도우 ui안에 Kali 자체를 띄울수도 있어 참 좋습니다.

 

 

1. WSL 설치


WSL활성화

Powershell을 관리자 권한으로 열고 아래와 같이 입력 후 완료되면 컴퓨터를 재시작합니다.

 

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

 

 

재시작 후 파워쉘창을 다시 열어 아래 두개의 명령을 실행합니다.

 

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /restart

 

컴퓨터가 재시작됩니다.

 

 

2. Kali Linux 설치 및 WSL 세팅


 

PC 재시작 후 파워쉘 창에서 아래 명령을 실행합니다.

 

wsl --set-default-version 2

 

그리고 아래 링크를 눌러 Linux 커널 업데이트 패키지를 다운로드하여 설치합니다.

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

 

다음 아래 명령어를 입력하여 칼리리눅스를 설치합니다. (Microsoft Store 에서 설치하셔도 됩니다.)

wsl --install -d Kali-Linux

 

혹시나 설치 후 실행 시 "WslRegisterDistribution failed with error: 0x80004005" 와 같은 에러가 발생하면 아래와 같이 wsl을 업데이트하여 주시면 됩니다.

wsl --update

 

 

이로써 WSL과 Kali Linux 설치가 완료되었습니다.

 

파워쉘 창을 열고 

wsl -l -v 를 입력하면 설치된 배포판 리스트를 볼 수 있습니다.

 

kali linux  실행은 아래와 같이 입력하면 되며 사용자명과 패스워드를 입력하라고 뜹니다. 

wsl -d kali-linux

 

 

 

그리고 아무런 설정 없이 wsl을 사용하다보면 윈도우에서 vmmem이 메모리를 다 잡아먹는 현상이 발생합니다.

wsl 가상머신에 리소스 제한을 걸어두면 좋습니다.

우선 가상머신을 모두 끕니다.

wsl -l -v #running 중인 가상머신을 확인 후

wsl --shutdown all #가상머신을 모두 끕니다

 

그리고 파워쉘이 떠있는 상태에서 아래 명령을 입력합니다.

notepad $env:USERPROFILE\.wslconfig

 

그러면 노트패드 창이 하나 뜨고 거기에 아래 내용을 입력 후 저장하시면 됩니다.

저는 memory=6G 로 설정했습니다.

[wsl2]
#kernel=<path>              # An absolute Windows path to a custom Linux kernel.
memory=6G              	    # How much memory to assign to the WSL2 VM.
#processors=<number>        # How many processors to assign to the WSL2 VM.
#swap=<size>                # How much swap space to add to the WSL2 VM. 0 for no swap file.
#swapFile=<path>            # An absolute Windows path to the swap vhd.
#localhostForwarding=<bool> # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true).

# <path> entries must be absolute Windows paths with escaped backslashes, for example C:\\Users\\Ben\\kernel
# <size> entries must be size followed by unit, for example 8GB or 512MB

 

 

wsl 가상머신을 다시 실행한 뒤 리소스를 체크해보면 6GB로 할당이 된걸 확인하실 수 있습니다.

htop 리소스 화면

 

 

 

3. Kex로 GUI 환경 구축


이 상태에서는 콘솔로만 사용할 수 있기 때문에 GUI환경이 필요할 경우 아래 절차대로 따라하시면 됩니다.

 

파워쉘 창에서 wsl로 설치한 kali-linux를 연결합니다.

wsl -d kali-linux
(연결을 끊을땐 exit)

 

 

wsl로 kali-linux를 연결한 상태에서 아래와 같이 입력합니다.

sudo apt update && sudo apt upgrade

 

우선 apt 업데이트와 업그레이드를 완료 한 후

sudo apt install kali-win-kex

kex를 설치합니다. 약 2GB가 설치되므로 시간이 약간 걸릴 수 있습니다.

 

 

 

설치가 완료되면 아래 명령을 통해 GUI창을 띄울 수 있습니다.

kex --win -s

이 명령은 Kali linux를 풀스크린으로 띄우는 명령입니다. F8 버튼을 눌러 풀스크린을 해제할 수 있습니다.

 

 

kex --sl -s

이 명령은 Seamless 모드로 Kali를 실행하는 명령입니다.

윈도우 UI상에 Kali UI가 상단에 같이 뜨며 윈도우와 칼리리눅스를 동시에 사용할 수 있습니다.

 

Seamless 모드

 

WSL에 올라간 Linux를 종료하려면 아래 명령을 사용하면 됩니다.

wsl --shutdown

 

이렇게 Kali Linux 설치를 완료 하였습니다.

근데 칼리리눅스를 사용하는 이유는 각종 취약점 분석 도구들을 사용하려고 하는거죠?

빈 OS만 설치되므로 추가 패키지를 설치하여 사용해야 합니다.

아래 포스팅에서 패키지 설치에 관련된 내용을 확인하실 수 있습니다.

https://goldb.tistory.com/2

 

[IT일반] Kali Linux 패키지 설치 방법

WSL로 Kali Linux를 설치하게되면 패키지가 없는 순수 OS만 설치됩니다. 패키지를 설치하는 방법은 두가지 방법이 있으며 Kali Linux가 정의한 메타패키지 세트를 설치하는 방법이 있고 사용할 패키지

goldb.tistory.com

 

 

이상 WSL로 Kali Linux를 사용하는 법에 대해 알아보았습니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기