Shodan – Search Engine for Hackers

Hôm nay rảnh do đã thi cử và dạy dỗ xong nên ngồi soạn giáo trình lớp Shodan, các bạn review xem bước dịch đã ngọt chưa hay còn khô cứng, nhưng vấn đề là đọc có thể hiểu mới là quan trọng……
 
Shodan API
 

Introduction – Giới Thiệu

 
 
Shodan là một công cụ tìm kiếm các thiết bị kết nối Internet. Khác với các công cụ tìm kiếm trên web như Google hay Bing thường dùng để tìm các trang web. Nhưng điều gì sẽ xảy ra nếu bạn quan tâm đến việc tìm kiếm các máy tính chạy một phần mềm nhất định (chẳng hạn như Apache)? Hoặc nếu bạn muốn biết phiên bản Microsoft IIS nào phổ biến nhất? Hay bạn muốn xem có bao nhiêu máy chủ FTP ẩn danh? Và có một lỗ hổng mới xuất hiện và bạn muốn xem có bao nhiêu máy chủ có thể lây nhiễm? Công cụ tìm kiếm web truyền thống không thể cho bạn câu trả lời chính xác nhất cho những câu hỏi đó. Nói đến đây, chắc các bạn có thể liên tưởng làm sao mà VnCERT hay BKIS và những nhóm khác có thể đưa ra thống kê tại Việt Nam có hơn 30 % máy chủ bị lỗ hỗng RDP, hay bao nhiêu máy có thể bị lây nhiễm bởi Wanna Cry, tôi không có ý nói là họ sẽ dùng Shodan mà có khả năng là Nmap Nse nhưng với Shodan ta cũng có thể đưa ra các cảnh báo đầy thú vị.
 
Để nắm vững công cụ này, không việc gì khác ngoài cách học và thực hành nó, chúng ta có thể tự học hoặc học từ các chuyên gia qua những chương trình đào tạo Online đây hiệu quả của Security365 hay CEH VIỆT NAM …
 

Banner hay Biểu Ngữ

Đơn vị cơ bản của dữ liệu mà Shodan tập hợp là biểu ngữ hay thường được gọi là banner. Đây là thông tin dạng văn bản mô tả một dịch vụ trên thiết bị. Đối với các máy chủ web, đây sẽ là các tiêu đề được trả về khi chạy dịch vụ Telnet, hoặc có thể là màn hình đăng nhập.  Và để quen thuộc với thuật ngữ infosec thì ta sẽ dùng banner thay cho biểu ngữ nhé các bạn…
Nội dung của banner thay đổi tùy thuộc vào loại dịch vụ. Ví dụ: đây là một banner HTTP điển hình:
HTTP/1.1 200 OK
Server: nginx/1.1.19
Date: Sat, 03 Oct 2015 06:09:24 GMT
Content-Type: text/html; charset=utf-8 Content-Length: 6466
Connection: keep-alive
 
Banner trên cho thấy thiết bị đang chạy phần mềm máy chủ web nginx với phiên bản 1.1.19. Để thấy sự khác nhau của các loại banner, hay xem một banner cho giao thức hệ thống điều khiển công nghiệp Siemens S7 mà Shodan trả về:
Copyright: Original Siemens Equipment PLC name: S7_Turbine
Module type: CPU 313C
Unknown (129): Boot Loader          A Module: 6ES7 313-5BG04-0AB0  v.0.3
Basic Firmware: v.3.3.8
Module name: CPU 313C
Serial number of module: S Q-D9U083642013 Plant identification:
Basic Hardware: 6ES7 313-5BG04-0AB0 v.0.3
 
Giao thức Siemens S7 trả về một banner hoàn toàn khác, lần này là cung cấp thông tin về phần firmware, số sê-ri và rất nhiều dữ liệu chi tiết để mô tả thiết bị.
 
Nếu đã thực hành nhiều về tiến trình Footpringting thì các bạn hẳn còn nhớ các chứng năng service fingerpringting hay OS finger printing với Nmap, hay banner grabbing bằng netcat … Nếu chưa thử thì hãy thử ngay trên môi trường lab ảo của CEH v10 do CEH VIETNAM cung cấp & đào tạo
Bạn phải quyết định loại dịch vụ nào mà bạn quan tâm khi tìm kiếm trong Shodan vì các banner khác nhau rất nhiều. Điều này là hiển nhiên, vì ta phải biết mục tiêu của mình là gì !
 

Lưu ý: Shodan cho phép bạn tìm kiếm các banner chứ không phải máy chủ lưu trữ. Điều này có nghĩa là nếu một IP duy nhất hiển thị nhiều dịch vụ thì chúng sẽ được biểu diễn dưới dạng kết quả riêng biệt.