본문 바로가기
Security Project

24. 메소드 허용 webdav 취약점

by 귀멸 2022. 9. 18.

VM ware beebox v1.6 bWAPP에서 취약점 연습

VM ware에서 beebox 기동 후 해당 IP 주소로 burp suite 오픈 브라우저로 접속한다.

bee / bug로 접속하고,

A5에서 Insecure WebDAV Configuration 취약점을 찾아서 들어간다.

kali에서 nikto로 간단하게 취약점 분석을 해보면 indexing 취약점이 나오고

HTTP method로 'PUT'이 allows 되어 있음을 볼 수 있다. (to save files on the web server)

+ Allowed HTTP Methods: GET, HEAD, POST, OPTIONS, TRACE, 

위의 매소드까지는 보안 상 허용가능 범위지만 아래에 있는 매소드들은 보안상 취약점이 된다.

DELETE, PROPFIND, PROPPATCH, COPY, MOVE, LOCK, UNLOCK

 

burp suite에서 Target - Scope 값에 공격하려는 페이지를 지정한 뒤 Proxy - Option에서 

Target Scope URL에만 Intercept를 할 수 있도록 지정한다.

Intercept를 on 하고 index of 취약점 페이지를 다시 들어가 보면

아래와 같이 GET method로 페이지를 요청하고 있다.

이를 PUT method로 수정하고 /webdav/test.txt 파일을 삽입한 뒤

아래 Header 부분에서 한 칸 띄어서 Body 부분의 내용을 입력하고 전송하면

아래와 같이 test.txt 파일이 만들어진 것을 볼 수 있다.

이번에는 같은 방법으로 php 파일을 PUT해보면 php 파일이 만들어지고 클릭하면 php info page가 나온다.

php 파일이 동작하는 것을 확인했으므로 최종적으로 악성코드(웹쉘)가 들어간 php를 put 한다.

kali에서 webshell을 locate하면 php 관련된 backdoor 코드를 찾을 수 있다.

┌──(root㉿kali)-[/home/kali]
└─# locate webshell   

┌──(root㉿kali)-[/home/kali]
└─# cat /usr/share/webshells/php/simple-backdoor.php

안에 들어 있는 코드를 body로 해서 php 파일을 만들어 PUT 하고 웹쉘을 동작시킨다.

아래와 같은 빈 화면이 나오고 사용방법에 따라 URL에 ?cmd= 파라미터 값들을 전달하여 쉘을 사용한다.

우선 ls -al로 파일 목록보기

/etc/passwd 파일 읽어내기

 

추가로 Kali에서 제공하는 명령어(Cadaver)로 Burp Swite을 사용하지 않고 바로 백도어 쉘을 집어 넣을 수 있는 방법이 있는데 방법은 아래를 참고한다.

https://takudaddy.tistory.com/519

 

Cadaver 소개

cadaver? Kali Linux Tools 공식 페이지에 따르면 cadaver supports file upload, download, on-screen display, in-place editing, namespace operations (move/copy), collection creation and deletion, proper..

takudaddy.tistory.com

 

댓글