Chaos: Công cụ khai thác cơ sở dữ liệu con miền từ ProjectDiscovery

Giới thiệu công cụ
Chaos là một tiện ích dòng lệnh do ProjectDiscovery phát triển, chuyên truy vấn cơ sở dữ liệu Chaos để lấy danh sách con miền đã được lưu trữ cho các tên miền mục tiêu. Công cụ tích hợp trực tiếp với nền tảng ProjectDiscovery Cloud Platform (PDCP), hỗ trợ xử lý hàng loạt và xuất kết quả ở nhiều định dạng như văn bản thuần, JSON hoặc qua luồng chuẩn.

Cài đặt và cập nhật
Công cụ được phân phối dưới dạng nhị phân độc lập. Để đảm bảo tính ổn định và khả năng truy cập dữ liệu mới nhất:

# Cập nhật phiên bản mới nhất
chaos -up

# Vô hiệu hóa kiểm tra tự động phiên bản mới
chaos -duc

Cú pháp cơ bản
Tất cả lệnh đều bắt đầu bằng chaos, theo sau bởi các tùy chọn và tham số:

chaos [tùy_chọn]

Các tùy chọn chính

Xác thực

  • -key string: Thiết lập khóa API PDCP — bắt buộc để truy cập cơ sở dữ liệu. Không có khóa hợp lệ, yêu cầu sẽ bị từ chối.

Mục tiêu quét

  • -d string: Chỉ định tên miền đơn lẻ (ví dụ: google.com).
  • -dL string: Đọc danh sách tên miền từ tệp văn bản — mỗi dòng chứa một tên miền.

Xuất kết quả

  • -silent: Chỉ in ra danh sách con miền, không hiển thị thông báo trạng thái hay lỗi.
  • -o string: Ghi kết quả vào tệp đích (ví dụ: -o subs.out).
  • -json: Xuất dưới dạng mảng JSON với mỗi phần tử là một đối tượng chứa trường "domain".
  • -count: Trả về tổng số con miền tìm thấy, không liệt kê chi tiết.

Gỡ lỗi và thông tin hệ thống

  • -v hoặc -verbose: Kích hoạt chế độ ghi log chi tiết, hữu ích khi phân tích lỗi mạng hoặc phản hồi bất thường.
  • -version: Hiển thị phiên bản hiện tại của công cụ.

Ví dụ minh họa

1. Khai thác tên miền đơn

chaos -key abc123xyz -d github.com -silent

Kết quả mẫu:
api.github.com
assets.github.com
docs.github.com
status.github.com

2. Xử lý hàng loạt

chaos -key abc123xyz -dL targets.list -silent | sort -u > consolidated.txt

3. Thống kê nhanh

chaos -key abc123xyz -d microsoft.com -count

Đầu ra mẫu: Total subdomains found: 2984

4. Xuất JSON và tích hợp hệ thống

chaos -key abc123xyz -d netflix.com -json -o netflix_subs.json

Dữ liệu đầu ra có cấu trúc:

[
  {"domain": "artemis.netflix.com"},
  {"domain": "beta.netflix.com"},
  {"domain": "developer.netflix.com"}
]

5. Tích hợp với công cụ khác

Sử dụng kết quả làm đầu vào cho các bước phân tích sâu hơn:

# Kiểm tra trạng thái HTTP và tiêu đề
chaos -key abc123xyz -d twitter.com -silent | httpx -status-code -title -tech-detect

# Quét lỗ hổng trên toàn bộ con miền sống
chaos -key abc123xyz -d dropbox.com -silent | httpx -silent | nuclei -t cves/ -o dropbox_vulns.yaml

Lưu ý vận hành

  • Khóa API phải được quản lý an toàn — tránh hardcode trong script hoặc commit lên kho mã nguồn.
  • Mỗi tài khoản PDCP có giới hạn gọi API theo giờ/ngày; cần điều tiết tốc độ truy vấn khi xử lý quy mô lớn.
  • Chỉ sử dụng trên các tên miền thuộc quyền kiểm soát hoặc đã được ủy quyền rõ ràng.
  • Kết quả trả về phụ thuộc vào dữ liệu hiện có trong cơ sở dữ liệu Chaos — không đảm bảo bao phủ toàn bộ con miền thực tế.

Mẫu kịch bản tự động hóa

#!/bin/bash
API_TOKEN="${PDCP_KEY:-}"
DOMAINS_FILE="scope.txt"
OUTPUT_DIR="output/$(date +%Y%m%d)"

mkdir -p "$OUTPUT_DIR"

while IFS= read -r domain; do
  [[ -z "$domain" ]] && continue
  echo "[*] Đang xử lý: $domain"
  chaos -key "$API_TOKEN" -d "$domain" -silent -o "$OUTPUT_DIR/${domain//./_}.txt" 2>/dev/null
done < "$DOMAINS_FILE"

Xử lý sự cố thường gặp

  • Lỗi xác thực: Kiểm tra lại giá trị khóa API và đảm bảo chưa hết hạn.
  • Không trả về kết quả: Một số tên miền ít được giám sát hoặc chưa được ghi nhận trong Chaos — nên kết hợp với các công cụ như subfinder, amass.
  • Thời gian phản hồi chậm: Thêm sleep 1 giữa các yêu cầu khi chạy vòng lặp thủ công để tuân thủ giới hạn rate-limit.

Thẻ: chaos projectdiscovery subdomain-enumeration bug-bounty security-tooling

Đăng vào ngày 9 tháng 6 lúc 22:22