홈페이지 취약점 분석 이야기 파일 지도 사진 깨알






>> 목록보이기
#Kali Linux #칼리리눅스 #Kali 2019.4 Light #가상머신 #VirtualBox #버추얼박스 #칼리리눅스 한글 설정 #공유폴더 #Shared Folder #한글입력기 #fcitx 입력기 #fcitx-hangul

Kali Linux Light 2019.4 64Bit 배포판 설치하기

Kali Linux 배포판은 크게 64비트와 32비트로 나눌 수 있다. 이제 대부분의 시스템이 64비트로 작동하므로 - 특별한 이유가 있는 경우를 제외하고는 - 64비트 배포판 설치를 권장한다. 특히 4GB 이상의 메모리를 사용해야 하는 경우에는 반드시 64Bit 배포판을 사용해야 한다. 사용자 환경(데스크톱 환경)은 XFCE가 기본이며, 이 외에도 KDE, Gnome, MATE, LXDE 등으로 이루어진 배포본도 있다. 기호에 따라 선택하면 되나 입문자는 "Kali Linux 64bit"나 "Kali Linux Light 64bit"를 선택하는 것이 좋을 듯 하다. 추천하는 두 배포본의 차이는 설치되는 도구의 차이로 Light에는 운영체제 기본정도만 설치되어 필요한 도구만을 선택해서 설치하면 되므로 가벼운 편이다. 가상환경에서 설치할 때는 Light 배포본이 적합하다.

kali-linux-2019.4-release
[ Kali Linux 2019.4 Light 설치: Grapical Install ]

Kali Linux 2019.4가 2019년 11월 26일에 공개되었다. 칼리리눅스는 Offensive Security사가 매분기마다 - 즉 1년에 네 번 - 새로운 배포판을 제공하고 있다. 이번 배포판부터는 어두운 테마(Dark Theme: Kali Dark)가 기본으로 채택되었고, 마이크로소프트 윈도우의 파워쉘(PowerShell)을 칼리에서 실행할 수 있다는 점 등이 특징적이다. 여기서는 Kali Linux 2019.4 Light 64bit 설치에 대해서 설명한다. 용도는 홈페이지 취약점 분석을 위한 것이다.

차례

  1. 기본 설치(Graphical Install) 과정
  2. 한글 글꼴 설치: apt install fonts-noto-cjk fonts-nanum-coding
  3. 운영체제 최신 상태 유지: apt update && apt dist-upgrade
  4. 홈페이지 취약점 점검도구 설치: nmap, nikto, zaproxy, hydra, sqlmap, ...
  5. 취약점 분석 보고서 작성을 위한 도구 설치: kde-spectacle, ristretto, imagemagick, kolourpaint, chromium
  6. 한국어 환경: fcitx-hangul 한글 입력기 설정
  7. 자주 여는 프로그램을 패널에 실행아이콘으로 추가하기
  8. 크로미움 브라우저를 root 권한으로 실행하기
  9. 화면해상도 조절 - 디스플레이(Display)
  10. 버추얼박스의 주 운영체제의 공유폴더 설정
  11. [덧붙임] vi 사용자를 위한 <Esc> 영어 전환 방법: fcitx.vim 설치
  12. [마무리] 간단한 경로탐색도구: vulpath.txt 실행해보기

ISO 부팅 및 설치

이 설명서에서 주 운영체제는 윈도우 10, 가상머신은 칼리리눅스 2019.4 Light 64bit, 가상화 소프트웨어는 버추얼박스(VirtualBox)이다. Kali Light의 설치용 ISO 파일kali-linux-2019.4-light-amd64.iso이며 크기는 1.2GB이다(비고: 2019.4 표준 설치파일인 kali-linux-2019.4-amd64.iso의 크기는 2.6GB임).

kali-light guest-os settings
[ Kali Linux 2019.4 Light 설치: 칼리리눅스 가상장비 설정]

