Mô tả

Task
Task 1: Introduction
Đọc bài blog để có phần giải thích chi tiết hơn. Phòng (room) được tạo bởi BeeSec.
Shodan.io là công cụ tìm kiếm dành cho Internet of Things (IoT). Bạn từng thắc mắc làm sao tìm được các camera CCTV đang công khai trên mạng? Hoặc muốn biết có bao nhiêu Pi-hole đang mở ra internet? Hay thậm chí máy pha cà phê ở văn phòng có “lên mạng” không?
Shodan.io chính là câu trả lời! Shodan quét toàn bộ internet và lập chỉ mục (index) các dịch vụ đang chạy trên từng địa chỉ IP.
Lưu ý: nếu bạn làm theo, bạn sẽ cần tài khoản Shodan loại premium.
Tìm kiếm dịch vụ
Giả sử chúng ta đang pentest một công ty và muốn biết một máy chủ của họ đang chạy những dịch vụ gì.
Chúng ta cần lấy địa chỉ IP của họ. Có thể làm việc này bằng lệnh ping.
Ta ping tryhackme.com và phản hồi ping sẽ cho biết địa chỉ IP của họ.
Sau đó, đưa địa chỉ IP này vào Shodan sẽ được:

Ta thấy TryHackMe chạy trên Cloudflare tại Hoa Kỳ và họ mở nhiều cổng.
Cloudflare hoạt động như một proxy giữa TryHackMe và máy chủ thực. Nếu đang pentest một công ty lớn, thông tin này không hữu ích lắm. Ta cần cách lấy được các địa chỉ IP thật của họ.
Ta có thể làm điều này bằng Số Hệ Tự Trị (ASN).
Số Hệ Tự Trị (Autonomous System Numbers)
ASN là một định danh toàn cục cho một dải địa chỉ IP. Nếu bạn là một công ty khổng lồ như Google, bạn thường có ASN riêng cho toàn bộ địa chỉ IP mà bạn sở hữu.
Ta có thể đưa địa chỉ IP vào một công cụ tra cứu ASN như https://asnlookup.com/,
Công cụ cho biết ASN là AS14061.
TryHackMe không phải tập đoàn cực lớn, nên họ không sở hữu ASN của riêng mình. Khi tìm AS14061 trên Google, ta thấy đó là ASN của DigitalOcean.
Trên Shodan.io, ta có thể tìm kiếm bằng bộ lọc ASN. Cú pháp bộ lọc là ASN:[number], trong đó number là số lấy được ở bước trước, ở đây là AS14061.
Làm vậy, ta có thể thấy cả một dải (thực tế là khoảng 6,2 triệu website) nằm trên một ASN duy nhất!
https://www.shodan.io/search?query=asn%3AAS14061

Biết được ASN rất hữu ích, vì ta có thể tìm trên Shodan các thứ như máy pha cà phê hay các máy dễ tổn thương bên trong ASN của mình - which ta biết (nếu là một công ty lớn) chính là mạng nội bộ của ta.
Bắt đầu
Đến lúc đào sâu rồi! Nếu bị kẹt, hãy xem lại tác vụ trước để được trợ giúp! :)
Banner
Để khai thác Shodan hiệu quả, điều quan trọng là hiểu cú pháp truy vấn tìm kiếm.
Thiết bị chạy các dịch vụ, và Shodan lưu thông tin về chúng. Thông tin này được lưu trong một “banner”. Đây là phần nền tảng nhất của Shodan.
Một banner ví dụ như sau:
{
"data": "Moxa Nport Device",
"Status": "Authentication disabled",
"Name": "NP5232I_4728",
"MAC": "00:90:e8:47:10:2d",
"ip_str": "46.252.132.235",
"port": 4800,
"org": "Starhub Mobile",
"location":
{
"country_code": "SG"
}
}
Ta đang xem đầu ra của một cổng duy nhất, bao gồm thông tin về IP và chi tiết xác thực.
Bạn hầu như sẽ không thấy dạng này bên ngoài API, nên chúng ta sẽ không đi sâu thêm vào nó.

