Cách dễ nhất để truy cập dữ liệu Shodan thu thập được là thông qua giao diện wbe. Hầu như mọi giao diện đều cho phép bạn nhập một lệnh tìm kiếm, nên hãy thảo luận điều đó trước tiên.
Giải thích truy vấn tìm kiếm
Truy vấn tìm kiếm mặc định chỉ xem đoạn text banner chính chứ không tìm siêu dữ liệu. Ví dụ, nếu bạn đang tìm “Google” thì kết quả chỉ là những nơi có text “Google” trên banner, không bao gồm những kết quả về khu vực mạng của Google.
Như ở trên, một tìm kiếm cho từ khóa “Google” được phản hồi với nhiều thiết bị tìm kiếm Google mà tổ chức đã mua và kết nối với internet. Nó không phản hồi về server của Google. Shodan sẽ cố gắng tìm kết quả phù hợp với tất cả các thuật ngữ tìm kiếm. Điều đó có nghĩa là có một dấu + hoặc AND ẩn giữa các thuật ngữ tìm kiếm. Ví dụ, lệnh tìm kiếm “apache + 1.3” tương đương với “apache 1.3”.
Để tìm siêu dữ liệu bạn phải sử dụng bộ lọc tìm kiếm.
Giới thiệu bộ lọc
Bộ lọc là những từ khóa đặc biệt mà Shodan dùng để thu hẹp kết quả tìm kiếm dựa trên siêu dữ liệu của dịch vụ hay thiết bị. Format nhập bộ lọc là:
Quan trọng: không có khoảng trống giữa dấu “:” và value.
Để sử dụng một giá trị chứa khoảng trống với bộ lọc, bạn phải gói giá trị vào giữa dấu ngoặc kép. Ví dụ, để tìm tất cả thiết bị trên internet đặt ở San Diego, bạn sẽ tìm:
Một vài bộ lọc cho phép bạn định rõ nhiều giá trị cách nhau bởi dấu phẩy “,”. Ví dụ, để tìm thiết bị đang chạy Telnet trên port 23 và 1023.
Nếu bộ lọc không cho phép dấu phẩy trong giá trị của nó (ví dụ: port, hostname, net) thì nó sẽ hỗ trợ nhiều giá trị.
Bộ lọc có thể sử dụng để loại trừ kết quả bằng cách thêm vài dấu trừ “-“ trước bộ lọc. Ví dụ, lệnh sau sẽ phản hồi mọi thiết bị không được đặt ở San Diego:
Có nhiều trường hợp loại trừ tốt hơn bao gồm. Ví dụ, truy vấn tìm kiếm sau đây sử dụng hash:0 để cung cấp kết quả cho dịch vụ trên port 8080, nơi mà text banner chính không trống:
Mọi banner trên Shodan có một thuộc tính hash bằng số; với banner trống giá trị trên là 0. Nếu bạn đang tìm một banner tĩnh ngắn thì bộ lọc hash có thể là lựa chọn tốt. Shodan hỗ trợ nhiều bộ lọc, một vài bộ lọc phổ biến bao gồm:
Tên bộ lọc | Mô tả | ví dụ |
Phân loại | Những loại săn có: ics, malware | |
Thành phố | Tên thành phố | |
Quốc gia | Tên đầy đủ quốc gia | |
net | Chỉ đưa ra kết quả trong vùng IP cung cấp trong format CIDR | net:190.30.40.0/24 |
org | Thu hẹp kết quả dựa tren tổ chức sở hữu IP | org:"Verizon Wireless" |
Xem phụ lục B để tìm hiểu danh sách đầy đủ bộ lọc tìm kiếm sẵn có.
Công cụ tìm kiếm Shodan
Giao diện chính để truy cập dữ liệu thu thập bởi Shodan là qua công cụ tìm kiếm của nó ở https://www.shodan.io
Truy vấn tìm kiếm mặc định tìm dữ liệu thu thập được trong 30 ngày gần nhất. Đây là một thay đổi từ website cũ ở shodanhq.com, website cũ được mặc định tìm toàn bộ dữ liệu. Điều này có nghĩa là kết quả bạn tìm được ở website là mới nhất và cung cấp hình ảnh chính xác của Internet ở thời điểm hiện tại.
Bên cạnh tìm kiếm, website cũng cung cấp những chức năng sau:
Sau khi tìm kiếm, sẽ có một nút xanh hiện lên ở bên trên, mang tên Tải dữ liệu. Click vào nút đó, bạn sẽ có những lựa chọn để tải về kết quả tìm kiếm trong các format như JSON, CSV hay XML
Format JSON tạo ra một tệp trong đó mỗi dòng chứa banner đầy đủ và tất cả đều kèm theo siêu dữ liệu mà Shodan thu thập. Đây là một format được ưa thích bởi vì nó tải về mọi thông tin có sẵn. Và format này tương thích với client dòng-lệnh Shodan, nghĩa là bạn có thể tải dữ liệu từ website Shodan và xử lí tiếp qua thiết bị cuối.
Format CSV phản hồi với một tệp chứa IP, port, banner, tổ chức và tên host cho banner. Nó không chứa thông tin Shodan thu thập do các giới hạn trong format tệp CSV. Sử dụng format này nếu bạn chỉ quan tâm đến thông tin cơ bản của kết quả và muốn nhanh chóng tải nó lên những công cụ bên ngoài như Excel.
Format XML là một phương pháp cũ để lưu kết quả tìm kiếm. Format này khó để làm việc hơn JSON và tốn nhiều dung lượng hơn, do đó nó chỉ là phương án dự bị trong nhiều trường hợp.
Tải về dữ liệu tốn export credit, những thứ dùng một lần và được bán trên website. Chúng không kết nối với Shodan API và chúng không tự động làm mới mỗi tháng. 1 export credit có thể sử dụng để tải về lên đến 10000 kết quả.
Khi bạn tạo báo cáo, bạn đang yêu cầu Shodan chụp nhanh hình ảnh kết quả tìm kiếm và cung cấp cái nhìn tổng hợp. Khi báo cáo hoàn thành, nó không thay đổi hay tự động cập nhật về dữ liệu mới. Điều đó cũng có nghĩa là bạn có thể tạo báo cáo một lần mỗi tháng và theo dõi mọi sự thay đổi bằng cách so sánh nó với bản báo cáo tháng trước
Tìm những thiết bị nhất định đòi hỏi thông tin về phần mềm thiết bị này chạy và cách chúng phản ứng với banner trên internet. May mắn là, có thể dùng kiến thức đã chia sẻ từ cộng đồng qua thư mục tìm kiếm trong Shodan. Mọi người có thể mô tả, gắn thẻ và chia sẻ truy vấn tìm kiếm của họ cho những người khác. Nếu bạn hứng thú với Shodan, những tìm kiếm đã chia sẻ có thể là điểm dừng đầu tiên của bạn
Chú ý: truy vấn tìm kiếm đã chia sẻ ở chế độ xem công khai. Không chia sẻ truy vấn nhạy cảm hoặc những truy vấn bạn không muốn người khác biết
Một phản ứng thường thấy khi tôi nói về những thiết bị có trên internet là một thứ tương tự như sau:
Chạy dịch vụ (trong trường hợp này là Minecraft) trên một port không tiêu chuẩn là một cách khá tốt để ẩn nấp. Trong vòng tròn bảo mật, đây được xem là khái niệm bảo mật obscurity, và nó được xem là một ý tưởng khá cũ và không hiệu quả. Điều tệ hơn là nó có thể phản hồi chủ server/ thiết bị một mức bảo mật sai. Ví dụ, hãy xem OpenSSH chạy trên port không tiêu chuẩn. Để làm được điều này, chúng ta sử dụng truy vấn tìm kiếm sau:
Bộ lọc sản phẩm cho thấy server OpenSSH trong khi –port:22 yêu cầu Shodan loại bỏ các kết quả thu thập được từ port SSH tiêu chuẩn (22). Để có cái nhìn toàn diện hơn về kết quả tìm kiếm, hãy tạo một báo cáo:
Báo cáo cũng cho thấy danh sách những port không tiêu chuẩn phổ biến nhất:
1. 2222: 323,930
2. 5000: 47,439
3. 23: 13,482
4. 26: 7,569
5. 5555: 6,856
6. 9999: 6,286
7. 82: 6,046
8. 2323: 3,622
9. 6666: 2,735
10. 3333: 2,644
Tôi không cho rằng những con số này là ngẫu nhiên. Bạn nên nhận ra ngay rằng port không tiêu chuẩn bạn chọn ngẫu nhiên không thể độc đáo như thế nào. Port 2222 phổ biến tương tự như HTTP trên port 8080, và nó cũng là port mặc định của honeypot Kippo, mặc dù tôi không chắc là có nhiều người còn chạy honeypots. Port phổ biến thứ hai là 5000, không giống mô hình của các port khác (số lặp lại/ đối xứng). Tôi phát hiện nó cùng lúc tôi nhận ra Australia là đất nước thứ hai phổ biến chạy OpenSSH trên một port không tiêu chuẩn. Tôi quyết định xem xét kĩ nước Úc hơn, và kết quả là số lượng server chạy OpenSSH trên port 5000 gần giống với số lượng server chạy trên port mặc định 22. Khoảng 68,000 thiết bị đang chạy trên port mặc định, và 54,000 trên port 5000. Nhìn qua một số banner thì chúng ta xác định được rằng đây là fingerprint SSH mà chúng ta đều có:
5b:a2:5a:9a:91:28:60:9c:92:2b:9e:bb:7f:7c:2e:06
Có thể thấy rằng Australian ISP BigPond cài đặt/ thiết lập truyền động mạng, cơ cấu này không chỉ chạy OpenSSH trên port 5000 (xu hướng lớn là dành cho quản lí từ xa) mà còn có key SSH giống nhau. Thiết bị cũng chạy một phiên bản cũ phát hành từ 04/09/2007 của OpenSSH. Không có cơ sở nào khẳng định chạy OpenSSH trên port mặc định tăng tính bảo mật của nó, nhưng 54,000 thiết bị cài đặt OpenSSH chiếm 25% tổng số server SSH chạy phiên bản 4.7 trên internet (Chú ý: phiên bản phổ biến nhất của OpenSSH là 5.3).
Bản đồ Shodan
Bản đồ Shodan là một cách để quan sát kết quả tìm kết qua hình ảnh thay vì website văn bản chính. Nó trình bày lên đến 1,000 kết quả một lúc và khi bạn phóng to (phóng nhỏ), bản đồ sẽ điều chỉnh truy vấn tìm kiếm để cho thấy kết quả ở nơi bạn đang tìm.
Tất cả bộ lọc tìm kiếm sử dụng ở website Shodan chính cũng được dùng ở bản đồ.
Shodan Exploits
Shodan exloits thu thập những lỗ hổng và vật phẩm từ CVE, Exploit DB và Metasploit để biến chúng thành có thể tìm kiếm qua giao diện web.
Bộ lọc tìm kiếm sẵn có của Exploits khác với phần còn lại của Shodan, dù người ta đã cố gắng để làm chúng giống nhau.
Quan trọng: exploits mặc định tìm kiếm toàn bộ nội dung của thông tin exploit sẵn có, bao gồm siêu dữ liệu. Đây chính là điểm khác biệt, vì Shodan chỉ tìm banner text nếu không chỉ định các bộ lọc khác.
Những bộ lọc tìm kiếm sau được hỗ trợ:
Tên | Mô tả |
Tác giả | Tác giả của lổ hổng / exploit |
Mô tả | Mô tả |
Nền tảng | Nền tảng mục tiêu của nó (ví dụ như php, windows, linux...) |
Loại | Loại exploit (ví dụ như remote, dos...) |
Hình ảnh Shodan
Để xem qua các ảnh chụp màn hình của Shodan một cách nhanh chóng, hãy đến Hình ảnh Shodan. Nó là một giao diện đơn giản với bộ lọc has_screenshot.
Hộp tìm kiếm ở trên sử dụng cú pháp tương tự như công cụ tìm kiếm chính của Shodan. Hộp tìm kiếm hữu ích nhất khi lọc bởi tổ chức hay netblock. Tuy nhiên, nó cũng có thể dùng để lọc loại hình ảnh như trên.
Dữ liệu hình ảnh được thu thập từ 5 nguồn khác nhau:
Mỗi nguồn hình ảnh đến từ một port/ dịch vụ khác nhau và do đó có banner khác nhau.
Điều này có nghĩa là nếu bạn chỉ muốn xem hình ảnh từ webcams bạn nên tìm:
HTTP
Để tìm VNC bạn có thể tìm kiếm sử dụng RFB và tìm RTSP bạn tìm kiếm với RTSP.
Hình ảnh cũng có thể được tìm thấy nhờ website chính của Shodan hay bản đồ Shodans sử dụng truy vấn
Làm thử ví dụ