버추얼박스(VirtualBox)에서 칼리 가상머신을 "새로 만들기"로 생성했다. 이 손님 운영체제의 주요 설정은 다음과 같다.

  • 손님 운영체제의 이름: Kali Light
  • 운영체제: Ubuntu 64-bit
  • 기본 메모리(RAM): 2048MB
  • 프로세서(CPU): 2코어
  • 광학 드라이브(CD-ROM): kali-linux-2019.4-light-amd64.iso
  • 저장소(SATA 하드디스크): 40GB (웹취약점분석 업무용으로는 60GB 권고)
  • 네트워크(Network): NAT 네트워크('NatNetwork')
    • NAT 네트워크는 버추얼박스의 "파일 -> 환경설정"에서 새로 생성해야 한다. 여기서는 기본으로 만드는 NatNetwork로 명명.

[참고] : VMWare와 VirtualBox를 동시에 설치한 경우의 도움말
버추얼박스의 손님 OS를 VMWare Player나 VMWare Fusion의 가상OS들과 네트워크로 연결하고자 할 떄는 버추얼박스 가상OS의 네트워크를 "어댑터에 브리지"와 그 값으로는 "vmnet8을 선택하면 VMware의 가상장비들과도 통신할 수 있다.

이제 "Kali Light" 가상OS를 켠다.

kali-light-graphical-install
[ Kali Linux 2019.4 Light 설치: Grapical Install 선택 ]

"Graphical Install"를 선택한다.

여기에서 설명하지 않는 과정은 모두 설치 프로그램이 기본으로 제시하는 것으로 그냥 "Continue"!!!

kali-light-language-korean
[ Kali Linux 2019.4 Light 설치: 언어선택 = Korean (한국어) ]

설치과정에서 사용할 언어를 선택한다. 한국어를 선택하여 진행한다.

여기에서 설명하지 않는 과정은 모두 설치 프로그램이 기본으로 제시하는 것으로 그냥 "Continue"!!!

kali-light-root-password-toor
[ Kali Linux 2019.4 Light 설치: root 비밀번호 입력 toor ]

사용자 암호는 자신이 기억하기 쉬운 것으로 두번 입력한다. 여기서는 "toor"^^

여기에서 설명하지 않는 과정은 모두 설치 프로그램이 기본으로 제시하는 것으로 그냥 "계속"!!!

kali-light-write-disk-yes
[ Kali Linux 2019.4 Light 설치: 디스크 파티션하기 "" ]

전통적인 리눅스에서는 물리적인 디스크를 IDE 방식은 /dev/hda, /dev/hdb, /dev/hdc, ..., SCSI 방식은 /dev/sda, /dev/sdb, /dev/sdc, ...와 같이 명명하여 접근할 수 있었다. 그런데, 최근에는 SATA 방식이 IDE와 SCSI 방식을 대체하게 되었고, NVME 방식의 SSD가 등장하게 됨으로써 변화가 생긴 듯 하다. 사무실의 개인 PC의 운영체제가 Ubuntu 18.04이고 512GB NVME SSD, 2TB SATA 디스크를 가지고 있는 데 각각 /dev/nvme0n1(파티션: nvme0n1p1(EFI 512MB), nvme0n1p2(Linux 445GB), nvme0n1p3(Swap 32GB)), /dev/sda(파티션: sda1(Linux 1.8TB))로 잡혀있다. 현재 sdas는 SCSI뿐만 아니라 SATA와 SAS(Serial Attached SCSI)도 포함하는 것이라고 한다.

디스크 파티션하기 단계에 도달하면 40GB로 잡은 /dev/sda 디스크가 대략 38GB의 ext4 파티션과 2GB의 스왑(Swap) 파티션으로 나뉘게 된다. ext4 파티션에는 칼리 리눅스가 설치되고 스왑 파티션은 운영 중에 메모리가 모자라는 상황이 발생하면 쓰는 여유 메모리 공간으로 사용하게 된다. "아니요"를 ""로 바꿔서 선택하고 "계속"!

여기에서 설명하지 않는 과정은 모두 설치 프로그램이 기본으로 제시하는 것으로 그냥 "계속"!!!

