HackingTool: 185 công cụ bảo mật, một menu terminal
TL;DR
- Vấn đề: Pentest scope rộng, không nhớ hết tên 185 tool cần dùng
- Giải pháp: Một menu TUI để tìm, cài, cập nhật tất cả từ terminal
- Dành cho: CTF player, pentester, red teamer trên Linux
- Khác biệt:
/tìm theo keyword,rgợi ý theo task,97cài cả category - Verdict: Launcher tốt, không hack thay bạn, nhưng hết lý do mở Google tìm tên tool
Mô Hình Tư Duy
Ba tab Chrome. Hai Stack Overflow từ năm 2019. Một terminal đang chờ.
Lab HackTheBox đang chạy. Tool cần dùng tên là gì vậy? Cái quét subdomain kia, anh em hay dùng, cái chạy Go ấy.
Đây không phải pentest khó. Đây là vấn đề của hộp đồ nghề quá đầy: bạn biết cái kìm ở đâu đó, bạn đã cầm nó tuần trước, nhưng hôm nay mở tủ ra nhìn vẫn không thấy. Kết quả là ra ngoài mua thêm một cái mới, trong khi cái cũ đang nằm ở ngăn dưới cùng.
74,838 người star cái repo này, và tôi đoán phần lớn vì lý do tương tự.
Bên Trong Có Gì
HackingTool là trình launcher, không phải tool hack. Nó không tự quét mạng, không tự crack hash, không làm gì nếu các tool con chưa được cài.
Câu cần nhớ: repo này là mục lục có bộ nhớ, biết tool nào đã có trên máy bạn và có thể cài thêm gì.
Phiên bản v2.0.0 hiện có 185 công cụ trong 20 danh mục, với 19 tag để lọc. Ba category mới đáng chú ý nhất:
| Category | Công cụ tiêu biểu |
|---|---|
| Active Directory (mới) | BloodHound, Impacket, Certipy |
| Cloud Security (mới) | Prowler, Trivy, ScoutSuite |
| Mobile Security (mới) | MobSF, Frida, apktool |
| Web Attacks | SQLMap, XSStrike, Nikto |
| Password Attacks | Hashcat, John the Ripper, Hydra |
Ba domain mới này cũng là ba domain hot nhất trong pentest thị trường Việt Nam hiện tại. Không phải ngẫu nhiên.
35 công cụ được đánh dấu sao (★) nghĩa là modern và đang được maintain chủ động. Số còn lại vẫn trong danh sách nhưng không có dấu. Đây là cách repo nói “dùng cái này trước” mà không cần xoá cái cũ đi.
Cái repo không làm: cấu hình tool, lưu output, orchestrate workflow. Nó cài và mở. Phần còn lại là của bạn.
Khi Nào Nó Hữu Dụng
Tình huống 1: Bắt đầu lab mới, cần setup nhanh
Trước:
sudo apt install gobuster && pip install droopescan && \
git clone https://github.com/... && cd ... && sudo python3 setup.py
# Lặp lại 15 lần. 45 phút sau mới bắt đầu pentest.
Sau:
hackingtool
# Chọn [7] Web Attacks
# Nhấn 97
# → HackingTool tự cài toàn bộ Web Attack tools
10 phút, kể cả thời gian pha cà phê.
💡 Tip: Nếu làm cloud infra, thay vì cuộn qua 20 danh mục, nhấn t → chọn tag cloud → chỉ còn Prowler, ScoutSuite, Pacu, Trivy. Nhấn 97. Xong.
Tình huống 2: Không nhớ tên tool
# Nhấn / để tìm
/git secret
# Output:
# → TruffleHog [OK] installed
# → Gitleaks [OK] installed
# → git-dumper [--] not installed (press i to install)
# Hoặc nhấn r để mô tả bằng ngôn ngữ tự nhiên
r
# Nhập: find secrets in git history
# → Gợi ý: TruffleHog, Gitleaks
Ba giây thay vì ba tab Chrome.
Tình huống 3: Môi trường outdated sau vài tháng
# Vào [17] Active Directory
# Chọn BloodHound → Update
# → HackingTool detect cách cài (git/pip/go), tự pull update
Lý do cái này hay: bạn không cần nhớ BloodHound cài bằng pip hay npm hay gì. HackingTool nhớ thay.
Bắt Đầu Thế Nào
# Cách 1: Manual (nên dùng cách này)
git clone https://github.com/Z4nzu/hackingtool.git
cd hackingtool
sudo python3 install.py
hackingtool
# Cách 2: curl (nhanh, nhưng đọc script trước khi chạy)
curl -sSL https://raw.githubusercontent.com/Z4nzu/hackingtool/master/install.sh -o install.sh
cat install.sh # đọc toàn bộ trước
sudo bash install.sh
# Cách 3: Docker (không muốn cài thẳng lên máy host)
git clone https://github.com/Z4nzu/hackingtool.git && cd hackingtool
docker build -t hackingtool .
docker run -it --rm hackingtool
Phụ thuộc cần chuẩn bị trước:
- Python 3.10+ và
rich>=13.0.0(runtime duy nhất của bản thân HackingTool, rất nhẹ) - Go 1.21+ nếu muốn dùng khoảng 10 tool Go như Subfinder, Amass, Nuclei
- Ruby nếu cần evil-winrm hoặc haiti
⚠️ curl | sudo bash: pattern này có rủi ro supply chain thực sự - nếu GitHub bị compromise hay DNS bị hijack thì máy ra đi không kịp. Script install.sh của hackingtool thực tế khá sạch, dùng set -euo pipefail, kiểm tra root, detect package manager, không có gì đáng ngờ khi đọc. Nhưng nguyên tắc vẫn là: tải về, đọc, rồi mới chạy. Docker build cục bộ là lựa chọn an toàn hơn trên máy có policy cao.
Và tất nhiên: chỉ dùng trên hệ thống bạn được ủy quyền kiểm tra bảo mật.
--> // making it invisible to querySelectorAll. // // `data-cfasync="false"` keeps this rescue script executable even when // Rocket Loader is active. It rescues module scripts via two strategies: // 1. Query the DOM for type$="-module" + src (covers case A) // 2. Regex-parse the raw HTML for commented-out script tags (covers case B) // Dynamically-created scripts bypass Rocket Loader entirely. (function () { if (window.__markdyRescue) return; window.__markdyRescue = true; var rescued = false; function rescueModuleScripts() { if (rescued) return; rescued = true; var srcs = []; // Strategy 1: Rocket Loader kept the tag in DOM but changed the type. // type="module" → type="{uuid}-module" (still has src attribute) document.querySelectorAll('script[type$="-module"][src]').forEach(function (s) { srcs.push(s.src); }); // Strategy 2: Rocket Loader COMMENTED OUT the script tag entirely: // // These are invisible to querySelectorAll, so we parse the raw HTML. // We handle both attribute orderings (type-first or src-first). var html = document.documentElement.innerHTML; var reSrcFirst = //g; var reTypeFirst = //g; var m; while ((m = reSrcFirst.exec(html)) !== null) { srcs.push(m[1]); } while ((m = reTypeFirst.exec(html)) !== null) { srcs.push(m[1]); } // Re-inject each found src as a real module script. // Deduplicate first, then inject. Dynamically-created scripts bypass // Rocket Loader entirely. Modules with the same URL are only executed // once by the browser (cached), so re-injecting already-running scripts // is safe. var seen = {}; srcs.forEach(function (src) { if (seen[src]) return; seen[src] = true; var fix = document.createElement('script'); fix.type = 'module'; fix.src = src; fix.setAttribute('data-cfasync', 'false'); document.head.appendChild(fix); }); } // Rescue when user clicks the placeholder (fallback if autoplay failed). document.addEventListener('click', function (e) { var t = e.target; if (t && typeof t.closest === 'function' && t.closest('.markdy-placeholder')) { rescueModuleScripts(); } }); // Rescue automatically after a short delay for autoplay. // Only fires if initAll() never ran (no data-markdy-init on any root). setTimeout(function () { if (document.querySelector('.markdy-root:not([data-markdy-init])')) { rescueModuleScripts(); } }, 1500); }());Repo này có 74,838 stars. Phần lớn là từ người đã ngồi mở tab Chrome tìm tên tool ít nhất một lần.
Cái thực sự hay không phải con số 185. Mà là lần đầu bạn gõ / và kết quả hiện ra trong ba giây, kèm trạng thái đã cài hay chưa, không cần Google thêm bước nào.
Anh em cẩn thận chỗ curl | sudo bash. Đọc script trước. Tải về, cat, rồi mới chạy.
GitHub: Z4nzu/hackingtool - MIT · 74,838★
Hoang Yell
Một nhà phát triển phần mềm và là người kể chuyện kỹ thuật. Tôi dành thời gian để khám phá những repository mã nguồn mở thú vị nhất trên GitHub và trình bày chúng dưới dạng những câu chuyện dễ hiểu cho mọi người.