#Kali Linux
#칼리리눅스
#Kali 2019.3 Large
#가상머신
#VMware Fusion
#칼리리눅스 한글 설정
#칼리리눅스 공유폴더 마운트
#Kali shared folders howto
#공유폴더
#Shared Folder
#한글입력기
#벼루 입력기
Kali Linux 2019.3 Large 특별배포판 설치하기

2019년 9월에 공개된
칼리리눅스 2019.3 배포판은
kali-linux-large-2019.3-amd64.iso 라는 특별판을 포함하고 있다.
이 특별판은 2019.3 배포판에만 포함된 것으로 표준판에 비해서 보다 많은 모의침투 도구들을 포함하고 있다고 한다.
이 문서에서는 2019.3 Large 특별배포본의 설치 과정에 대해서 설명한다.
여기서 사용한 주 운영체제는 MacOS이며 가상머신 소프트웨어는 유료인 VMware Fusion 이다.
무료로는 MS 윈도우, Linux, MacOS 운영체제 모두를 지원하는 공개용 가상머신 소프트웨어인
버추얼박스(VirtualBox) 를 추천한다.
차례
기본 설치
손님 운영체제는 생성시에 Linux -> Ubuntu 64bit 를 선택하고 이름은 "Kali Large "로 설정하였다.
가상머신의 CPU는 2코어, 메모리(RAM)는 2,048MB(2GB) , 하드디스크는 40GB 를 할당하였다.
(칼리 손님 OS를 취약점 점검 실무용으로 사용할 예정이라면 메모리 용량은 4096MB(4GB) 이상,
하드디스크 용량은 60GB 이상으로 설정할 것을 추천한다.)
CD-ROM에는 kali-linux-large-2019.3-amd64.iso 파일을 지정하였다.
 [ ↑ Kali Linux 2019.3 Large 설치: Grapical Install ]
