09/05/2022

Tìm hiểu tổng quan về Wpscan

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

  1. Giới thiệu về wpscan
  2. Luồng làm việc của wpscan
  3. Cài đặt wpscan trên centos 7
  4. Cài đặt wpscan trên ubuntu 18.04
  5. Lấy API để sử dụng WordPress Vulnerabilities
  6. 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

1 : Chúng ta chọn API
2 : Chúng ta chọn dùng thử

Sau khi vào đó ta sẽ kéo xuống phần API Token

Hãy lưu token này lại vì ta cần sử dụng tới nó

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 !