kali-light-installing
[ Kali Linux 2019.4 Light 설치: "시스템을 설치하는 중입니다..." ]

ISO 파일로 마운트한 광학디스크로부터 필요한 파일을 디스크(정확하게는 ext4 파티션)로 복사하는 과정이다. 매우 많은 파일을 복사해야 하므로 시간이 많이 걸리는 과정이다. 끈기를 가지자 ;-)

여기에서 설명하지 않는 과정은 모두 설치 프로그램이 기본으로 제시하는 것으로 그냥 "계속"!!!

kali-light-grub-to-dev-sda
[ Kali Linux 2019.4 Light 설치: 하드 디스크에 GRUB 부트로더 설치 - /dev/sda 선택 ]

"하드 디스크에 GRUB 부트로더 설치" 단계에 오면 "/dev/sda"를 선택한다. GRUB은 GRand Unified Bootloader의 약자로 리눅스 진영의 부트 로더이며 디스크의 첫부분(MBR)에 저장되고 부팅시 리눅스 커널을 불러오는 역할을 담당한다.

설치가 끝나면 자동으로 시스템이 재시작된다.

kali-light-root-toor-login
[ Kali Linux 2019.4 Light 설치: 부팅후 root/toor로 로긴 ]

시스템 재시작이 완료되면 위와 같이 첫 칸에 "root", 두번째 칸에 "toor"를 입력하여 로그인한다. [참고1] 위 그림의 주벅대치의 대가리를 닮은 용머리 그림 아래에 사각형(두부) 모양의 깨진 글자들이 보인다. 한글로 "취소"인데 한글 글꼴(폰트)이 설치되지 않아서 이런 현상이 나타난다. 아래에서와 같이 한글 글꼴을 설치하여 해결할 수 있다. [참고2] 두부모양 또는 사각형 모양은 해당 글자를 표현할 수 있는 글꼴(font)이 설치되어 있지 않아서 발생하는 현상이다. 구글에서는 이러한 두부 글자 없애기의 일환으로 전 세계 문자를 표현할 수 있는 구글 노토 글꼴(Google Noto Fonts)을 배포하고 있다. NoTo는 "NO more TOfu!"를 의미한다. Tofu는 두부(한국), 도우푸(중국), 도푸/도후(일본)의 일본식 발음으로 서양인들이 부르는 두부의 이름이다.

한글 글꼴 설치

로그인 후에 상단의 아이콘을 눌러서 터미널을 실행한다.

root@kali:~# fc-list :lang=ko
root@kali:~# 

fc-list :lang=ko 명령어로 한글 글꼴 목록을 출력해보면 아무런 목록이 나오지 않는다. 이 때문에 한글이 위치해야 할 곳은 모두 사각형 문자로 표현되고 있다.

kali-light-hangul-fonts
[ Kali Linux 2019.4 Light 설치: 한글글꼴 설치]

root@kali:~# apt -y install fonts-noto-cjk fonts-nanum-coding
root@kali:~# reboot

위와 같이 명령어를 실행하여 한중일용 Noto 글꼴과 네이버의 나눔고딕-코딩 글꼴을 설치한다. 나눔고딕-코딩 글꼴은 터미널과 같인 고정폭 글꼴을 출력할 때 주로 사용한다. 이 외에도 백묵글꼴(fonts-baekmuk; 1986년부터 공개용으로 배포된 역사깊은 글꼴), 은글꼴(fonts-unfonts-*), 나눔글꼴(fonts-nanum*), alee글꼴(fonts-alee), 렉시글꼴(fonts-lexi-*) 등이 있다.

