홈페이지 취약점 분석 이야기 | 파일 지도 사진 깨알 |
---|
>> 목록보이기 Kali Linux 2020.1b 설치 설명서: 윈도우 10 주인OS + VMWare Workstion Player요약
MS사의 Windows 10 운영체제에서 VMWare Workstion Player를 이용하여 가상머신으로
Kali Linux 2020.1b 손님OS 설치하는 방법을 설명한다.
버추얼박스(VirtualBox)의 가상OS로 칼리리눅스를 설치방법은 이전 버전인
Kali Linux Light 2019.4 64Bit 배포판 설치하기 문서를 참조하기 바란다.
칼리 2019.4까지는 기본으로 미리 준비할 것들
Kali 가상머신 생성
VMWare Workstation 15 Player를 실행하고 "
Kali 2020.1b 가상머신 설치
Kali Linux 2020.1b 한글입력 설정 - 글꼴 및 나비입력기 설치설치가 끝나고 처음으로 부팅하면 다음과 같이 로그인 화면이 뜬다. 용머리 아랫부분, 우측 상단의 날짜 부분 등에서 글자까 깨지는 것을 볼 수 있다. 설치 시에 한국어 환경으로 설정했지만 이에 필요한 한글 글꼴이 설치되지 않았기 때문이다. Kali 개발자들이 한국어, 중국어 글꼴은 알파벳에 비해 용량이 매우 크기 때문에 기본 설치에서 제외시킨 것으로 보인다.
부팅이 되었으면 kali@kali:~$ sudo apt install fonts-noto-cjk fonts-naver-d2coding
글꼴 설치가 끝나면 시스템을 재시작한다. kali@kali:~$ sudo reboot 재시작 후에는 한글이 제대로 출력되는 것을 볼 수 있을 것이다.
한글입력기를 설치하기 전에 기본 터미널을 교체하는 것이 좋다.
Kali 2020.1b의 기본 터미널은 kali@kali:~$ sudo apt install xfce4-terminal
Xfce4 터미널 설치가 끝나면 Xfce4의 기본 프로그램을 변경한다.
터미널에서 kali@kali:~$ exo-preferred-applications
기본프로그램(
이제 한국어 입력 환경을 갖춰보자.
한글 입력기로는 kali@kali:~$ sudo apt install nabi im-config zenity
설치가 끝나면 kali@kali:~$ im-config -c
입력기 설정이 끝나면 시스템을 재시작한다. kali@kali:~$ sudo reboot
한글입력기를 나비(Nabi)로 설정하고 시스템을 재시작하면 터미널이나
웹브라우 등에서 주인운영체제의 저장공간을 공유폴더(Shared Folder)로 접근하기
VMware Player에서
위의 그림에서는 사용자 경로( kali@kali:~$ sudo vi /etc/fstab [sudo] kali의 암호: **** kali@kali:~$ cat /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda1 during installation UUID=1eb7a90e-fadc-4036-a6d3-00a58bbe4f1c / ext4 errors=remount-ro 0 1 # swap was on /dev/sda5 during installation UUID=1f12b066-e6bc-4656-b376-a650cf41f35f 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 kali@kali:~$ sudo mount /mnt/hgfs/ kali@kali:~$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 976028 0 976028 0% /dev tmpfs 201188 1144 200044 1% /run /dev/sda1 18447056 11772632 5714324 68% / tmpfs 1005920 0 1005920 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 1005920 0 1005920 0% /sys/fs/cgroup tmpfs 201184 8 201176 1% /run/user/1000 vmhgfs-fuse 62350332 57522604 4827728 93% /mnt/hgfs kali@kali:~$
이제 부터는 kali@kali:~$ sudo crontab -u root -e [sudo] kali의 암호: **** kali@kali:~$ sudo crontab -u root -l @reboot mount /mnt/hgfs kali@kali:~$
부팅때마다 마운트 명령어를 실행하는 것이 고역일 수 있으므로 위와 같이
kali@kali:~$ sudo reboot 실행아이콘 만들기, 해상도 조절, OWASP-ZAP 실행 등과 같은 세세한 설정은 Kali Linux 2019.4 64bit Light 배포판 설치 설명서를 참조하기 바란다. Kali 2020.1b 설치 마무리 및 홈페이지 취약점 점검 맛보기
간단한 취약점 점검 도구 및 Kali에 설치된 도구를 이용하여 1. Nmap - 네트워크 포트 스캔kali@kali:~$ sudo nmap -v webhack.dynu.net -oN webhack.dynu.net-nmap-out.txt [sudo] kali의 암호: **** Starting Nmap 7.80 ( https://nmap.org ) at 2020-03-27 15:27 KST Initiating Ping Scan at 15:27 Scanning webhack.dynu.net (122.32.19.138) [4 ports] Completed Ping Scan at 15:27, 0.01s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 15:27 Completed Parallel DNS resolution of 1 host. at 15:27, 0.02s elapsed Initiating SYN Stealth Scan at 15:27 Scanning webhack.dynu.net (122.32.19.138) [1000 ports] Discovered open port 8080/tcp on 122.32.19.138 Discovered open port 443/tcp on 122.32.19.138 Discovered open port 80/tcp on 122.32.19.138 Discovered open port 9091/tcp on 122.32.19.138 Increasing send delay for 122.32.19.138 from 0 to 5 due to 11 out of 16 dropped probes since last increase. Increasing send delay for 122.32.19.138 from 5 to 10 due to 11 out of 11 dropped probes since last increase. Completed SYN Stealth Scan at 15:28, 48.62s elapsed (1000 total ports) Nmap scan report for webhack.dynu.net (122.32.19.138) Host is up (0.0048s latency). Not shown: 996 filtered ports PORT STATE SERVICE 80/tcp open http 443/tcp open https 8080/tcp open http-proxy 9091/tcp open xmltec-xmlmail Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 48.88 seconds Raw packets sent: 2035 (89.376KB) | Rcvd: 1145 (45.816KB) kali@kali:~$
Nmap은 2. Nikto - 특정 웹서비스에 대한 설정 점검kali@kali:~$ nikto -ssl -port 443 -host webhack.dynu.net -o webhack.dynu.net-nikto-443-out.txt - Nikto v2.1.6 --------------------------------------------------------------------------- + Target IP: 122.32.19.138 + Target Hostname: webhack.dynu.net + Target Port: 443 --------------------------------------------------------------------------- + SSL Info: Subject: /CN=webhack.dynu.net Ciphers: ECDHE-RSA-AES128-GCM-SHA256 Issuer: /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 + Start Time: 2020-03-27 15:51:53 (GMT9) --------------------------------------------------------------------------- + Server: Apache + Cookie NormalCookie created without the secure flag + Cookie HttpOnlyCookie created without the secure flag + The site uses SSL and the Strict-Transport-Security HTTP header is not defined. + The site uses SSL and Expect-CT header is not present. + No CGI Directories found (use '-C all' to force check all possible dirs) + "robots.txt" contains 1 entry which should be manually viewed. + The Content-Encoding header is set to "deflate" this may mean that the server is vulnerable to the BREACH attack. + Web Server returns a valid response with junk HTTP methods, this may cause false positives. + DEBUG HTTP verb may show server debugging information. See http://msdn.microsoft.com/en-us/library/e8z01xdh%28VS.80%29.aspx for details. + OSVDB-3233: /icons/README: Apache default file found. + ERROR: Error limit (20) reached for host, giving up. Last error: + Scan terminated: 19 error(s) and 10 item(s) reported on remote host + End Time: 2020-03-27 16:02:06 (GMT9) (613 seconds) --------------------------------------------------------------------------- + 1 host(s) tested kali@kali:~$
Nikto를 실행하는 과정에서 20개의 오류가 발생하면서 프로그램이 종료되었다.
이를 해결하려면 kali@kali:~$ cat /etc/nikto.conf | grep -i =20 MAX_WARN=20 FAILURES=20 kali@kali:~$ sudo vi /etc/nikto.conf [sudo] kali의 암호: **** kali@kali:~$ cat /etc/nikto.conf | grep -i =20 MAX_WARN=200 FAILURES=200 kali@kali:~$ 편집기 vi를 이용하여 FAILURES와 MAX_WARN 모두 200으로 변경하였다. 이후의 Nikto 스캔에서는 - 시간은 훨씬 많이 소요되지만 - 좀 더 많은 결과를 제공할 것이다. 3. OWASP-ZAP - 웹 어플리케이션 취약점 점검
4. 취약경로 점검 스크립트(vulpath.txt) 실행
여기서 실행해 볼 스캐너는 취약할 가능성이 있는 경로를 모아둔 매우 단순한
점검 도구이다.
PHP와 PHP의 CURL 라이브러리를 사용하므로 기본으로 설치되지 않는
kali@kali:~$ sudo apt install php-curl
스캐너는 다음과 같이 내려받을 수 있으며, kali@kali:~$ curl -k https://webhack.dynu.net/solutions/vulpath.txt --output vulpath.txt % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15453 100 15453 0 0 77265 0 --:--:-- --:--:-- --:--:-- 77265 kali@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] kali@kali:~$ 5. 어느 취약한 웹해킹 훈련장에 대한 nikto/vulpath.txt 점검 결과kali@kali:~$ nikto -port 40080 -host 172.16.15.116 - Nikto v2.1.6 --------------------------------------------------------------------------- + Target IP: 172.16.15.116 + Target Hostname: 172.16.15.116 + Target Port: 40080 + Start Time: 2020-03-27 16:43:12 (GMT9) --------------------------------------------------------------------------- + Server: Apache/2.4.41 (Win64) PHP/7.4.2 + Retrieved x-powered-by header: PHP/7.4.2 + The anti-clickjacking X-Frame-Options header is not present. + The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS + The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type + Entry '/admin/' in robots.txt returned a non-forbidden or redirect HTTP code (200) + "robots.txt" contains 1 entry which should be manually viewed. + Web Server returns a valid response with junk HTTP methods, this may cause false positives. + OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST + /test.php%20: Output from the phpinfo() function was found. + /test.php: Output from the phpinfo() function was found. + OSVDB-3092: /sitemap.xml: This gives a nice listing of the site content. + OSVDB-3092: /admin/: This might be interesting... + OSVDB-3268: /data/: Directory indexing found. + OSVDB-3092: /data/: This might be interesting... + OSVDB-3092: /README.TXT: This might be interesting... + OSVDB-3092: /readme.txt: This might be interesting... + OSVDB-3093: /admin/index.php: This might be interesting... has been seen in web logs from an unknown scanner. + OSVDB-3233: /test.php: PHP is installed, and a test script which runs phpinfo() was found. This gives a lot of system information. + OSVDB-3092: /LICENSE.txt: License file found may identify site software. + OSVDB-3092: /Admin/: This might be interesting... + OSVDB-3092: /license.txt: License file found may identify site software. + OSVDB-3092: /LICENSE.TXT: License file found may identify site software. + OSVDB-3092: /test.php: This might be interesting... + 8727 requests: 0 error(s) and 23 item(s) reported on remote host + End Time: 2020-03-27 16:46:25 (GMT9) (193 seconds) --------------------------------------------------------------------------- + 1 host(s) tested ********************************************************************* Portions of the server's headers (Apache/2.4.41 PHP/7.4.2) are not in the Nikto 2.1.6 database or are newer than the known string. Would you like to submit this information (*no server specific data*) to CIRT.net for a Nikto update (or you may email to sullo@cirt.net) (y/n)? kali@kali:~$ php ./vulpath.txt http://172.16.15.116:40080 Vulnerable Path Finder ver. 20160811 / KU5N1J Testing http://172.16.15.116:40080 for 515 locations Server: Apache/2.4.41 (Win64) PHP/7.4.2 .. [FOUND/200] http://172.16.15.116:40080/Admin/ [FOUND/200] http://172.16.15.116:40080/admin/ ........... [FOUND/403] http://172.16.15.116:40080/cgi-bin/ .......... [FOUND/200] http://172.16.15.116:40080/data/ [FOUND/200] http://172.16.15.116:40080/Data/ ..................... [FOUND/200] http://172.16.15.116:40080/index.php?module=admin ......... [FOUND/200] http://172.16.15.116:40080/license.txt . [FOUND/200] http://172.16.15.116:40080/LICENSE.txt ............... [FOUND/200] http://172.16.15.116:40080/plugins/ . [FOUND/200] http://172.16.15.116:40080/README.txt . [FOUND/200] http://172.16.15.116:40080/readme.txt ............ [FOUND/200] http://172.16.15.116:40080/test.php .................... [done] kali@kali:~$ 2020/05/25. 공유폴더 관련 덧붙임 (ARM*** 님의 제보)
공유폴더 설정에서
을
또는
로 변경하면 [처음 작성한 날: 2020.03.25] [마지막으로 고친 날: 2020.05.25] < 이전 글 : 웹 해킹 훈련장 172.16.15.116 40080/tcp 대상 공개용 도구 기반의 홈페이지 취약점 점검 실습 (2020.05.07) > 다음 글 : VirtualBox 가상머신으로 GSM CE 6.0.2 설치 설명서 (OpenVAS) (2020.01.25) 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다. 잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다. 문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문 |