Shodan Là Gì? Hướng Dẫn Sử Dụng Shodan Cho Người Mới Bắt Đầu

Shodan (https://www.shodan.io/) là một công cụ tìm kiếm đặc biệt, được phát triển bởi John Matherly (http://twitter.com/achillean), cho phép bạn khám phá các thiết bị kết nối Internet. Khác với Google hay Bing tìm kiếm nội dung trang web, Shodan tìm kiếm các thiết bị như máy tính, máy chủ, webcam, router, và nhiều hơn nữa. Nó hoạt động bằng cách quét các thiết bị có cổng mở và phân tích các phản hồi để xác định loại thiết bị, phần mềm đang chạy, và thậm chí cả các lỗ hổng bảo mật tiềm ẩn. Với Shodan, bạn có thể tìm kiếm bất kỳ thiết bị nào có kết nối Internet và mở cổng công khai.

Shodan đặc biệt hữu ích trong việc kiểm tra bảo mật các thiết bị IoT (Internet Of Things), giúp nhanh chóng phát hiện các thiết bị trực tuyến và các lỗ hổng bảo mật. Dữ liệu của Shodan được cập nhật liên tục 24/7, đảm bảo tính chính xác và kịp thời.

Shodan Hoạt Động Như Thế Nào?

Shodan (Sentient Hyper-Optimized Data Access Network) hoạt động theo quy trình sau:

  1. Tạo Địa Chỉ IPv4 Ngẫu Nhiên: Shodan bắt đầu bằng cách tạo một địa chỉ IPv4 ngẫu nhiên.
  2. Chọn Cổng Dịch Vụ Ngẫu Nhiên: Tiếp theo, nó chọn một cổng dịch vụ ngẫu nhiên và gửi một câu lệnh kiểm tra.
  3. Phân Tích Phản Hồi: Shodan phân tích nội dung phản hồi (Service Banner) từ thiết bị để xác định loại thiết bị và dịch vụ đang chạy.
  4. Lặp Lại Quá Trình: Quá trình này được lặp lại liên tục với các địa chỉ IP và cổng dịch vụ mới.

Thuật toán này đảm bảo tính ngẫu nhiên và tránh gây ra quá tải kết nối đến một thiết bị duy nhất.

Các cổng dịch vụ mà Shodan thường xuyên quét bao gồm:

  • Port 554 – Real Time Streaming Protocol (RTSP)
  • 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, và 80 – HTTPS/HTTP

Hướng Dẫn Sử Dụng Shodan

Bước 1: Đăng Ký Tài Khoản

Bạn có thể truy cập sentayho.com.vn (ví dụ) để đăng ký tài khoản. Việc đăng ký không bắt buộc, nhưng nó cho phép bạn tìm kiếm nhiều kết quả hơn và sử dụng các bộ lọc tìm kiếm nâng cao (ví dụ: net filters, country).

Bước 2: Tìm Kiếm Từ Khóa

Nhập từ khóa vào ô tìm kiếm trên Shodan. Ví dụ, nếu bạn tìm kiếm “Apache”, Shodan sẽ trả về danh sách các máy chủ Apache công khai, cùng với các thông tin liên quan:

  • Total results: Tổng số kết quả tìm thấy.

  • Results map: Bản đồ hiển thị mật độ các khu vực trên thế giới có kết quả phù hợp.

  • Top countries: Các quốc gia có số lượng kết quả nhiều nhất.

  • Top operating systems: Các hệ điều hành được sử dụng phổ biến nhất.

  • Top services (Ports): Các cổng dịch vụ được mở phổ biến nhất.

Khi bạn nhấp vào một địa chỉ IP cụ thể, bạn sẽ thấy thông tin chi tiết như cổng đang mở, dịch vụ đang chạy và các lỗ hổng bảo mật (CVE) liên quan.

Để tìm kiếm chính xác hơn, hãy sử dụng dấu ngoặc kép (“”), kết hợp các toán tử “+” (để thêm) hoặc “-” (để loại trừ) để lọc kết quả. Ví dụ: Apache +os:windows.

Shodan Có Hợp Pháp Không?

CNN Business đã gọi Shodan là “công cụ tìm kiếm đáng sợ nhất trên Internet”. Tuy nhiên, Shodan hoàn toàn hợp pháp. Nó chỉ thu thập dữ liệu có sẵn công khai trên Internet và báo cáo những gì nó tìm thấy.

Các Bộ Lọc (Filters) Nâng Cao

Để sử dụng Shodan hiệu quả hơn, bạn cần nắm vững các bộ lọc. Cấu trúc sử dụng filter: filtername:value.

  • city: Tìm kiếm thiết bị trong một thành phố cụ thể (ví dụ: city:hanoi).
  • country: Tìm kiếm thiết bị trong một quốc gia cụ thể (ví dụ: country:vn).
  • hostname: Tìm kiếm theo hostname hoặc domain (ví dụ: hostname:google.com).
  • 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 cổng cụ thể được mở.
  • before/after: Tìm kiếm trong một khoảng thời gian cụ thể.

Bạn có thể tham khảo thêm các bộ lọc khác tại Filter list shodan github.

Ví Dụ Về Sử Dụng Filter

  • Tìm kiếm web server chạy Apache tại Hà Nội:
    Apache city:hanoi 200 OK (200 OK thể hiện website trả về response code 200)

  • Tìm kiếm web server chạy IIS tại Việt Nam:
    IIS country:vn

  • Tìm kiếm các web có hostname “.edu.vn” với server chạy Apache:
    "Server apache" hostname:".edu.vn"

  • Tìm kiếm các thiết bị Cisco trong dải mạng cụ thể:
    cisco net:"216.219.143.0/24"

  • Tìm kiếm các máy tính chạy Windows 7 ở Việt Nam:
    os:"Windows 7" country:vn

  • Tìm kiếm các thiết bị đang mở cổng Telnet (23) ở Việt Nam:
    port:23 country:vn

Bạn có thể kết hợp nhiều bộ lọc để đạt hiệu quả tìm kiếm tốt nhất.

Export Kết Quả Tìm Kiếm Shodan

Shodan cho phép bạn xuất kết quả tìm kiếm theo nhiều định dạng khác nhau.

Ứng Dụng Shodan Trong Kiểm Thử Xâm Nhập (Pen Testing)

Shodan có thể hỗ trợ kiểm thử xâm nhập bằng cách:

  • Tìm kiếm và xác định các ứng dụng trên thiết bị/server: Sử dụng mã HTTP trả về, thông tin banner, phiên bản dịch vụ và các cổng dịch vụ đang mở.
  • Kiểm tra cấu hình thiết bị: Tuyệt đối KHÔNG sử dụng Shodan để xem hoặc thay đổi cấu hình các thiết bị mà không được phép, đặc biệt là các thiết bị sử dụng tài khoản/mật khẩu mặc định hoặc bị lộ thông tin.

Lưu ý quan trọng: Việc sử dụng Shodan để truy cập trái phép vào các hệ thống là vi phạm pháp luật và đạo đức nghề nghiệp.

Pen Testing: HTTP Status Codes

Tìm kiếm dựa trên phản hồi từ server:

  • 200 OK: Request thành công.
  • 401 Unauthorized: Request yêu cầu xác thực.
  • 403 Forbidden: Request bị từ chối, bất kể xác thực.

Ví Dụ Về Camera Hacking (Chỉ Mang Tính Chất Nghiên Cứu)

Cảnh báo: Việc thực hiện các hành vi xâm nhập trái phép là vi phạm pháp luật. Ví dụ này chỉ mang tính chất minh họa và không khuyến khích thực hiện.

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: http://14.*.*.*:8086/ (Thay * bằng các số thích hợp).

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 (ví dụ: admin/admin, admin/password, admin/123456).

Bước 4: Thử đăng nhập bằng mật khẩu mặc định.

Ví Dụ Về Server Hacking (Chỉ Mang Tính Chất Nghiên Cứu)

Cảnh báo: Việc thực hiện các hành vi xâm nhập trái phép là vi phạm pháp luật. Ví dụ này chỉ mang tính chất minh họa và không khuyến khích thực hiện.

Tìm kiếm các máy chủ Windows bị lỗi bảo mật CVE-2019-0708 (BlueKeep), một lỗi 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 Shodan: os:windows vuln:cve-2019-0708.

Bước 2: Kiểm tra xem server có bị lỗi CVE-2019-0708 hay không bằng các công cụ chuyên dụng như Metasploit Framework (chỉ dừng ở bước kiểm tra, không khai thác).

Kết Luận

Shodan là một công cụ tìm kiếm mạnh mẽ, hữu ích cho cả người làm bảo mật và người dùng thông thường. Nó giúp bạn xác định các thiết bị kết nối Internet, đánh giá rủi ro bảo mật và bảo vệ hệ thống của mình khỏi các cuộc tấn công không mong muốn. Tuy nhiên, hãy luôn sử dụng Shodan một cách có trách nhiệm và tuân thủ pháp luật.