SELF HOSTING

Sherlock – Công cụ OSINT truy vết username trên hơn 400 mạng xã hội

Tóm tắt nhanh (Key Takeaways)

  • Sherlock là công cụ OSINT mã nguồn mở giúp bạn kiểm tra một username xuất hiện trên hơn 400 mạng xã hội và website chỉ với một lệnh CLI.
  • Dự án hỗ trợ nhiều cách cài đặt chính thức như pipx/pip, dnf, gói distro và Docker image sherlock/sherlock, dễ tích hợp vào mọi workflow từ local tới server.
  • Bạn có thể tìm một hoặc nhiều username cùng lúc, lọc theo site, xuất kết quả CSV/XLSX, dùng proxy hoặc Tor và mở ngay các profile tìm được trên trình duyệt.
  • Sherlock cực kỳ hữu dụng cho OSINT, kiểm tra thương hiệu, digital footprint, threat intel – nhưng chỉ làm việc với dữ liệu công khai, không vượt qua cài đặt riêng tư hay bảo mật tài khoản.

Sherlock là một công cụ dòng lệnh viết bằng Python, được thiết kế để “săn” sự xuất hiện của một username trên rất nhiều mạng xã hội và website khác nhau. Thay vì tự tay mở từng nền tảng để kiểm tra, bạn chỉ cần đưa vào một hoặc nhiều username và để Sherlock tự động dựng URL, gửi request và trả về nơi username đó tồn tại.

Theo tài liệu chính thức, Sherlock hiện hỗ trợ kiểm tra trên hơn 400 mạng xã hội và dịch vụ công khai, trải dài từ các nền tảng phổ biến như GitHub, Reddit, Instagram đến các forum ngách phục vụ OSINT và điều tra số. Dự án được phát triển bởi Sherlock Project, mã nguồn mở theo giấy phép MIT nên bạn có thể tự do sử dụng, fork, tùy biến trong nhiều kịch bản khác nhau.

Lợi ích của Sherlock cho OSINT và công việc hàng ngày

Về bản chất, Sherlock giải quyết một tác vụ lặp lại và dễ sai nếu làm thủ công: kiểm tra cùng một username trên hàng trăm nền tảng. Nó tự động dựng đường dẫn profile có khả năng tồn tại, gửi request, phân tích phản hồi và phân loại username được tìm thấy hay không.

Trong thực tế, Sherlock hữu ích cho nhiều nhóm người dùng:

  • Chuyên gia OSINT, điều tra số, threat intel muốn nhanh chóng lập bản đồ sự hiện diện online của một nickname.
  • Chủ doanh nghiệp, marketer, brand builder cần kiểm tra username trước khi đăng ký thương hiệu hoặc tài khoản chính thức.
  • Nhà nghiên cứu bảo mật, pentester dùng để hỗ trợ bước reconnaissance trong các bài kiểm thử.

Quan trọng là Sherlock chỉ làm việc với dữ liệu public – nó không vượt qua cài đặt riêng tư, không “bẻ khóa” tài khoản hay truy cập dữ liệu nội bộ, mà chỉ dựa trên pattern URL và phản hồi HTTP.

Tổng quan các cách cài đặt Sherlock

Dự án hỗ trợ nhiều phương thức cài đặt khác nhau, từ pipx/pip cho người dùng Python tới gói distro và Docker cho môi trường container. Đây là lợi thế lớn nếu bạn muốn tích hợp Sherlock vào pipeline tự động, server hoặc môi trường self-hosted.

Trang chủ dự án và tài liệu cài đặt chính thức nằm tại:

Cài đặt bằng pipx (khuyến nghị)

Đây là cách được team chính thức ưu tiên vì cô lập môi trường tốt hơn pip thông thường.

pipx install sherlock-project

Sau khi cài, bạn có thể kiểm tra nhanh bằng lệnh:

sherlock --version

pipx sẽ tạo môi trường riêng cho Sherlock, hạn chế xung đột dependency với các project Python khác trên máy.

