Hacking Hướng dẫn

Hướng dẫn cách quét lỗ hổng bảo mật bằng Nmap NSE

Nmap là một công cụ quét mạng tuy miễn phí nhưng rất nhanh và mạnh mẽ. Vì vậy Nmap là công cụ ưa thích của các chuyên gia bảo mật, các tin tặc, script kiddies :v… Nmap có thể quét và lập bản đồ mạng, thu thập thông tin hệ điều hành hay phiên bản của mục tiêu chỉ trong vài giây.

Ngoài ra Nmap còn Nmap Scripting Engine (NSE) cho phép Nmap có thể mở rộng thêm nhiều khả năng liên quan đến tác vụ mạng.

Giới thiệu về Nmap NSE

Nmap NSE là một trong những tính năng tuyệt nhất của Nmap. Mỗi một NSE là một kịch bản do người dùng lập trình cho Nmap (kiểu như module trong Metasploit ấy) với các mục đích khác nhau như tự động hoá các tính năng như quét mạng, tấn công DoS, lấy mật khảu và tên người dùng, thu thập thông tin,… và cả quét lỗ hổng bảo mật.

Để sử dụng NSE với Nmap, các bạn thêm --script [tên NSE hoặc đường dẫn đến tệp NSE] đằng sau câu lệnh nmap.

Trong bài viết này, mình sẽ hướng dẫn các bạn các quét lỗ hổng bảo mật của mục tiêu với Nmap NSE. Quét mạng, quét mục tiêu và tìm lỗ hổng bảo mật bằng Nmap luôn cho chất ?

Để quét lỗ hổng bảo mật với Nmap, bạn phải cài Nmap trước đã :v
  • Cài Nmap cho các bản phân phối Debian: sudo apt install nmap
  • Cài Nmap cho các bản phân phối Arch Linux: sudo pacman -S nmap
  • Cài Nmap cho Clear Linux OS: sudo swupd bundle-add nmap

Còn với các bản phân phối GNU/Linux dành cho mục đích kiểm thử bảo mật như Kali Linux, ParrotSec, BlackArch, Arch Strike… thì đều cài sẵn Nmap rồi nha.

Bây giờ thì mới đến hướng dẫn quét lỗ hổng bảo mật đây :v

Quét lỗ hổng bảo mật với vulscan

Vulscan là một phần mở rộng NSE của Nmap được lập trình để quét lỗ hổng bảo mật. vulscan có thể chạy ngon trên bất kể hệ điều hành gì miễn là cài được Nmap. Để cài đặt vulscan và quét lỗ hổng bảo mật, bạn hãy gõ

cd /usr/share/nmap/scripts
sudo git clone https://github.com/scipag/vulscan
nmap -sV --script vulscan/vulscan.nse [mục tiêu]

Hoặc: nmap -sV --script [đường đẫn đến tệp vulscan.nse] [mục tiêu]

Với các bạn dùng Windows, các bạn tải vulscan-master.zip về giải nén ra. Rồi mở CMD hoặc PowerShell và gõ:

cd [đường dẫn đến thư mục vừa giải nèn]
nmap -sv --script vulscan.nse [mục tiêu]

vulscan có thể chạy ngon kể cả khi không có mạng Internet nhờ vào dữ liệu có sẵn đi kèm có đuôi .csv. Nhưng để có kết quả tốt nhất và đầy đủ nhất, bạn nên kết nối Internet.

Để cập nhật cơ sở dữ liệu có sẵn của vulscan, bạn vô thư mục clone của vulscan từ GitHub về và gõ
sudo git pull -f.

Bạn có thể xem trang GitHub của vulscan.

Quét lỗ hổng bảo mật với nmap-vulners

nmap-vulners là một kịch bản NSE được lập trình lấy dữ liệu về lỗ hổng bảo mật thông qua API của Vulners.com. Vì vậy nmap-vulners cần mạng Internet để hoạt động, hãy luôn kết nối Internet.

Để cài đặt nmap-vulners và quét lỗ hổng bảo mật, bạn hãy gõ:

cd /usr/share/nmap/scripts
wget https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/vulners.nse
nmap -sV --script nmap-vulners/vulners.nse [mục tiêu]

Hoặc: nmap -sV --script [đường đẫn đến tệp vulners.nse] [mục tiêu]

Với các bạn dùng Windows, thì bạn tải vulners.nse tại đây. Rồi mở CMD hoặc PowerShell và gõ:

cd [đường dẫn đến thư mục vừa giải nèn]
nmap -sv --script vulners.nse [mục tiêu]

Bạn có thể xem trang GitHub của nmap-vulners.

