Cách sử dụng WPScan để kiểm tra các plugin và chủ đề rủi ro bảo mật trong Wordpress
Bài viết này sẽ hướng dẫn bạn cách cài đặt wpscan và dùng như một hướng dẫn về cách sử dụng wpscan để xác định vị trí bất kỳ plugin và chủ đề dễ bị tấn công nào có thể khiến trang web dễ bị tấn công. Sử dụng wpscan, ta có thể nhìn thấy một phác thảo của trang web theo cách tương tự như của một kẻ tấn công sẽ là kẻ tấn công. Đã có một số vấn đề bảo mật đáng kinh ngạc được tìm thấy trong các plugin và chủ đề được sử dụng trong các trang Wordpress. Những vấn đề này thường xảy ra do thực hành mã hóa không an toàn và thường bị user bỏ qua và các bản vá lỗi thường không được thực hiện bởi những user đang gặp rủi ro bởi họ.Download và cài đặt WPScan
Trước khi bắt đầu cài đặt, điều quan trọng cần lưu ý là wpscan sẽ không hoạt động trên hệ thống Windows, vì vậy bạn cần truy cập vào cài đặt Linux hoặc OSX để tiếp tục. Nếu bạn chỉ có quyền truy cập vào hệ thống Windows, bạn có thể download Virtualbox và cài đặt bất kỳ bản phân phối Linux nào bạn muốn làm Máy ảo.
WPScan được lưu trữ trên Github, vì vậy nếu nó chưa được cài đặt, ta cần cài đặt các gói git trước khi có thể tiếp tục.
sudo apt-get install git
Sau khi cài đặt git, ta cần cài đặt các phụ thuộc cho wpscan.
sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev ruby1.9.3
Bây giờ ta cần sao chép gói wpscan từ github.
git clone https://github.com/wpscanteam/wpscan.git
Bây giờ ta có thể di chuyển đến folder wpscan mới được tạo và cài đặt các viên ngọc ruby cần thiết thông qua Bundler.
cd wpscan sudo gem install bundler && bundle install --without test development
Bây giờ ta đã cài đặt wpscan, ta sẽ hướng dẫn sử dụng công cụ này để tìm kiếm các file có khả năng bị tấn công trên bản cài đặt Wordpress của ta . Một số khía cạnh quan trọng nhất của wpscan là khả năng liệt kê không chỉ các plugin và chủ đề, mà còn cả user và cài đặt timthumb. WPScan cũng có thể thực hiện các cuộc tấn công bruteforce chống lại Wordpress– nhưng điều đó nằm ngoài phạm vi của bài viết này.
Liệt kê các plugin
Để liệt kê các plugin, tất cả những gì ta cần làm là chạy wpscan với các đối số --enumerate p
như vậy.
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate p
hoặc chỉ hiển thị các plugin dễ bị tấn công:
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate vp
Một số ví dụ kết quả được dán bên dưới:
| Name: akismet | Location: http://********.com/wp-content/plugins/akismet/ | Name: audio-player | Location: http://********.com/wp-content/plugins/audio-player/ | | * Title: Audio Player - player.swf playerID Parameter XSS | * Reference: http://seclists.org/bugtraq/2013/Feb/35 | * Reference: http://secunia.com/advisories/52083 | * Reference: http://osvdb.org/89963 | * Fixed in: 2.0.4.6 | Name: bbpress - v2.3.2 | Location: http://********.com/wp-content/plugins/bbpress/ | Readme: http://********.com/wp-content/plugins/bbpress/readme.txt | | * Title: BBPress - Multiple Script Malformed Input Path Disclosure | * Reference: http://xforce.iss.net/xforce/xfdb/78244 | * Reference: http://packetstormsecurity.com/files/116123/ | * Reference: http://osvdb.org/86399 | * Reference: http://www.exploit-db.com/exploits/22396/ | | * Title: BBPress - forum.php page Parameter SQL Injection | * Reference: http://xforce.iss.net/xforce/xfdb/78244 | * Reference: http://packetstormsecurity.com/files/116123/ | * Reference: http://osvdb.org/86400 | * Reference: http://www.exploit-db.com/exploits/22396/ | Name: contact | Location: http://********.com/wp-content/plugins/contact/
Từ kết quả , ta có thể thấy rằng plugin trình phát âm thanh dễ bị tấn công XSS thông qua tham số playerid
. Ta cũng thấy rằng việc cài đặt bbpress dễ bị lộ đường dẫn và SQL Injection. Lưu ý việc xác minh thủ công các lỗ hổng được báo cáo luôn là một ý tưởng hay nếu có thể, vì máy quét đôi khi sẽ báo cáo kết quả dương tính giả. Nếu sau khi chạy các thử nghiệm này đối với trang web , bạn được thông báo về bất kỳ lỗ hổng tiềm ẩn nào, điều quan trọng là phải kiểm tra với nhà phát triển plugin để xem liệu có bản vá hay không và nếu có thì các bản vá lỗi cần được cài đặt như thế nào.
Liệt kê chủ đề
Việc liệt kê các chủ đề hoạt động giống như liệt kê các plugin, chỉ với đối số --enumerate t
.
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate t
hoặc chỉ hiển thị các chủ đề dễ bị tấn công:
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate vt
Đầu ra mẫu:
| Name: path | Location: http://********.com/wp-content/themes/path/ | Style URL: http://********.com/wp-content/themes/path/style.css | Description: | Name: pub | Location: http://********.com/wp-content/themes/pub/ | Style URL: http://********.com/wp-content/themes/pub/style.css | Description: | Name: rockstar | Location: http://********.com/wp-content/themes/rockstar/ | Style URL: http://********.com/wp-content/themes/rockstar/style.css | Description: | | * Title: WooThemes WooFramework Remote Unauthenticated Shortcode Execution | * Reference: https://gist.github.com/2523147 | Name: twentyten | Location: http://********.com/wp-content/themes/twentyten/ | Style URL: http://********.com/wp-content/themes/twentyten/style.css | Description:
Như trước đây, ta có thể thấy rằng việc cài đặt chủ đề rockstar dễ bị thực thi mã ngắn chưa được xác thực từ xa, nghĩa là bất kỳ ai cũng có thể thực thi mã ngắn trên trang web mà không cần xác thực là user hợp lệ.
WPScan cũng được dùng để liệt kê những user có thông tin đăng nhập hợp lệ vào cài đặt Wordpress. Điều này thường được thực hiện bởi những kẻ tấn công để có được danh sách user chuẩn bị cho một cuộc tấn công bruteforce.
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate u
Chức năng cuối cùng của wpscan mà ta sẽ thảo luận trong bài viết này là khả năng liệt kê các cài đặt timthumb. Trong những năm gần đây, timthumb đã trở thành mục tiêu rất phổ biến của những kẻ tấn công do có nhiều lỗ hổng được tìm thấy và đưa lên các diễn đàn trực tuyến, danh sách tin nhắn và ban cố vấn. Sử dụng wpscan để tìm các file timthumb dễ bị tấn công được thực hiện bằng lệnh sau.
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate tt
Để cập nhật wpscan:
ruby wpscan.rb --update
<div class = “author”> Gửi bởi: <a
href = “https://twitter.com/Su1ph3r”> Paul White </div>
Các tin liên quan