Trình scan CVE của phần mềm – Vulnerability Scanner on Ubuntu 22.04

Tác giả: 01/07/2023

Vuls là một trình quét lỗ hổng mã nguồn mở, không cần tác nhân được viết bằng Go. Nó tự động phân tích lỗ hổng bảo mật của phần mềm được cài đặt trên hệ thống, đây có thể là một nhiệm vụ nặng nề cho quản trị viên hệ thống thực hiện thủ công trong môi trường sản xuất. Vuls sử dụng nhiều cơ sở dữ liệu lỗ hổng, bao gồm Cơ sở dữ liệu lỗ hổng quốc gia (NVD). Nhẹ về tài nguyên, Vuls có thể quét nhiều hệ thống cùng một lúc và gửi báo cáo qua email hoặc Slack. Nó có ba chế độ quét (nhanhroot nhanh và sâu), bạn có thể chọn tùy theo tình huống.

Vuls không phải là một trình quét bảo mật CNTT rộng; Ví dụ: nó không giám sát lưu lượng mạng hoặc bảo vệ chống lại các cuộc tấn công đăng nhập brute-force. Tuy nhiên, Vuls cung cấp một cách để tự động hóa báo cáo lỗ hổng cho các gói Linux. Khi cơ sở dữ liệu mà Vuls sử dụng được thông báo về bản sửa lỗi cho một số lỗ hổng nhất định, Vuls cũng sẽ kéo thông tin khắc phục này vào báo cáo của mình. Khi tạo báo cáo, Vuls ưu tiên các lỗ hổng khẩn cấp nhất bằng cách sử dụng hệ thống xếp hạng được thiết lập từ cơ sở dữ liệu.

Trong hướng dẫn này, bạn sẽ triển khai Vuls cho máy chủ Ubuntu 22.04. Quá trình này bao gồm xây dựng Vuls và các phụ thuộc của nó từ mã nguồn, định cấu hình quét và báo cáo cho Slack và tùy chọn kết nối nó với các máy đích để cho phép quét từ xa. Cuối cùng, bạn sẽ có một hệ thống báo cáo lỗ hổng tự động tại chỗ để cảnh báo bạn về các lỗ hổng và loại bỏ nhu cầu kiểm tra thủ công.

Điều kiện

Để hoàn thành hướng dẫn này, bạn sẽ cần một máy chủ có RAM ít nhất 2 GB chạy Ubuntu 22.04 với quyền truy cập root.

Cài đặt

 

Sau khi đã cài đặt thành công trên Ubuntu22.04 mình đã docs lại thành file bash

Các bạn chỉ cần copy đoạn mã sau về 1 file .sh chạy file .sh đó để cài đặt tự động

Bash dưới đây là tự cài và scan localhost, nếu có nhu cầu scan các  host khác các bạn có thể tìm hiểu thêm, nó sẽ phải sử dụng ssh key

 

sudo mkdir /usr/share/vuls-data

sudo apt update

sudo apt install sqlite git debian-goodies gcc make wget -y

sudo apt install snapd

snap install go --classic

touch /etc/profile.d/go-env.sh

cat << EOF >> /etc/profile.d/go-env.sh
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin:/snap/bin
EOF

chmod +x /etc/profile.d/go-env.sh

source /etc/profile.d/go-env.sh

mkdir -p $GOPATH/src/github.com/vulsio

cd $GOPATH/src/github.com/vulsio

git clone https://github.com/vulsio/go-cve-dictionary.git

cd go-cve-dictionary

make install

sudo cp $GOPATH/bin/go-cve-dictionary /usr/local/bin

sudo mkdir /var/log/vuls

sudo chmod 700 /var/log/vuls

go-cve-dictionary fetch nvd --dbpath /usr/share/vuls-data/cve.sqlite3

cd $GOPATH/src/github.com/vulsio

git clone https://github.com/vulsio/goval-dictionary.git

cd goval-dictionary

make install

sudo cp $GOPATH/bin/goval-dictionary /usr/local/bin

sudo goval-dictionary fetch ubuntu --dbpath=/usr/share/vuls-data/oval.sqlite3 22.04

cd $GOPATH/src/github.com/vulsio

git clone https://github.com/vulsio/gost.git

cd gost

make install

sudo cp $GOPATH/bin/gost /usr/local/bin

sudo mkdir /var/log/gost

sudo chmod 700 /var/log/gost

gost fetch ubuntu --dbpath=/usr/share/vuls-data/gost.sqlite3

mkdir -p $GOPATH/src/github.com/future-architect

cd $GOPATH/src/github.com/future-architect

git clone https://github.com/future-architect/vuls.git

cd vuls

make install

sudo cp $GOPATH/bin/vuls /usr/local/bin

cd /usr/share/vuls-data

touch config.toml

cat << EOF >> /usr/share/vuls-data/config.toml

[cveDict]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/cve.sqlite3"

[ovalDict]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/oval.sqlite3"

[gost]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/gost.sqlite3"

[servers]

[servers.localhost]
host = "localhost"
port = "local"
scanMode = [ "deep" ]
#scanMode = ["fast", "fast-root", "deep", "offline"]

EOF

ln -s /usr/share/vuls-data/config.toml /root/config.toml


vuls configtest

vuls scan

vuls tui


Sau khi cài xong đã scan tự động với mode ” deep” và hiện kết quả như hình.

Như CVE-2023-28531 có thể tìm kiếm thông tin

NVD – CVE-2023-28531 (nist.gov)

Phiên bản của mình đang là 8.9

Bạn có thể nâng cấp tại đây

Upgrade OpenSSH Server Ubuntu 20.04-22.04 – Nhan Hoa Knowledgebase

Có nhiều CVE không fix,không fix được, chưa fix không có nghĩa là hệ thống của bạn bị tấn công, có nhưng lỗ hổng khai thác quá phức tạp,khai thác qua localhost, mạng Lan, mạng internet…

Như vậy Nhân Hòa đã hướng dẫn các bạn cài đặt Vuls Server scan CVE.

Hẹn gặp lại các bạn tại các bài viết sau tại wiki.nhanhoa.com

Trả lời