root@kali:~# fc-list :lang=ko
/usr/share/fonts/opentype/noto/NotoSerifCJK-Bold.ttc: Noto Serif CJK SC:style=Bold
/usr/share/fonts/opentype/noto/NotoSerifCJK-Bold.ttc: Noto Serif CJK TC:style=Bold
/usr/share/fonts/opentype/noto/NotoSerifCJK-Bold.ttc: Noto Serif CJK JP:style=Bold
/usr/share/fonts/opentype/noto/NotoSerifCJK-Bold.ttc: Noto Serif CJK KR:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK JP:style=Regular
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK HK:style=Regular
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK KR:style=Regular
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK SC:style=Regular
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK TC:style=Regular
/usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc: Noto Serif CJK SC:style=Regular
/usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc: Noto Serif CJK TC:style=Regular
/usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc: Noto Serif CJK JP:style=Regular
/usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc: Noto Serif CJK KR:style=Regular
/usr/share/fonts/truetype/nanum/NanumGothicCoding.ttf: 나눔고딕코딩,NanumGothicCoding:style=Regular
/usr/share/fonts/truetype/nanum/NanumGothicCoding-Bold.ttf: 나눔고딕코딩,NanumGothicCoding:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK TC:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK SC:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK KR:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK HK:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK JP:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK SC:style=Regular
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK TC:style=Regular
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK HK:style=Regular
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK KR:style=Regular
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK JP:style=Regular
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans CJK JP:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans CJK KR:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans CJK HK:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans CJK TC:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans CJK SC:style=Bold
root@kali:~# 

이제 fc-list 명령어에서 칼리리눅스에 설치된 한글 글꼴을 다수 볼 수 있다. 터미널이나 시계 등 각종 한글 글꼴이 이제는 제대로 표현될 것이다.

운영체제 최신 상태 유지: 소프트웨어 업그레이드

Kali Linux의 배포판이 나오는 중간에도 각종 소프트웨어는 갱신이 이루어진다. 그 사이에 갱신된 부분을 반영하기 위해서 다음과 같은 명령어를 실행한다.

root@kali:~# apt update && apt -y dist-upgrade

kali-light-apt-update-dist-upgrade
[ Kali Linux 2019.4 Light 현행화: 운영체제를 최신상태로 ]

root@kali:~# reboot

소프트웨어 현행화가 마무리되면 시스템을 재시작한다. 리눅스의 각종 소프트웨어는 수시로 갱신이 이루어지기 떄문에 분기에 한번 또는 한달에 한번 꼴로 시스템을 최신상태로 맞춰주는 것이 좋다.

홈페이지 취약점 점검도구 설치

먼저 arp, ifconfig, netstat 등과 같은 도구를 포함하는 네트워크 꾸러미인 net-toolsnslookup, dig, host 등의 도구를 포함하는 dnsutils 꾸러미를 설치한다. ([참고] 리눅스 배포판에 따라서는 "dnsutils"라는 이름 대신 "bind-utils"를 사용하는 경우도 있다.)

root@kali:~# apt -y install net-tools dnsutils

가장 기본적인 웹취약점분석 도구들은 다음과 같다.

root@kali:~# apt -y install nmap nikto zaproxy burpsuite john johnny hydra sqlmap wpscan wireshark

kali-light-apt-install-pentest-tools
[ Kali Linux 2019.4 Light 설치: nmap nikto zaproxy burpsuite john johnny hydra sqlmap wpscan wireshark ]

다음은 홈페이지 취약점 점검 실무에서 자주 사용되는 도구들이다. 개인적으로 가장 많이 사용하는 도구들은 강조하였다.

  • nmap
    웹 서버 장비에서 접속할 수 있는 네트워크 포트를 스캔하는 데 사용
  • nikto
    웹 서비스의 기본 설정 및 취약한 경로 탐색에 사용
  • zaproxy (OWASP-ZAP)
    공개용 소프트웨어로 웹 프록시(Proxy) 및 웹취약점 스캐너 기능을 제공한다.
  • burpsuite
    상업용 소프트웨어로 웹 프록시(Proxy) 기능은 무료로 제공하나 웹취약점 스캐너 기능은 유료이다.
  • john, johnny
    비밀번호 복호화 도구인 john the ripper와 GUI(johnny).
  • hydra
    THC Hydra는 취약한 계정/비밀번호 점검을 위한 무작위대입(brute-force) 공격 도구이다.
  • sqlmap
    SQL 구문삽입 취약점 점검을 위한 도구로 OWASP-ZAP 등이 1차로 발견한 구문삽입 취약점을 2차로 점검하는 데 주로 사용한다.
  • wpscan
    공개용 홈페이지 CMS인 워드프레스(WordPress) 전용의 취약점 점검용 도구.
  • wireshark
    네트워크 통신을 직접 열람할 수 있는 도구