Cài đặt bằng pip classic

Nếu không dùng pipx, bạn vẫn có thể cài bằng pip ở chế độ user-space:

pip install --user sherlock-project

Cách này đủ nhẹ cho máy cá nhân, chỉ cần đảm bảo ~/.local/bin (hoặc thư mục tương đương trên hệ điều hành của bạn) nằm trong PATH để gọi được lệnh sherlock từ mọi nơi.

Cài đặt bằng dnf, apt hoặc các gói distro

Sherlock hiện có gói chính thức cho Fedora thông qua dnf với package sherlock-project và nhiều gói cộng đồng cho Kali, ParrotOS, Debian, Ubuntu, BlackArch,…

Ví dụ trên Fedora:

sudo dnf install sherlock-project
sherlock --version

Trên một số distro bảo mật như Kali hoặc ParrotOS, bạn có thể cài qua apt install sherlock từ kho do team bảo mật distro quản lý, dù những gói này không phải lúc nào cũng được dự án chính thức hỗ trợ trực tiếp.

Chạy Sherlock bằng Docker (cách linh hoạt cho server)

Nếu bạn không muốn cài Python package lên hệ thống hoặc muốn chạy trong môi trường container, có thể dùng Docker image chính thức.

Kéo image mới nhất:

docker pull sherlock/sherlock

Chạy một truy vấn đơn giản:

docker run --rm -t sherlock/sherlock user123

Nếu bạn cần lưu file kết quả ra thư mục host, hãy mount volume và đặt đường dẫn output của Sherlock trỏ vào đó:

mkdir -p results
docker run --rm -t -v "$PWD/results:/opt/sherlock/results" \
  sherlock/sherlock -o /opt/sherlock/results/user123.txt user123

Bạn cũng có thể dùng Docker Compose để cấu hình service sherlock và chạy nhiều truy vấn lặp lại trên server.

Cấu trúc lệnh cơ bản của Sherlock

Ngay sau khi cài đặt, pattern sử dụng Sherlock rất đơn giản: gọi sherlock kèm username cần tìm.

sherlock user123

Lệnh trên sẽ kiểm tra user123 trên tất cả site được hỗ trợ và tạo file kết quả user123.txt chứa danh sách site tìm thấy. Để tra cứu nhiều username một lúc, bạn chỉ việc liệt kê chúng trong cùng một lệnh:

sherlock user1 user2 user3

--help sẽ hiển thị danh sách đầy đủ các tuỳ chọn dòng lệnh, bao gồm timeout, export, filter site, proxy, Tor,… giúp bạn tinh chỉnh hành vi của Sherlock theo nhu cầu.

Các tuỳ chọn quan trọng bạn nên biết