손님 OS를 켠다. Graphical Install 을 선택하여 설치를 진행한다.
설치진행 과정에서 기본으로 지정되는 부분을 건드리지 않고 "Continue "를 클릭하여 진행한다.
다만 칼리의 기본 제시와 다른 부분이나 입력이 필요한 부분은 그림으로 설명한다.
[ ↑ Kali Linux 2019.3 Large 설치: 지역 선택 - 대한민국 ]
Select your location (지역 선택)이 나타나면 "other "
->
"Asia "
->
"Korea, Republic of "를 선택한다.
참고로 "Republic of Korea"는 남한(대한민국), "Democratic People's Republic of Korea"는 북한(조선민주주의인민공화국)이다.
[ ↑ Kali Linux 2019.3 Large 설치: 자판 선택 - 한글 ]
Configure the keyboard (자판 설정)에서는 "Korean "(한글)을 선택한다.
[ ↑ Kali Linux 2019.3 Large 설치: root 비밀번호 설정 ]
위와 같이 root 계정의 비밀번호는 알아보기 쉽게 "toor "로 지정하여 두번 입력한다.
(설명의 편의상 root 를 거꾸로 읽은 것을 비번으로 선택함)
[ ↑ Kali Linux 2019.3 Large 설치: 디스크 설정을 쓰기 ]
Partion disks 단계에 오면 "Write changes to the disk? "라고 묻는다.
No 대신 "Yes "를 선택하고 "Continue "로 진행한다.
참고: 이 단계에서 40GB 짜리 하드디스크를 각각 38GB 의 ext4 파티션과
swap 으로 사용할 2GB 파티션으로 분할한다. Swap 파티션은 물리적인 메모리가 모자라면
이 파티션을 메모리처럼 사용하게 되며 일반적으로 물리적 메모리 크기와 같게 설정한다.
[ ↑ Kali Linux 2019.3 Large 설치: GRUB 부트로더 설치 ]
Install the GRUB boot loader on a hard disk 단계에 오면 "/dev/sda "를 선택한다.
GRUB은 GRand Unified Bootloader 의 약자로 리눅스 진영의 부트 로더이며 디스크의 첫부분(MBR)에 저장된다.
리눅스 커널을 불러오는 역할을 담당한다.
소프트웨어 업그레이드
배포용 ISO 파일이 만들어진 후에도 소트프웨어는 계속 발전과 개선이 이루어지므로 최신 버전으로 업데이트하는 것이 좋다.
칼리와 같은 데비안 계열의 리눅스는 apt 명령어로 손쉽게 업데이트가 가능하다.
[ ↑ Kali Linux 2019.3 Large 설치: 최신판으로 업그레이드 ]
왼쪽 즐겨찾기에서 세번 째 아이콘을 눌러서 터미널을 실행한다. 터미널에서 다음 명령어를 실행한다.
root@kali:~# apt update && apt dis-upgrade -y
무언가 묻는 것이 나오면 [Enter]를 계속 눌러서 소프트웨어 업데이트를 진행하면 된다.
업그레이드가 완료되면 시스템을 다시 시작한다.
root@kali:~# reboot
한국어 환경: 한글 글꼴 설치, 지역 및 언어 (Rigeon & Language) 설정
재부팅이 끝나면 root 로 로그인하고 터미널을 열어서 한글 글꼴을 설치한다.
여기서는 구글이 한중일 3국을 위해 무료로 제공하는 Noto CJK 글꼴과
네이버가 제공하는 고정폭 글꼴인 나눔고딕 코딩 글꼴을 선택하였다.
Noto는 글꼴이 없을 경우에 두부와 비슷한 사각형 문자를 출력하는 오류를 없애겠다는 구글의 의지(NO more TOfu)를 표현한다.
root@kali:~# apt -y install fonts-noto-cjk fonts-nanum-coding
글꼴 설치가 끝나면 제어판(gnome-control-center) 을 실행한다.
root@kali:~# gnome-control-center
[ ↑ Kali Linux 2019.3 Large 설치: Settings -> Rigeon & Language ]
제어판의 Rigoen & Language 항목으로 들어간다.
Language (언어)는 "Korean "(한국어),
Formats (형식)는 "Korea, Republic of "(한국식)으로 선택한다.
이제 Langauage 아래 새로 생긴 "Restart " 단추를 누르거나
터미널에서 reboot 명령어를 입력하여 시스템을 다시 시작한다.
한국어 설정: 한글 입력기 벼루 설치
리눅스에서 사용할 수 있는 한글 입력기는
fcitx , nimf (님프), nabi (나비), byeoru (벼루)의 4종이 있다.
여기서는 벼루를 선택하였다. (참고: 나비와 벼루 입력기에는 <Esc> 키를 누르면 한글 모드에서 영어 모드로
변경되는 기능이 있어서 vim(vi) 사용자에게는 좋은 선택이다.)
root@kali:~# apt -y install uim uim-byeoru im-config zenity
위 명령어 실행이 완료되면 im-config 명령을 실행한다.
root@kali:~# im-config
[ ↑ Kali Linux 2019.3 Large 설치: im-config -> uim ]
입력방법(Input Method)을 uim 으로 선택하고 im-config 프로그램을 종료한다.
이제 uim-pref-gtk 명령을 실행하여 UIM의 입력 방법을 조정한다.
root@kali:~# uim-pref-gtk
[ ↑ Kali Linux 2019.3 Large 설치: 기본 입력기 벼루 선택]
Global settings 에서 Specify deafult IM (기본 입력기)를 활성화시키고
그 값은 "Direct "에서 "Byeoru "(벼루 입력기)로 변경한다.
[ ↑ Kali Linux 2019.3 Large 설치: Global key bindings 1 수정 ]
Global key bindings 1 항목을 선택하고 첫번째와 두번째 줄의
"zenkaku-hankaku", "<Shift>space" 를 제거한다.
벼루의 기본 한영전환키가 <Shift>space 이기 때문에 중복에 의한 오작동을 피하기 위함이다.
[OK] 단추를 눌러서 프로그램을 종료한다.
벼루 입력기가 작동하기 위해서는 시스탬 재시작이 필요하다.
root@kali:~# reboot
[ ↑ Kali Linux 2019.3 Large 설치: 터미널에서 한글입력 ]
시스템 재시작 후에는 위와 같이 <Shift>space 로 한글 입력모드로 전환하여 한글을 입력할 수 있다.
화면 오른쪽 아래에 벼루 입력기의 상태창이 외딴섬처럼 떠 있다.
로케일(Locale)을 한국어로 바꾼 후에 상태창 없애는 방법을 설명한다.
OWASP-ZAP 실행시 "도움말" 하나.
root@kali:~# owasp-zap
[ ↑ Kali Linux 2019.3 Large 설치: zaproxy 실행 ]
ZAP 세션 처리에 대한 물음에 No, I do not want to persist this session at this moment in time 을 선택하고
Remember my choice and do not ask me again 을 설정하면 OWASP-ZAP에서 사용한 데이타를 저장하지 않는다.
이 부분을 설정하지 않으면 OWASP-ZAP이 많은 데이타를 저장하기 때문에 디스크가 꽉 차는 현상이 종종 발생한다.
OWASP-ZAP을 실행했는 데 오른쪽 아래의 벼루 상태창이 계속 눈에 거슬린다.
한국어 환경 설정: 로케일(Locale)을 한글로 변경
위 그림에서 보듯이 메뉴들이 Activities , Applications ,
Places 등과 같이 영어로 나온다.
프로그램의 메뉴들도 모두 영어로 나온다.
이를 한글로 바꾸고 싶을 경우에는 로케일(Locale)의 언어를 한국어로 변경하면 된다.
LANGUAGE 환경변수는 메뉴나 오류 메시지 등에 출력할 언어의 순서를 의미하는 것 같다.
반면 LANG 변수는 문자의 인코딩을 의미하는 것으로 보인다.
다음과 같이 vi 와 같은 편집기를 이용하여 /etc/default/locale 파일을 수정한다.
수정 후에는 운영체제 재시작이 필요하다.
root@kali:~# vi /etc/default/locale
[여기서 LANGUAGE=en_US:en을 LANGUAGE=ko_KR:ko로 변경]
<Esc>
<Shift>zz
root@kali:~# cat /etc/default/locale
LANG=ko_KR.UTF-8
LANGUAGE=ko_KR:ko
root@kali:~# reboot
한국어 환경 설정: 벼루 입력기의 툴바 숨기기
위에서 보았듯이 벼루 툴바(상태창)이 항상 화면의 한 곳에 떠 있다.
그냥 사용해도 되지만 눈에 거슬린다면 UIM 설정도구(uim-pref-gtk )에서 툴바를 숨길 수 있다.
root@kali:~# uim-pref-gtk
[ ↑ Kali Linux 2019.3 Large 설치: UIM 상태창 숨김]
툴바 항목의 Display behavior 를 "Always "에서
"Never "로 변경하고 저장한다.
적용 단추를 누르거나
시스템 재시작 후에는 벼루 상태창이 나타나지 않지만 여전히 <Shift>space 로 한영 전환이 가능하다.
(다른 글쇠를 한영전환으로 사용하고 싶다면 벼루 키 설정 1 의
[벼루]한글모드로 와 [벼루]영문모드로 에 원하는 글쇠를 추가하거나 변경할 수 있다.)
root@kali:~# reboot
작업 환경 설정: 왼쪽의 즐겨찾기 보완하기
자주 사용하는 프로그램의 아이콘을 왼쪽의 즐겨찾기에 넣어놓으면 웹취약점 점검을 진행할 때 편리하다.
가장 많이 사용하는 도구는 역시나 OWASP-ZAP 또는 burp suite 와 같은 프록시 도구와
파이어폭스(firefox) 웹브라우저이다.
파이어폭스와 버프스위트는 이미 즐겨찾기에 위치해있다.
OWASP-ZAP을 즐겨찾기에 추가해 보자.
[ ↑ Kali Linux 64bit 2019.3 Large 설치: zaproxy를 즐겨찾기에 추가 ]
현재 활동 을 눌러서 "zap " 또는 "zaproxy "를 검색한다.
결과에 뜨는 아이콘에 마우스의 오른쪽 딴추를 클릭하면 "즐겨찾기에 추가 "를 선택한다.
[ ↑ Kali Linux 64bit 2019.3 Large 설치: 즐겨찾기의 OWASP-ZAP ]
그 결과, 왼쪽의 즐겨찾기 아래 쪽에 owasp zap 이 추가된 것을 볼 수 있다.
순서를 바꾸고 싶으면 마우스의 왼쪽 단추를 누른 상태에서 아래위로 옮기면 된다.
작업 환경 설정: 추가 작업
크로미움 웹브라우저 chromium , 화면갈무리 도구 kde-spectacle , 그림그리기 도구
kolourpaint , PHP의 curl 라이브러리 php-curl 등을 추가로 설치한다.
- 크로미움(
chromium )은 점검 이외의 목적으로 웹을 열람하기에 편리하다. (대안: 오페라)
kde-spectacle 은 보고서에 넣을 화면을 갈무리할 용도로 사용한다. (대안: kazam , gnome-screeenshot , xfce4-screenshot 등 다수)
kolourpaint 는 갈무리한 그림에 화살표, 네모 상자, 글자 등의 도움이 되는 추가작업에 필요하다.(대안: gimp , inkscape , mypaint , gpaint 등 다수)
php, php-curl 은 PHP로 웹 취약점 점검을 위한 간단한 프로그래밍을 할 때 필요하다.
root@kali:~# apt -y install chromium kde-spectacle kolourpaint php php-curl
설정 ->장치 -> 디스플레이 -> 해상도 를 적절하게 조절한다.
또는 손님 OS를 전체화면(Full Screen) 모드로 전환하여 사용할 수도 있을 것이다.
여기서는 1440x900 으로 바꿨다.
기본적으로 root 는 chromium 을 직접 실행할 수 없다.
이 문제 해결을 위해 관련 파일을 수정하자.
root@kali:~# vi /usr/share/applications/chromium.desktop
[Exec=/usr/bin/chromium %U] -> [Exec=/usr/bin/chromium --no-sandbox %U]
<Esc>
:wq[Enter]
root@kali:~#
[ ↑ Kali Linux 64bit 2019.3 Large 설치: 설치를 완료한 모습 ]
거의 완성된 모습의 칼리리눅스 2019.3 Large 배포판의 모습이다.
ls 명령어를 좀 더 보기 편하게 하기 위해서는 alias에 -FCs 를 추가한다.
root@kali:~# vi ~/.bashrc
alias ls='ls -FCs --color=auto'
<Esc>
:wq[Enter]
root@kali:~# reboot
작업 환경 구성: 주 운영체제의 공유폴더 접근
손님 운영체제는 주인 OS와 ssh 나 scp 를 이용하여 파일을 주고 받을 수도 있지만
주인 OS가 제공하는 공유폴더(shared folders)를 이용하면 보다 편리하다.
과정은 다음과 같다.
- 먼저 주인 운영체제의 가상머신 소프웨어에서 칼리리눅스와 공유할 디렉토리를 공유폴더로 설정한다.
- Kali Linux에
/mnt/hgfs 디렉토리를 생성하고, /etc/fstab 파일을 수정한다(아래 참조).
- 칼리에서
mount /mnt/hgfs 명령어로 공유폴더를 칼리 운영체제에 마운트(mount)할 수 있다.
root@kali:~# mkdir /mnt/hgfs
root@kali:~# cat /etc/fstab
# /etc/fstab: static file system information.
# ...생략...
UUID=5323513b-39ec-4a76-b4c7-485682c96fd3 / ext4 errors=remount-ro 0 1
UUID=837ebfeb-861d-42a0-aad9-ed9094b9ac2b none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
.host:/ /mnt/hgfs fuse.vmhgfs-fuse noauto,allow_other 0 0
root@kali:~# mount /mnt/hgfs/
root@kali:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 970888 0 970888 0% /dev
tmpfs 201088 6528 194560 4% /run
/dev/sda1 38958432 12453072 24496684 34% /
tmpfs 1005440 0 1005440 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 1005440 0 1005440 0% /sys/fs/cgroup
tmpfs 201088 12 201076 1% /run/user/133
tmpfs 201088 24 201064 1% /run/user/0
vmhgfs-fuse 976797816 763214664 213583152 79% /mnt/hgfs
root@kali:~#
이제 /mnt/hgfs 에서 주운영체제가 제공하는 공유폴더를 접근할 수 있다.
부팅할 때마다 매번 mount /mnt/hgfs 명령을 실행하기 귀찮을 경우에는
crontab 에 추가하여 시스템이 시작할 때마다 자동으로 공유폴더를 마운트시킬 수 있다.
root@kali:~# crontab -e
G
o
@reboot mount /mnt/hgfs
<Esc>ZZ
root@kali:~# crontab -l
# Edit this file to introduce tasks to be run by cron.
# ...생략...
@reboot mount /mnt/hgfs
root@kali:~# reboot
crontab -e 명령에서 마지막에 @reboot mount /mnt/hgfs 한 줄을 추가하면 된다.
이제는 칼리리눅스가 부팅될 때마다 공유폴더를 자동으로 마운트시켜준다.
[ ↑ Kali Linux 64bit 2019.3 Large 설치: 홈페이지 취약점 점검 예시 ]
드디어 설치와 작업환경 구성이 끝났다.
설치가 완료되면 위와 같이 nikto , owasp-zap 등을 이용하여 홈페이지 취약점 점검을 시험해 볼 수 있다.
[처음 작성한 날: 2019.11.29]
[마지막으로 고친 날: 2019.12.05]
< 이전 글 : Kali Linux 2019.4 64bit Light 배포판 설치 설명서 (권장) (2019.12.02)
> 다음 글 : [과제] WH-MissAuth-1 웹해킹훈련장: 접속자 권한인증 후 출력 제어 취약점 (2018.06.19)
이 저작물은 크리에이티브
커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다.
잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다.
|