Thực hành quét lỗ hổng bảo mật với Nmap

Bây giờ mình sẽ làm ví dụ thực tế cho các bạn đọc.

Đầu tiên, mình cài đặt nmap-vulnersvulscan theo hai hướng dẫn trên.

Xong rồi thì mình sẽ quét các thiết bị có trong mạng LAN bằng Nmap trước. Để quét các thiết bị có trong mạng, bạn phải tìm dải địa chỉ IP của mạng LAN trước bằng lệnh ip route.

Bạn có thể thấy dải IP của mạng LAN mà mình dùng làm thí nghiệm chưa xin phép là 192.168.1.0/24. Bây giờ mình sẽ quét các thiết bị có trong mạng bằng lệnh:

nmap 192.168.1.0/24 hoặc nmap -sV 192.168.1.0/24

Khi thêm -sV, Nmap không chỉ quét cổng mạng mà còn hiển thị phiên bản của phần mềm và hệ điều hành của cồng đó nên mình sẽ dùng nmap -sV 192.168.1.0/24 cho chi tiết. Nhưng mà thôi, mình sẽ chọn luôn cái route cho dễ. Mình sẽ quét lỗ hổng bảo mật trên con route này luôn cho gọn.

Mình sẽ dùng vulscan để quét cái route này để xem ra cái lỗ hổng bảo mật gì. Địa chỉ của con route là 192.168.1.1 (không cần quét cũng đoán được). Rồi mình dùng lệnh sau để quét lỗ hổng bảo mật trên con route này với vulscan:
nmap -sV --script vulscan/vulscan.nse 192.168.1.1

Phải mất một lúc lâu vulscan mới quét xong hết lỗ hổng bảo mật. vulscan sẽ quét phiên bản phần mềm trong con route và đối chiếu với các cơ sở dữ liệu về lỗ hổng bảo mật như ở trong hình. Và như bạn thấy đó, cả một đống lỗ hổng bảo mật đã bị mình làm mờ đi. Con route này không an toàn tí gì. Phần mềm thì lỗi thời, chắc chẳng bao giờ được cập nhật firmware gì hết trơn :v

Mình sẽ thử đổi khẩu vị sang dùng nmap-vulners để quét con route này. Mình dùng lệnh:
nmap -sV --script vulners.nse 192.168.1.1

Bây giờ các bạn hãy nhìn đi.

Và như bạn thấy đó. Chẳng có lỗ hổng bảo mật gì cả. Thật không thể tin được! Con route này an toàn đến thế á ? Không đâu. Là do cơ sở dữ liệu của vulscan lớn hơn thôi. Mà cũng tại con route mình quét không phổ biến nên chắc chẳng ai nghiên cứu :v

Bây giờ mình sẽ đổi sang mục tiêu ngoài mạng LAN. Mình chọn ngẫu nghiên một trang web trên Google ? Mình sẽ chọn cổng cụ thể là XXX và vẫn dùng vulscan. Mình dùng lệnh:
nmap -sV --script vulscan/vulscan.nse -p [tên cổng] [mục tiêu].

Các bạn hãy nhìn hình dưới.

Và vẫn là cả đống lỗ hổng bảo mật. May mà mình đã làm mờ đi cả rồi :v

Bây giờ mình sẽ lại đổi khẩu vị sang nmap-vulners để quét mục tiêu phía trên và vẫn dùng cổng mạng đó. Mình dùng lệnh:
nmap -sV --script vulners.nse -p [tên cổng] [mục tiêu]

Và có một lỗ hổng bảo mật rồi kìa ? nmap-vulners cũng “tử tế” hơn khi hiển thị đường link về lỗ hổng bảo mật ?

Bây giờ mình sẽ đổi khẩu vị sang quét lỗ hổng bảo mật trên cổng XXX của mục tiêu bằng cả vulscannmap-vulners. Mình dùng lệnh:
nmap -sV --script vulner.nse,vulscan/vulscan.nse -p [tên cổng] [mục tiêu]


Và như bạn thấy đó, song kiếm hợp bích – tìm được càng nhiều lỗ hổng bảo mật (Dù có những lỗ hổng bảo mật trùng nhau :v, đó là chuyện bình thường). Và dùng cả vulscannmap-vulners cùng lúc thì cũng càng lâu hơn ☹️

Và hướng dẫn của mình chỉ có thế thôi :v Cũng tại cái tội mình ngu ? Viết bài hướng dẫn mà cứ như dìm hàng nmap-vulners với vulscan.
Chúc các bạn thực hành thành công!

 

 

Hits: 665