Shodan (https://www.shodan.io/) là một công cụ tìm kiếm được thiết kế bởi nhà phát triển web John Matherly (http://twitter.com/achillean). Shodan là một công cụ tìm kiếm khác nhiều so với các công cụ tìm kiếm nội dung như Google, Yahoo hoặc Bing.Shodan là một công cụ tìm kiếm để tìm các thiết bị trực tuyến trên internet như: máy tính, server, webcam, các thiết bị routers... Nó hoạt động bằng cách quét toàn bộ các các thiết bị trên internet có mở cổng public ra internet và thực hiện phân tích các dấu hiệu được phản hồi về từ các thiết bị. Sử dụng thông tin đó, Shodan có thể cho bạn biết những thứ như máy chủ web (và phiên bản) nào phổ biến nhất hoặc có bao nhiêu máy chủ FTP ẩn danh tồn tại ở một vị trí cụ thể, hay trả về danh sách các camera có thể truy cập trực tuyến qua internet. Nói chung, với shodan bạn có thể tìm kiếm bất cứ thiết bị nào trên internet miễn là chúng đang có kết nối internet và mở cổng public.
Bạn đang xem: Shodan: tất cả về công cụ tìm kiếm định hướng hack này
Shodan được sử dụng hiệu quả trong việc kiểm thử bảo mật các thiết bị IOT (Internet Of Thing) qua việc phát hiện nhanh chóng các thiết bị đang trực tuyến và các thiết bị có tồn tại lỗ hổng bảo mật. Shodan hoạt động 24/7 nên dữ liệu của nó luôn được cập nhật một cách nhanh và chính xác nhất.
Shodan (Sentient Hyper-Optimized Data Access Network) hoạt động theo thuật toán sau:
Chọn port (cổng dịch vụ) ngẫu nhiên và thực hiện gửi câu lệnh kiểm traXem nội dung phản hồi của thiết bị (Service Banner) từ đó xác định xem đó là loại thiết bị gì và chạy cổng gìLặp lại quá trình trên nhưng với ip và port mớiĐiều này giúp tạo ra sự ngẫu nhiên cũng như đảm bảo tránh gây ra lượng kết nối quá lớn tới một thiết bị một cách liên tục.
Các cổng dịch vụ mà shodan thường xuyên rà quét: (Port 554 – Real Time Streaming Protocol, Port 5060 – SIP, Port 25 – SMTP, Port 161 – SNMP, Port 23 – Telnet, Port 993 – IMAP, Port 22 – SSH, Port 21 – FTP, Ports 8443, 443, 8080, and 80 – HTTPS/HTTP)
Hướng dẫn sử dụngĐăng ký tài khoản trên: https://www.shodan.io.Việc đăng ký tài khoản là không bắt buộc nhưng nó giúp bạn có thể tìm kiếm nhiều kết quả hơn cũng như có thể sử dụng các bộ lọc tìm kiếm (net filters, country..)
Nhập từ khóa cần tìm kiếm vào ô searchbox trên shodan. Ví dụ với từ khóa: Apache
Total results: Số lượng kết quảResults map: Bản đồ mật độ các khu vực trên thế giới có kết quả phù hợpTop countries : Top các nước có số lượng tương ứngTop operating systems: Top các hệ điều hành sử dụngTop services (Ports): Top các cổng dịch vụ mở...Xem thêm: Tin Tuyển Dụng Lễ Tân Spa Tại Nhà Tuyển Dụng Đỗ Khánh Quỳnh, Việc Làm
Khi vào một địa chỉ IP các bạn có thêm các thông tin như: cổng đang mở, dịch vụ đang chạy, các lỗ hổng (CVE) của dịch vụ..
Để kết quả tìm kiếm chính xác hơn, các bạn có thể sử dụng thêm dấu "", kết hợp các toán tử + để có thể có nhiều hơn hoặc - để lọc bớt các kết quả không mong muốn. Ví dụ: Apache + os:windows
CNN Business đã gọi Shodan là công cụ tìm kiếm đáng sợ nhất trên Internet. Từ góc độ người dùng, một công cụ tìm kiếm cung cấp những thông chi tiết và sâu và các thiết bị hay một số thông tin riêng tư. Tuy nhiên, Shodan hoàn toàn hợp pháp và không vi phạm luật. Về bản chất, shodan chỉ thu thập dữ liệu đã có sẵn trên internet và shodan chỉ đơn giản là báo cáo những gì nó tìm thấy.
Tìm kiếm hiệu quả hơn với shodanNgoài các tìm kiếm cơ bản, để dử dụng hiệu quả shodan hơn các bạn cần biết sử dụng kết hợp các bộ lọc (filter) một cách chính xác và "thông minh". Sau đây là các bộ lọc mà các bạn có thể sử dụng kết hợp:
Cấu trúc sử dụng filter: filtername:value
- city: Tìm kiếm các thiết bị trong một thành phố cụ thể sử dụng mã thành phố (Ví dụ: hanoi,...)
-country: Tìm kiếm các thiết bị trong một quốc gia cụ thể sử dụng mã quốc gia (Ví dụ: vn, us,...)
- hostname: Tìm kiếm theo hostname hay domain (Ví dụ: goole, edu.vn,...)
- net: Tìm kiếm bằng địa chỉ IP hoặc CIDR (Classless Inter-Domain Routing)
- os: Tìm kiếm theo hệ điều hành
- port: Tìm kiếm theo port cụ thể được mở
-before/after: Tìm kiếm trong một khoảng thời gian...
Ngoài ra còn một số các filter khác có thể tham khảo tại Filter list shodan github
Cho phép chúng ta trích xuất kết quả tìm kiếm theo định dạng mong muốn
Ứng dụng shodan trong kiểm thử bảo mậtTìm kiếm dựa theo phản hồi từ phía server
200 OK | Request succeeded |
401 Unauthorized | Request requires authentication |
403 Forbidden | Request is denied regardless of authentication |
Ở cases study này mình sẽ vận dụng kỹ thuật tấn công bằng mật khẩu mặc định, mật khẩu yếu của các thiết bị camera kết hợp sử dụng công cụ tìm kiếm shodan
Bước 1: Chọn vendor mục tiêu: Vivotek camera
Bước 2: Tìm kiếm mục tiêu qua shodan:
Bước 3: Sử dụng danh sách mật khẩu mặc định, tham khảo: (IP Cameras Default Passwords hoặc camera default password)hoặc danh sách mật khẩu yếu như (admin/admin, admin/password, admin/123456,...)
Ở đây mình sử dụng: admin/admin
Bước 4: Tèn ten! Truy cập tới camera
Ở case study này mình sẽ tìm kiếm các máy chủ windows bị lỗi bảo mật CVE-2019-0708 một lỗi rất nghiêm trọng trên các máy chủ windows sử dụng giao thức RDP (Remote Desktop Protocol)
Bước 1: TÌm kiếm mục tiêu qua shodanSử dụng từ khóa: os:windows vuln:cve-2019-0708
Bước 2: Kiểm tra server có bị lỗi CVE-2019-0708 hay không (Mình sẽ chỉ dừng ở bước kiểm tra mà không khai thác). Mình sử dụng module trên Metasploit Framework
Shodan là một công cụ tìm kiếm tuyệt vời không chỉ cho những người làm bảo mật mà nó còn giúp người dùng có thể xác định được việc các thiết bị cá nhân hay thuộc sở hữu của tổ chức có đang được kết nối tới internet, tránh gặp phải những cuộc tấn công không mong muốnShodan là công cụ hỗ trợ cho quá trình tìm kiếm thông tin phục vụ kiểm thử xâm nhập rất hiệu quả
Tài liệu tham khảohttps://danielmiessler.com/study/shodan/
https://www.defcon.org/images/defcon-18/dc-18-presentations/Schearer/DEFCON-18-Schearer-SHODAN.pdf
https://www.safetydetectives.com/blog/what-is-shodan-and-how-to-use-it-most-effectively/