취약점 분석 보고서 작성을 위한 도구 설치

취약점 점검 과정에서 놓치지 않아야 할 점은 보고서를 위한 자료를 만들어야한다는 것이다. 취약점 증빙자료는 보통 URL(변조한 데이터 포함)과 그림으로 구성한다. 그림은 취약한 URL에 접근했을 때의 웹브라우저 갈무리(screenshot 또는 screen capture)를 이른다. 갈무리한 그림에는 빨간색 상자나 화살표 등으로 취약점을 강조하는 것이 편리하다.

kali-light-apt-install-graphic-tools
[ Kali Linux 2019.4 Light 설치: 그림 도구 등 설치 ]

root@kali:~# apt -y install kde-spectacle ristretto imagemagick kolourpaint chromium

위에서 설치한 보고서용 도구는 다음과 같다.

  • kde-spectacle
    화면 갈무리용. 다른 화면캡쳐 도구에 비해서 마우스로 클릭한 창 영역을 갈무리할 수 있어서 편리하다.
  • kolourpaint
    그림 그리기용. 갈무리한 이미지에 빨간 상자, 화살표 등을 그려 넣는 데 사용한다.
  • reistretto
    그림 보기용. 증빙용으로 만든 그림을 순서대로 화면에 열람할 때 사용한다. 주로 현장에서 취약점 점검 결과를 설명할 때 쓸 수 있다.
  • imagemagick
    이미지 처리용. 명령행(command line)에서 이미지 처리를 할 경우에 사용한다.
  • chromium
    정보 습득용. 파이어폭스(FireFox)는 점검에 사용하므로 검색엔진 등에서 다른 정보를 찾고자 할 때 사용할 제2의 웹 브라우저이다. 오페라(Opera)와 같은 다른 브라우저를 사용해도 된다.

한국어 환경: fcitx-hangul 한글 입력기 설정

리눅스에서 사용할 수 있는 한글입력기로는 fcitx-hangul, uim-byeoru(벼루), nabi(나비), nimf(님프) 등이 있다. 여기서는 fcitx로 한글을 입력하는 법을 설명한다. 벼루 입력기 설정 방법2019.3 Large 배포판 설치설명서를 참조할 수 있다.

kali-light-apt-install-fcitx-hangul
[ Kali Linux 2019.4 Light 설치: 한글입력기 설치 ]

root@kali:~# apt -y install fcitx fcitx-hangul im-config zenity

위와 같이 fcitx-hangulim-config(입력기 설정 프로그램)을 설치한다. zenityim-config 실행시 필요하다. 설치가 끝나면 터미널에서 im-config를 실행한다.

kali-light-im-config-fcitx-hangul
[ Kali Linux 2019.4 Light 설치: 입력기 설정 - fcitx ]

root@kali:~# im-config

입력기 설정(im-config)을 실행하여 기본 입력기를 fcitx로 선택한다. 저장 후에 입력기 설정 프로그램(fcitx-config-gtk3)을 실행하여 입력환경을 자신에게 맞게 변경한다.

kali-light-im-config-fcitx-hangul-shift-space
[ Kali Linux 2019.4 Light 설치: 입력시 설정 fcitx-configtool 한영전환 ]

root@kali:~# fcitx-config-gtk3

입력기 설정의 "전역설정"에서 입력기 전환 글쇠를 Crtl+space에서 Shift+space로 변경하였다. 자판 오른쪽 아래의 Hangul(한/영) 키를 눌러도 한영전환이 된다.

root@kali:~# reboot