Task 2: Filters
Bộ lọc (Filters)
Trên trang chủ Shodan.io, bạn có thể bấm Explore để xem các truy vấn tìm kiếm được upvote nhiều nhất. Phổ biến nhất là webcams.
Lưu ý: Đây là vùng “xám”. Xem webcam công khai là hợp pháp; cố gắng xâm nhập webcam có mật khẩu là trái pháp luật. Hãy cân nhắc và tìm hiểu luật của nước bạn!
Một truy vấn được upvote nhiều khác là tìm các CSDL MySQL:
https://www.shodan.io/search?query=product%3AMySQL
Nếu nhìn kỹ, bạn sẽ thấy đây là một bộ lọc khác:
product:MySQL
Biết vậy, ta có thể kết hợp 2 truy vấn thành một.
Trên ASN của TryHackMe, hãy thử tìm các máy chủ MySQL:
asn:AS14061 product:MySQL
Và… ta-da! Ta đã có danh sách các máy chủ MySQL trên ASN của TryHackMe (thực chất là ASN của DigitalOcean):
https://www.shodan.io/search?query=asn%3AAS14061+product%3AMySQL
Shodan có rất nhiều bộ lọc mạnh. Mình thích nhất là bộ lọc vuln, cho phép tìm các IP dễ bị tấn công bởi một khai thác cụ thể.
Ví dụ muốn tìm host dễ bị EternalBlue:
vuln:ms17-010
Tuy nhiên, bộ lọc này chỉ dành cho tài khoản học thuật hoặc doanh nghiệp, để hạn chế lạm dụng!
Một số bộ lọc hữu ích khác:
- city: (Thành phố)
- country: (Quốc gia)
- geo: (tọa độ địa lý)
- hostname: (tên host)
- net: (theo IP/CIDR)
- os: (hệ điều hành)
- port: (cổng)
- before: / after: (khung thời gian)
API
Shodan.io có API (cần tài khoản), nên phần này không đi sâu ở đây.
Nếu muốn khám phá Shodan API, xem bài viết tìm Pi-Hole bằng API tại:
https://github.com/beesecurity/How-I-Hacked-Your-Pi-Hole/blob/master/README.md
API cho phép tìm kiếm Shodan bằng lập trình và nhận về danh sách địa chỉ IP. Nếu là doanh nghiệp, bạn có thể viết script để quét dải IP của mình xem có host nào dễ tổn thương không.
P/S: Bạn có thể tự động áp dụng bộ lọc trên Shodan bằng cách bấm vào các mục ở thanh bên trái!

Task 3: Google & Filtering

Task 4: Shodan Monitor
Shodan Monitor là một ứng dụng dùng để theo dõi các thiết bị trong mạng của chính bạn. Theo lời họ:
“Theo dõi các thiết bị bạn đã để lộ ra Internet. Thiết lập thông báo, khởi chạy các bản quét và có được cái nhìn đầy đủ về những gì bạn đang kết nối.”
Trước đây chúng ta phải làm việc này bằng API của họ, nhưng giờ đã có ứng dụng đẹp đẽ này.
Truy cập bảng điều khiển (dashboard) tại liên kết:
https://monitor.shodan.io/dashboard
Bạn sẽ thấy hệ thống yêu cầu một dải IP.

Khi thêm một mạng xong, ta có thể thấy nó trong dashboard.

Nếu bấm vào biểu tượng bánh răng (cài đặt), ta sẽ thấy có một loạt các “bản quét” mà Shodan thực hiện đối với mạng của chúng ta.

Bất cứ khi nào Shodan phát hiện lỗ hổng bảo mật thuộc một trong các danh mục này, họ sẽ gửi email cho chúng ta.
Quay lại dashboard, bạn sẽ thấy nó trình bày một số mục:

