I ) Giới Thiệu chung về NmapNhư chúng ta đã biết, Nmap với phiên bản mới nhất hiện nay là 7.80 được ra mắt tại DEFCON 27 là một công cụ quét mạng với mã nguồn mở, được sử dụng rất phổ biến bởi các chuyên gia an ninh bởi tính hiệu quả, minh bạch mà nó đem lại vì một công cụ có mã nguồn mở có thể cho phép cộng đồng An ninh mạng trên thế giới cùng nhau tham gia đóng góp và xây dựng, phát triển. Show Trong bài viết này tôi sẽ hướng dẫn các bạn sử dụng công cụ Nmap để scan tìm ra hệ điều hành, cụ thể các service đang chạy và hơn thế nữa với đối tượng là website Viblo.asia. Bài viết này được viết với duy nhất mục đích giáo dục và tôi không chịu bất kì trách nhiệm nào và không khuyến khích về việc dựa theo bài viết này để khai thác các thông tin và tiến hành xâm nhập khi không có sự cho phép. 1. Cách thức hoạt độngNmap sử dụng các IP trên các gói tin theo những cách đặc biệt khác nhau để có thể xác định các host trên một hệ thống mạng , để rồi từ đó xác định xem những services đang chạy trên hệ thống đó, hệ điều hành đang chạy, bộ lọc các gói tin cũng như tường lửa đang sủ dụng là gì. 2. Tính năng của Nmap
II ) Hướng dẫn tải và cài đặtNmap có thể sử dụng trên Windows và macOS cũng như được hỗ trợ trên các bản phân phối của Linux bao gồm Red Hat, Mandrake, SUSE và Fedora và đồng thời hoạt động được trên các hệ điều hành khác gồm BSD, Solaris, AIX và AmigaOSfaffa 1. Trên hệ điều hành WindowsTruy cập https://nmap.org/download.html và tải về bản cài đặt như sau : 2. Trên một số các bản phân phối Linux khácĐối với Debian based ta sử dụng câu lệnh: Đối với Red Hat Based ta sử dụng câu lệnh : Và ấn "Y" để xác nhận cài https://images.viblo.asia/d73df3e8-19f0-48f0-bea4-85b6d2decd1c.png Sau khi cài xong Nmap ta có thể kiểm tra đã cài đặt thành công chưa và phiên bản là gì bằng cách sử dụng lệnh : III ) Sử dụng Nmap1. NSE scriptNmap Scripting Engine (NSE) là 1 trong những tùy chọn khá lợi hại trong Nmap. Nó cho phép người dùng viết và chia sẻ những đoạn script đơn giản để thực hiện những công việc khác nhau trong lĩnh vực networking một cách tự động. Những đoạn script này có thể sử dụng để phát hiện các lỗ hổng và khai thác các lỗ hổng. Để thực hiện chức năng này của nmap sử dụng tùy chọn : Trong nmap chúng ta gồm có 4 loại NSE scripts như sau :
Vị trí của NSE script : Các script (.nse file) nằm trong thư mục script khi cài đặt nmap, người dùng có thể tùy biến chỉnh sửa, thêm các scirpt khác. Trên mỗi hệ điều hành khác nhau chúng sẽ được lưu trữ ở một vị trí khác nhau :
Dưới đây là 1 số ví dụ về sử dụng NSE Script để scan các lỗ hổng bảo mật trên hệ thống
2. Trạng thái các cổng trong NmapTrong quá trình scan ta có thể thấy trạng thái các cổng như sau :
3. Các lệnh phổ biến trong Nmap
Và còn rất nhiều các đối số nữa các bạn có thể tham khảo dưới đây : https://hackersonlineclub.com/nmap-commands-cheatsheet/ 4. Demo thực tế với VibloĐầu tiên khi chúng ta đã xác định được mục tiêu , để có được IP hãy thử với ping : Nhưng như các bạn thấy IP chúng ta thấy là 104.27.188.151 . Nhưng thực chất nó không phải IP của web server của Viblo.asia mà là IP của Cloudflare mà viblo.asia đang trỏ đến Tham khảo dãy IP của Cloudflare tại đây : https://www.cloudflare.com/ips/ Theo kinh nghiệm của tôi tìm hiểu thì với trường hợp này các bạn nên sử dụng đến hệ thống Netcraft tại https://toolbar.netcraft.com/ . Netcraft là công ty đã khảo sát Internet từ 1995 và thu thập biến thiên của Internet trong vòng gần 25 năm qua Vậy là tôi bắt đầu tìm các report trong Netcraft về Viblo.asia Như đây các bạn có thể thấy đây cũng báo là IP của Cloudflare. Và kéo xuống tiếp thì có tìm ra 1 số thông tin sau Vậy ta có thấy netcraft đã ghi dc 3 IP là Thì trong đó 2 IP đầu tiên kia ta có thể thấy là của SAKURA Internet hay chính là trang takoyaki.asia (Khả năng trước đây 2016 trang đó cũng dùng IP coudflare này ). Nhưng chú ý vào IP thứ 3 ở mục SPF kia là Để biết hãy thử truy cập nó xem sao Đến đây thì tiếp tục nó sẽ ra trang 404. Nhưng thế là đủ vậy thật của Viblo.asia là Thôi bây giờ đến lúc quay lại về Nmap thôi ) Chạy lệnh đơn giản nhất nàoỞ đây có chút lưu ý ta có thể thấy xuất hiện https://li859-246.members.linode.com/ từ đó ta có thêm 1 thông tin là Viblo.asia đang chạy trên VPS của Linode Tiếp tục, nhìn không hiện các port gì thế kia là bị firewall chặn rồi . Nhưng không sao chúng ta
có cách bypass được qua bằng cách dùng đối số Okay đã tìm được ra các port đang mở trên server . Gồm các port 22,80,443,6001 và dưới đây là bảng tên các service thường chạy trên các port đó Bây giờ nếu bạn muốn biết thêm hệ điều hành đang sử dụng trên máy chủ đó là gì thì thêm đối số vì ở đây ta có thể thấy không phát hiện được có cổng nào đóng nên độ chính xác về xác định hệ điều hành cũng giảm đi và như trường hợp này ta tạm biết được thông tin là HDH sử dụng nhân Linux Cùng tổng hợp 1 số đối số để có cái nhìn toàn diện, tôi sẽ dùng lệnh Và đến đây cũng có thêm chút ít về thông tin và khả năng hệ điều hành mà trong tình huống này của con VPS đang chạy --------- Kết thúc Demo---------- Tôi hy vọng mọi người sau bài viết này có được cái nhìn cụ thể hơn về Nmap cũng như có được 1 số hướng đi trong quá trình reconnaissance trong pentesting. |