한글입력 설정이 끝나면 운영체제를 다시 시작한다. 재시작 후에는 대부분의 입력창에서 Shift+spacehangul(한/영)로 한/영 전환이 된다.

상단 패널에 실행아이콘 추가하기

자주 사용하는 도구는 상단 패널에 실행아이콘으로 추가해 놓으면 편리하다. 개인적으로는 크로미움(Chromium), 불여우(FireFox), OWASP-ZAP(Zaproxy), 화면갈무리(KDE Spectacle) 도구 등을 바로가기 좋게 위치시킨다.

kali-light-panel-shortcut-owasp-zap
[ Kali Linux 2019.4 Light 설치: OWASP-ZAP을 패널에 추가 ]

위 그림은 OWASP-ZAP을 패널에 추가하는 모습이다.

  1. 패널 가장 왼쪽의 용그림 아이콘을 누른다.
  2. 프로그램 검색 창에서 zap을 입력한다.
  3. 검색결과로 나오는 owasp-zap 항목을 오른쪽 마우스 단추로 누른다.
  4. 위 과정에서 나오는 "패널에 추가"를 선택한다.

위 과정을 거치면 패널의 가장 오른쪽에 zaproxy의 아이콘이 생긴 것을 볼 수 있을 것이다.

크로미움 브라우저를 root 권한으로 실행하기

kali-light-panel-chromium-shortcut-edit
[ Kali Linux 2019.4 Light 설치: root 권한으로 크롬 실행 ]

칼리리눅스는 주로 root 권한으로 사용하게 된다. 그런데 크로미움 계열의 웹 브라우저는 root 권한으로 실행하는 것을 차단한다. 때문에 이를 우회하여 실행할 수 있는 방법이 필요한데, 가장 간단한 방법은 보안을 위해 마련된 샌드박스를 우회해 버리는 것이다.

  • 패널의 크로미움 실행아이콘에 오른쪽 마우스 단추를 누른다.
  • 속성을 누른다 -> 위 그림의 왼쪽 창이 뜬다.
  • 아래쪽 화살표 밑의 "항목편집" 아이콘을 누른다 -> 위 그림의 오른쪽 창이 뜬다.
  • 명령(A)의 내용을 /usr/bin/chromium --no-sandbox %U으로 수정한다.
  • 저장 단추를 누른다.

크로미움 개발자들은 일상적인 상황에서 --no-sandbox 상태로 크로미움 브라우저 실행을 적극 말리고 있다. 북미의 모래놀이터(Sandbox)는 어린이들이 안전하게 놀이를 즐기라고 만든 장소이다. 크로미움은 모래상자에서 미리 웹 페이지 열람을 진행하여 안전성을 판단하는 과정을 거친다. 그런데 --no-sandbox 상태는 이 모래상자를 제거하므로 보안상 불안정할 수 있다. 이런 상태의 크로미움은 검색엔진 사용 등과 같이 정보를 열람하는 정도로만 사용할 것을 권고한다.

화면해상도 조절 - 디스플레이(Display)

칼리리눅스의 해상도(resolution)롤 조정하기 위해서는 xfce4-settings-manager 명령어를 실행하여 디스플레이를 변경하면 된다.

root@kali:~# xfce4-settings-manager

kali-light-xfce4-settings-manager-display-1024x768
[ Kali Linux 2019.4 Light 설치: xfce4-settings-manager, 화면 설정 ]

화면 크기는 각자의 환경에 맞춰서 사용하면 된다. 전체 화면으로 늘려서 주OS와 동일하게 사용하는 것도 좋을 듯 하다.

OWASP-ZAP의 초기 실행 도움말

kali-light-final-zaproxy
[ Kali Linux 2019.4 Light 설치: OWASP-ZAP의 첫 실행 ]

실행아이콘 위를 오른쪽 마우스 단추를 눌러 이동을 선택하여 왼쪽으로 일부 아이콘을 이동시킨 패널의 상태를 볼 수 있다.