- Top Open Ports (các cổng mở phổ biến nhất)
- Top Vulnerabilities (các lỗ hổng quan trọng cần xử lý ngay)
- Notable Ports (các cổng mở bất thường)
- Potential Vulnerabilities (các lỗ hổng tiềm ẩn)
- Notable IPs (các địa chỉ IP đáng chú ý cần điều tra kỹ hơn)
Điểm thú vị là bạn thực sự có thể giám sát mạng của người khác bằng công cụ này. Với bug bounty, bạn có thể lưu một danh sách IP và Shodan sẽ email cho bạn nếu họ phát hiện vấn đề nào đó.
Lưu ý: Đây là sản phẩm premium, nhưng vào các dịp Black Friday thường có tài khoản Shodan giá 1 USD.

Task 5: Shodan Dorking
Shodan có vài trang web “dorks” rất hay giúp chúng ta tìm kiếm nhiều thứ. Các trang ví dụ tìm kiếm của họ có liệt kê sẵn.
Một vài cái thú vị gồm:
has_screenshot:trueencrypted attention
Dork này dùng nhận dạng ký tự quang học (OCR) trên ảnh chụp màn hình và thông tin “remote desktop” để tìm các máy trên internet có dấu hiệu bị ransomware xâm nhập (thường hiện thông báo “encrypted”, “attention”, …).
screenshot.label:ics
Tìm các ảnh chụp màn hình mà Shodan gắn nhãn liên quan đến ICS (Industrial Control Systems – hệ thống điều khiển công nghiệp).

vuln:CVE-2014-0160
Tìm các máy kết nối internet dễ tổn thương với Heartbleed. Lưu ý: tìm theo CVE chỉ dành cho thuê bao học thuật hoặc doanh nghiệp.
Tìm các hệ thống dính vụ SolarWinds Supply Chain Attack bằng favicon:
http.favicon.hash:-1776962843
Bạn có thể tìm thêm các Shodan Dorks khác trên GitHub.

Task 6: Shodan Extension
Shodan cũng có một tiện ích mở rộng (extension).
https://chrome.google.com/webstore/detail/shodan/jjalcfnidlmpjhdfepjhjbhnhkbgleap
Sau khi cài đặt, bạn có thể bấm vào biểu tượng của tiện ích và nó sẽ cho biết địa chỉ IP của webserver đang chạy, các cổng nào đang mở, máy chủ đặt ở đâu và liệu có vấn đề bảo mật nào hay không.
Mình nghĩ đây là một tiện ích hữu ích cho những ai quan tâm đến bug bounty, vì có thể nhanh chóng nhận biết hệ thống có vẻ dễ bị tấn công hay không dựa trên kết quả Shodan.

P/S: Đó là ảnh chính thức của tiện ích. Xin lỗi vì ảnh bị mờ!

Task 7: Exploring the API & Conclusion
Shodan.io có API! Nó yêu cầu có tài khoản, nên tôi sẽ không bàn về nó ở đây.
Nếu bạn muốn khám phá Shodan API, tôi đã viết một bài blog về cách tìm Pi-Hole bằng API tại đây:
https://github.com/beesecurity/How-I-Hacked-Your-Pi-Hole/blob/master/README.md
API cho phép chúng ta tìm kiếm Shodan bằng lập trình và nhận lại danh sách địa chỉ IP. Nếu là doanh nghiệp, chúng ta có thể viết script để kiểm tra dải IP của mình xem có địa chỉ nào dễ bị tấn công hay không.
P/S: Bạn có thể tự động áp dụng bộ lọc trên Shodan bằng cách nhấp vào các mục ở thanh bên trái!
'Labs > Information Gathering' 카테고리의 다른 글
| Sakura Room - TryHackMe (0) | 2025.10.27 |
|---|---|
| OhSINT - TryHackMe (0) | 2025.10.26 |
| Nmap Live Host Discovery - TryHackMe (0) | 2025.10.25 |
| Active Reconnaissance - TryHackMe (0) | 2025.10.25 |
| Passive Reconnaissance - TryHackMe (0) | 2025.10.24 |