Hiện nay wordpress được sử dụng khá là phổ biến và rộng rãi. Vậy thì làm thế nào để có thể kiểm tra được xem là wordpress của mình có được an toàn hay không. Hôm nay tôi sẽ giới thiệu mọi người đến một tool được sử dụng để kiểm tra mức độ an toàn của wordpress mà bạn sử dụng
Mục lục
- Giới thiệu về wpscan
- Luồng làm việc của wpscan
- Cài đặt wpscan trên centos 7
- Cài đặt wpscan trên ubuntu 18.04
- Lấy API để sử dụng WordPress Vulnerabilities
- Một số lệnh sử dụng wpscan
1. Giới thiệu về wpscan
Bài viết này mình sẽ hướng dẫn các bạn quá trình tìm hiểu về tổng quan và cách cài đặt wpscan cũng như một số phương pháp sử dụng lệnh wpscan. Sử dụng wpscan, chúng ta có thể thấy một phác thảo của trang web theo cách tương tự như của người tấn công. Đã có một số lượng đáng kinh ngạc các vấn đề bảo mật được tìm thấy trong các plugin và các chủ đề được sử dụng trong các trang WordPress.
Những vấn đề này thường xảy ra do thực tiễn mã hoá không an toàn và thường bị người dùng bỏ qua và các bản vá thường không được thực hiện bởi những người dùng bị nguy cơ bởi chúng
Khái niệm về WPSCAN
- WPSCAN được viết tắt của wordpress scan. Là một tool được sử dụng để scan các lỗ hỏng có trên một trang site wordpress.
- WPSCAN được viết bằng ngôn ngữ lập trình RUBY và phiên bản đầu tiên của nó được phát hành vào 16 tháng 6 năm 2011. Và tới nay thì phiên bản stable là version 3.8
Một số chức năng của WPSCAN
- Check phiên bản wordpress đang được sử dụng và lỗ hỏng liên quan
- Những lỗ hỏng liên quan đến các plugin được cài đặt
- Những lỗ hỏng liên quan đến các themes được cài đặt thêm
- Liệt kê các user người dùng
- Tìm mật khẩu yếu của người dùng thông qua tấn công brute forcing
- Danh sách thư mục được tải lên, Và nhiều hơn nữa…
2. Luồng làm việc của wpscan
- Tool wpscan : sẽ được sử dụng để check các version của wordpress như là phiên bản wordpress đang được sử dụng. Phiên bản của các plugin đang được sử dụng
- Site wordpress : Là một trang website được sử dụng wordpress
- DB Vulnerabilities : Là DB các lỗ hỏng được đã được phát hiện và được tập hợp lại. wpscan sẽ check lại xem có lỗ hỏng nào giống như trong DB không sẽ báo lại với người sử dụng wpscan. Được sử dụng API của DB lỗ hỏng wordpress. Đăng ký API tại đây
- Bước 1 : Tool wpscan sẽ được gọi tới và kiểm tra các thông tin của wordpress như là phiên bản được cài đặt, các phiên bản của plugin được sử dụng ….
- Bước 2 : Sau đó kết quả sẽ được wpscan thu lại. Và nó sẽ sử dụng kết quả đó để check với DB Vulnerabilities
- Bước 3: Sau khi check xong với DB thì nếu như có lỗ hỏng nào được phát hiện nó sẽ trả về các lỗ hỏng đó hiển thị lên màn hình
3. Cài đặt wpscan trên centos 7
Các điều cần chú ý khi cài đặt một số gói trên centos 7 là:
- Ruby >= 1.9.2
- Curl >= 7.21
- RubyGems > 2.3+
- Cài đặt git
3.1 Cài đặt curl
Cài đặt bằng lệnh sau
yum install curl -y
Kiểm tra version của curl xem đúng điều kiện hay chưa
curl -V
Output trả về
curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.44 zlib/1.2.7 libidn/1.28 libssh2/1.8.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets
3.2 Cài đặt Ruby
Cài đặt gói cần thiết
yum install gcc-c++ patch readline readline-devel zlib zlib-devel libffi-devel \
openssl-devel make bzip2 autoconf automake libtool bison sqlite-devel
Cài đặt rvm
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
Cài đặt phiên bản stable nhất của rvm
curl -L get.rvm.io | bash -s stable
Tải môi trường rvm
source /etc/profile.d/rvm.sh
rvm reload
Kiểm tra xem tất cả các cài đặt đã đúng hay chưa
rvm requirements run
output nhận được sẽ là
Checking requirements for centos.
Requirements installation successful.
Tìm các phiên bản ruby có thể cài đặt
rvm list known
Sau đó cài đặt phiên bản mà mình muốn với điều kiện bài này là > 2.3
rvm install 2.7
Thiết lập phiên bản mặc định
rvm use 2.7 --default
Kiểm tra phiên bản đang hoạt động
ruby --version
3.3 Cài đặt wpscan
Cài đặt các gói cần thiết còn lại
yum -y install ruby-devel rubygem-bundler libxml2 libxml2-devel libxslt libxslt-devel libcurl-devel git
Tạo thư mục chưa tool wpscan rồi clone wpscan về thư mục đó
mkdir -p /root/tools
cd /root/tools
git clone https://github.com/wpscanteam/wpscan.git
Cài đặt wpscan
cd wpscan
bundle install && rake install
Sau khi cài đặt xong thử lệnh để kiểm tra xem cài đặt được hoàn thành chưa
wpscan -h
4. Cài đặt wpscan trên ubuntu 18.04
Cập nhật hệ thống
sudo apt update
sudo apt upgrade
Cài đặt các gói cần thiết cho wpscan
sudo apt install curl git libcurl4-openssl-dev make zlib1g-dev gawk g++ gcc libreadline6-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config ruby ruby-bundler ruby-dev -y
Cài đặt wpscan
gem install wpscan
Kiểm tra xem wpscan đã được cài đặt hay chưa
wpscan --version
output
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____|
\ \ /\ / /| |__) | (___ ___ __ _ _ __ ®
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|
WordPress Security Scanner by the WPScan Team
Version 3.8.1
Sponsored by Automattic - https://automattic.com/
@_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________
Current Version: 3.8.1
Last DB Update: 2020-05-20
5. Lấy API để sử dụng WordPress Vulnerabilities
Để có thể lấy được API của DB Vulnerability WordPress. Thì ta hãy tạo ra tài khoản tại wpvlundb.com
Sau khi tạo xong tài khoản rồi thì hãy login và vào mục API
Sau khi vào đó ta sẽ kéo xuống phần API Token
Lưu ý : Ta thấy rằng có thể dùng thử và dùng free API để check được lỗ hỏng của WordPress. Thì mỗi ngày chỉ có thể sử dụng cho 50 lần scan mà thôi. Nếu muốn nhiều hơn bạn có thể mua ở đó.
6. Một số lệnh sử dụng wpscan
Sau khi cài đặt xong ta cần biết một số lệnh thuofng được sử dụng với WPSCAN để còn dùng nó
6.1. Lệnh hiển thị các option có thể sử dụng
wpscan -h
6.2. Lệnh kiểm tra list danh sách user
wpscan --url http://softmart.tech/ --enumerate u
6.3 Lệnh tấn công những user có mật khẩu yếu
wpscan --url http://10.10.34.131/ --enumerate u -P /root/test.txt --username user
6.4 Lệnh kiểm tra lỗ hỏng plugin nào tồn tại hay không
wpscan --url http://softmart.tech/ -e vp --plugins-detection mixed --api-token jLo2xEPBRf9JuA9Tr4OXKwAZnCqjUw4vADsSNUvYhDY
6.5 Lệnh kiểm tra có lỗ hỏng themes nào tồn tại hay không
wpscan --url http://softmart.tech/ -e vt --plugins-detection mixed --api-token jLo2xEPBRf9JuA9Tr4OXKwAZnC1fqe14g
Tài liệu tham khảo
Đến đây mình xin kết thúc bài viết này. Vậy là mình đã hướng dẫn các bạn cài đặt và sử dụng một số lệnh thường được dùng với lệnh wpscan. Nếu các bạn muốn tham khảo thêm nhiều lệnh và nhiều cách sử dụng thêm nữa hãy đọc thêm nữa và comment để chúng ta cùng học hỏi thêm nhé ! Chúc các bạn cài đặt thành công và có được thêm kiến thức từ bài này !