처음 만나는 클라우드 보안

WebDav취약점을 이용한 백도어 해킹실습 본문

정보보안

WebDav취약점을 이용한 백도어 해킹실습

영민하게 2022. 5. 11. 20:01
반응형

WebDav취약점을 이용한 백도어 업로드

 

WebDav란? (Web-based Distributed Authoring and Versioning)

: 웹을 기반으로 웹서버에 파일을 조회, 수정, 이동, 삭제할 수 있는 확장된 HTTP 프로토콜을 말한다. 설정이 간단하고 접근 제어가 용이하지만, 악성코드(웹쉘)가 업로드될 수 있어 웹서버 보안에서 꼽히는 취약점 중 하나이다. 

 

1. Kali의 'Cardever'도구 활용

Kali의 기본 웹쉘(Webshell)

아래 cardever명령어로 공격대상 서버 IP로 해당 백도어 업로드

cadaver http://192.168.5.130/dav/  // 공격 대상 서버 WebDav에 연결

> put 업로드 // 대상 파일 업로드

 

공격대상의 Webdav경로에서 업로드한 백도어 파일 확인
백도어 프로그램을 통해  데이터베이스로의 접근이 가능하다.
해쉬값을 해석한 비밀번호 (출처-https://hashes.com/en/decrypt/hash)


2. Burp suite 활용

공격대상 서버의 Local proxy 설정, Burp suite의 Intercept기능을 활용한 백도어 설치기법

 

1단계) 공격 대상 서버 로컬 프락시 설정 및  Burp suite준비>

2단계) 새로고침 > HTTP 요청문에 웹쉘(r57 shell.php)과 관련된 설치 요청을 삽입 (노란색)

가로챈 명령어 변조 (서버로 백도어 파일 설치요청을 전달한다)

 

공격대상 서버에서 나타난 업로드 완료응답
실제 업로드 된 웹쉘의 구동 모습


3. 웹쉘(Webshell)의 용량 줄이기

: 위 실습에서 활용된 Kali linux의 r57shell.php는 'BASE64'로 인코딩 된 프로그램이다. 해당 파일을 디코딩(decoding)한다면 기존  '6 bit 4글자'에서 '8bit 3글자'로 파일에 대한 용량 감소를 기대할 수 있다. 이는 업로드 용량 제약 해소에 많은 이점이 있다.

 

  1단계) DQp~~~== 부분 복사

  2단계) Malzilla의 Misc Decoders탭에 붙여넣고 디코딩(Base64 decode)

  3단계) '<?php'로 시작, '?>'로 끝내기

  4단계) Kali Linux의 /home/kali에 복사 후 cardaver로 업로드 > 용량의 변화 확인

 

기존 인코딩(BASE64) 웹쉘보다 용량이 감소 됨을 알 수 있다.

 

본 게시물은 학습기록을 위한 포스팅입니다. 악의적인 목적으로 이용 시 발생할 수 있는 모든 법적 책임은 자신에게 있습니다.

반응형
Comments