Từ --help trong README, có vài flag rất đáng chú ý cho thực chiến:

  • --print-found: chỉ in những site có kết quả, tránh spam danh sách “not found”.
  • --print-all: in cả site có và không có kết quả, phù hợp khi bạn cần báo cáo đầy đủ.
  • **--csv / --xlsx**: xuất kết quả ra file CSV hoặc Excel để dễ xử lý/mailing/report.
  • --site SITE_NAME: giới hạn tìm kiếm vào một hoặc vài site cụ thể, lặp lại nhiều lần để thêm nhiều nền tảng.
  • **--output / --folderoutput**: tuỳ chỉnh file hoặc thư mục nơi Sherlock lưu kết quả, rất hữu ích khi build pipeline và đặt kết quả vào thư mục log riêng.
  • **--proxy / --tor**: định tuyến request qua proxy hoặc Tor (ví dụ socks5://127.0.0.1:1080) – điều này quan trọng nếu bạn muốn ẩn IP hoặc phân tán traffic.
  • --json: nạp danh sách site hoặc username từ file JSON hoặc URL JSON, tiện khi bạn muốn chạy batch trên nhiều giá trị từ script.

Nhờ các tuỳ chọn này, Sherlock không chỉ là công cụ gõ tay trên terminal, mà hoàn toàn có thể trở thành một “khối” trong workflow tự động của bạn.

Ví dụ workflow sử dụng Sherlock trong thực tế

Kiểm tra một username cho thương hiệu cá nhân

Giả sử bạn chuẩn bị xây dựng personal brand với username johndoe trên nhiều nền tảng. Bạn có thể bắt đầu bằng:

sherlock johndoe --print-found

Nếu thấy kết quả hữu ích và muốn lưu lại để phân tích sau, bạn có thể xuất CSV:

sherlock johndoe --print-found --csv

File CSV này sau đó có thể import vào Google Sheets hoặc dashboard nội bộ để đánh dấu những nền tảng đã chiếm username và nền tảng còn trống.

Thu hẹp tìm kiếm vào các site quan trọng

Khi bạn chỉ quan tâm một vài nền tảng như GitHub, Reddit, Instagram, không cần quét toàn bộ 400+ site:

sherlock johndoe \
  --site GitHub \
  --site Reddit \
  --site Instagram \
  --print-found

Nhờ đó, thời gian chạy nhanh hơn và kết quả tập trung đúng những nơi bạn xem là “core presence”.

Mẹo sử dụng Sherlock hiệu quả và an toàn

Để Sherlock hoạt động ổn định và tôn trọng giới hạn của các web dịch vụ, bạn nên lưu ý một vài điểm sau:

  • Đặt timeout hợp lý: sử dụng --timeout để tránh request treo quá lâu, đặc biệt khi chạy trên nhiều username trong môi trường automation.
  • Cân nhắc tần suất chạy: dù Sherlock không phá vỡ hệ thống bảo mật nào, việc spam request tới quá nhiều site trong thời gian ngắn có thể vi phạm terms của một số dịch vụ.
  • Dùng proxy/Tor khi cần: nếu bạn làm OSINT nhạy cảm hoặc không muốn lộ IP trực tiếp, hãy cấu hình --proxy hoặc --tor thay vì gõ trần trên IP thật.
  • Tôn trọng luật pháp và quyền riêng tư: Sherlock chỉ nên dùng cho mục đích hợp pháp như bảo mật, điều tra được uỷ quyền hoặc kiểm tra thương hiệu – không dùng để quấy rối hay doxxing người khác.

Câu hỏi thường gặp về Sherlock

Sherlock có miễn phí không?

Sherlock là dự án mã nguồn mở được phát hành theo giấy phép MIT, miễn phí sử dụng cho cả mục đích cá nhân và thương mại, miễn là bạn tuân thủ điều khoản license.

Tôi có cần API key hay extension trình duyệt để dùng Sherlock?

Không cần. Sherlock hoạt động hoàn toàn từ dòng lệnh, dựa trên pattern URL và phản hồi HTTP công khai, không yêu cầu API key hay plugin trình duyệt.

Sherlock có tìm được thông tin ẩn hoặc tài khoản private không?

Không. Sherlock chỉ kiểm tra username dựa trên dữ liệu public, không thể vượt qua cài đặt riêng tư, tường lửa hoặc các lớp bảo mật khác.

Có thể tích hợp Sherlock vào hệ thống tự động không?

Hoàn toàn có. Bạn có thể gọi Sherlock từ script Python, shell, n8n, cron job, hoặc dùng Docker image chính thức để chạy trong pipeline CI/CD, server OSINT hay hệ thống monitoring thương hiệu.


Với khả năng quét hơn 400 nền tảng, hỗ trợ đa dạng cách cài đặt và một bộ flag CLI linh hoạt, Sherlock là công cụ gần như “must-have” trong toolbox của bất kỳ ai làm OSINT, bảo mật, marketing hay xây dựng thương hiệu số nghiêm túc. Nếu bạn đang phát triển hệ thống tự động hoá, self-hosted hay workflow API-first, Sherlock rất dễ để được bọc lại thành service riêng hoặc tích hợp thẳng vào pipeline hiện có.

Duy Nghiện
Hãy làm khán giả, đừng làm nhân vật chính :)

You may also like

Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất