Mục tiêu: Thành thạo 3 công cụ tìm kiếm mạnh mẽ nhất trong Linux — để tìm file cấu hình, mật khẩu, private key, log, exploit... — kỹ năng sống còn trong pentest
✅ 1. grep
— TÌM NỘI DUNG TRONG FILE (CỰC KỲ QUAN TRỌNG!)
🔹 grep
là gì?
- GREP = Global Regular Expression Print
- Dùng để tìm kiếm văn bản (theo từ khóa, biểu thức chính quy) trong file hoặc output lệnh.
🔹 Cú pháp cơ bản:
bash
💡 Ví dụ thực tế trong pentest:
➤ Tìm từ “password” trong file config:
bash
→ -i
= không phân biệt hoa thường.
➤ Tìm trong nhiều file cùng lúc:
bash
→ -r
= recursive — tìm trong tất cả thư mục con.
➤ Hiển thị số dòng + tên file:
bash
→ -n
= hiển thị số dòng.
➤ Chỉ hiển thị tên file chứa từ khóa:
bash
→ -l
= list file name.
➤ Tìm từ khóa trong output lệnh (kết hợp với pipe |
):
bash
➤ Tìm từ khóa và hiển thị 2 dòng trước/sau:
bash
→ -A
= After, -B
= Before → giúp bạn xem ngữ cảnh.
➤ Tìm từ khóa với regex (biểu thức chính quy):
bash
→ -E
= extended regex → tìm 1 trong 3 từ.
✅ 2. find
+ grep
— KẾT HỢP SIÊU MẠNH
🔹 Tìm tất cả file .log
chứa từ “password”:
bash
→ Tìm file .log
→ với mỗi file, chạy grep -l
→ chỉ in tên file nào chứa từ khóa.
🔹 Tìm file config chứa “DB_PASSWORD”:
bash
→ -type f
= chỉ tìm file, không tìm thư mục.
🔹 Tìm và xem nội dung luôn:
bash
→ -H
= hiển thị tên file, -n
= hiển thị số dòng.
✅ 3. locate
— TÌM FILE SIÊU NHANH (NHƯNG CẦN CẬP NHẬT)
🔹 locate
là gì?
- Dùng cơ sở dữ liệu đã được lập chỉ mục → tìm file nhanh như chớp.
- Không quét trực tiếp → nên có thể không thấy file mới tạo.
🔹 Cú pháp:
bash
💡 Ví dụ:
bash
🔹 Cập nhật database (cần root):
bash
→ Chạy lệnh này nếu bạn vừa tạo file mới mà locate
không tìm thấy.
🔹 So sánh với find
:
→ Dùng locate
để tìm tên file nhanh → dùng find + grep
để tìm nội dung sâu.
🧠 Ghi nhớ
grep "từ" file → tìm từ trong file grep -i → không phân biệt hoa thường grep -r → tìm đệ quy trong thư mục grep -l → chỉ hiện tên file find ... -exec grep ... {} \; → kết hợp mạnh mẽ locate → tìm file nhanh — cần updatedb sudo updatedb → cập nhật database locate
- Luôn dùng
2>/dev/null
khifind
hoặcgrep
trong/
→ tránh ngập lỗi. - Khi tìm flag → dùng
grep -r "flag{" / 2>/dev/null
- Khi tìm mật khẩu → dùng
grep -i "pass\|secret\|key\|token" /var/www/ -r 2>/dev/null
- Khi tìm private key → dùng
find / -name "id_rsa" 2>/dev/null
- Khi tìm file backup → dùng
find / -name "*.bak" -o -name "*.old" -o -name "*.swp" 2>/dev/null
grep -l "từ_khóa" * → tìm tên file chứa từ khóa (chỉ file, không thư mục) grep -r "từ_khóa" . → tìm đệ quy (gồm cả thư mục con) grep -n "từ_khóa" * → tìm và hiển thị số dòng grep -i "từ_khóa" * → không phân biệt hoa thường grep -l "từ_khóa" . → ❌ Sai — không dùng "." với -l/-n grep -l "từ_khóa" * → ✅ Đúng — dùng "*" thay vì "."
No comments:
Post a Comment