OWASP ZAP은 점검 대상 홈페이지를 읽어서 취약점을 분석하고 그 결과를 데이터베이스로 저장하기 때문에 제법 큰 저장소를 요구하게 된다. 이전 실습이나 점검 결과에 대해서 신경쓰지 않다 보면 디스크를 모두 소진하는 경우가 종종 발생한다. 때문에 OWASP ZAP을 실행할 떄는 분석결과를 미리 정리하고 OWASP ZAP이 저장한 데이터는 버리는 것을 권장한다. (위의 그림 참조)

버추얼박스의 주 운영체제의 공유폴더 설정

MS 윈도우 장비의 버추얼박스에서 손님OS와의 공유폴더 설정은 무척 쉬웠다. 다음 그림과 같이 설정하고 "확인"을 누르는 순간 칼리리눅스에 공유가 되었다!!!

kali-light-virtualbox-shared-folder
[ Kali Linux 2019.4 Light 설치: 버추얼박스 공유폴더 설정 ]

공유폴더 설정에 대해서 부연하면 다음과 같다.

  • 폴더 경로: 윈도우의 사용자 경로 전체를 지정
  • 폴더 이름: 윈도우의 사용자 이름과 동일하게 설정
  • 마운트 지점: Kali Linux의 /mnt/hgfs에 공유폴더를 마운트

kali-light-virtualbox-shared-folder-mnt-hgfs
[ Kali Linux 2019.4 Light 설치: 공유폴더 마운트 확인 ]

터미널에서 df 명령어를 실행해 보면 /mnt/hgfs 경로에 공유폴더가 마운트되어 있는 것을 확인할 수 있다.

kali-light-full-screen-1920x1200
[ Kali Linux 2019.4 Light 설치: 설치가 완료된 모습 ]

위 그림은 전체화면 상태로 갈무리한 1920x1200(16:10) 해상도의 칼리리눅스 손님 OS 화면이다.

[덧붙임] vi 사용자를 위한 <Esc> 영어 전환 방법: fcitx.vim 설치

유닉스 계열의 전통적인 편집기인 vi 또는 vim명령모드(command mode)와 입력모드(insert mode)의 두 가지 상태 값을 가진다. 입력모드에서 명령모드로의 전환은 <Esc>를 누르면 되고, 명령모드는 모두 영어로 이루어진다. 따라서 - 비영어권 사용자들에게 있더서 - <Esc>를 누르는 동시에 영어모드로 자동 변경이 되면 vi 편집기 사용이 좀더 편리해진다. 여기서 사용한 fcitx 입력기에는 그러한 기능이 없다. 다만 vi 확장 기능으로 제공되는 fcitx.vim을 설치하면 해당 OS의 vi에 한해서는 <Esc>와 동시에 영어모드로 진입이 가능하다. 설치 방법은 아래와 같다.

root@kali:~# wget https://www.vim.org/scripts/download_script.php?src_id=26499 -O fcitx.vim.tar.gz
--2019-12-02 16:19:32--  https://www.vim.org/scripts/download_script.php?src_id=26499
Resolving www.vim.org (www.vim.org)... 202.221.179.29
Connecting to www.vim.org (www.vim.org)|202.221.179.29|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3620 (3.5K) [application/octetstream]
Saving to: ‘fcitx.vim.tar.gz’

fcitx.vim.tar.gz       100%[==========================>]   3.54K  --.-KB/s    in 0s      

2019-12-02 16:19:33 (21.0 MB/s) - ‘fcitx.vim.tar.gz’ saved [3620/3620]

root@kali:~# mkdir .vim
root@kali:~# cd .vim/
root@kali:~/.vim# tar xzvf ../fcitx.vim.tar.gz 
README.md
plugin/
plugin/fcitx.py
plugin/fcitx.vim
so/
so/fcitx.vim
root@kali:~/.vim# 

벼루입력기와 나비입력기는 입력기 수준에서 <Esc> 입력에 의한 영어모드 진입을 지원한다. 입력기 수준에서 지원하면 SSH를 통해 다른 장비로 넘어가서 vi를 사용해도 동일한 효과를 볼 수 있어서 fcitx.vim 방식에 비해서는 훨씬 큰 장정이 있다.

마무리

root@kali:~# apt install php php-curl

PHP와 PHP용 CURL 라이브러리인 php-curl을 설치한다.

root@kali:~# wget https://webhack.dynu.net/solutions/vulpath.txt
--2019-12-08 00:42:19--  https://webhack.dynu.net/solutions/vulpath.txt
Resolving webhack.dynu.net (webhack.dynu.net)... 122.32.19.138
Connecting to webhack.dynu.net (webhack.dynu.net)|122.32.19.138|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15453 (15K) [text/plain]
Saving to: ‘vulpath.txt’

vulpath.txt              100%[==================================>]  15.09K  --.-KB/s    in 0.01s   

2019-12-08 00:42:20 (1.14 MB/s) - ‘vulpath.txt’ saved [15453/15453]

root@kali:~# php ~/vulpath.txt https://webhack.dynu.net
Vulnerable Path Finder ver. 20160811 / KU5N1J
Testing https://webhack.dynu.net for 515 locations
Server: Apache
............................................
[FOUND/200] https://webhack.dynu.net/index.php?module=admin
......................................................
[FOUND/200] https://webhack.dynu.net/xxx.php
.....
[done]
root@kali:~# 

webhack.dynu.net에서 PHP로 작성된 매우 간단한 경로탐색도구(vulpath.txt)를 내려받아 실행해보면 위와 같은 결과를 얻을 수 있다.

[처음 작성한 날: 2019.12.02]    [마지막으로 고친 날: 2019.12.09] 


< 이전 글 : VirtualBox 가상머신으로 GSM CE 6.0.2 설치 설명서 (OpenVAS) (2020.01.25)

> 다음 글 : Kali Linux 2019.3 64bit Large 배포판 설치 및 한글 설정 설명서 (2019.11.29)


크리에이티브 커먼즈 라이선스 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다.
잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다.
문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문
 __
/ 초과근무 시간 증가는 생상성 감소  \
| 기법이다. 스트레스를 받는 사람들은  |
| 머리가 빨리 돌아가지 않는 법이다.  |
|  |
\ – 톰 디마르코(Tom Demarco)  /
 --
          \
           \
            \          __---__
                    _-       /--______
               __--( /     \ )XXXXXXXXXXX\v.
             .-XXX(   O   O  )XXXXXXXXXXXXXXX-
            /XXX(       U     )        XXXXXXX\
          /XXXXX(              )--_  XXXXXXXXXXX\
         /XXXXX/ (      O     )   XXXXXX   \XXXXX\
         XXXXX/   /            XXXXXX   \__ \XXXXX
         XXXXXX__/          XXXXXX         \__---->
 ---___  XXX__/          XXXXXX      \__         /
   \-  --__/   ___/\  XXXXXX            /  ___--/=
    \-\    ___/    XXXXXX              '--- XXXXXX
       \-\/XXX\ XXXXXX                      /XXXXX
         \XXXXXXXXX   \                    /XXXXX/
          \XXXXXX      >                 _/XXXXX/
            \XXXXX--__/              __-- XXXX/
             -XXXXXXXX---------------  XXXXXX-
                \XXXXXXXXXXXXXXXXXXXXXXXXXX/
                  ""VXXXXXXXXXXXXXXXXXXV""
.. -- -- | - .. .... | ... / .. .../ ... {] . .. .. .. ..| ...... .../ .../ .. ...... ... ... ] .. [ .../ ..../ ......./ .. ./// ../ ... .. ... .. -- -- | - .. .... | ... / .. .../ ... {] . .. .. .. ..| ...... .../ .../ .. ./// ../ ... .. ... ...| ..../ ./ ... / ..| ....| ........ / ... / .... ...... ... ... ] .. [ .../ ..../ ......./ .....| ..../ ./ ... / ..| ....| ........ / ... / .... ...| ..../ ./ ... / ..| ....| ........ / ... / .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .