Initial import: ultra-small bruteforce tool, docs, and .gitignore
This commit is contained in:
206
README.vi.md
Normal file
206
README.vi.md
Normal file
@@ -0,0 +1,206 @@
|
||||
# Docker Image Nhỏ Nhất Thế Giới - Công Cụ Bruteforce Mật Khẩu
|
||||
|
||||
Một Docker image siêu nhỏ, được nén tối đa chứa công cụ bruteforce mật khẩu có thể crack nhiều loại hash khác nhau bao gồm yescrypt, MD5, SHA256 và SHA512.
|
||||
|
||||
## 🚀 Tính Năng
|
||||
|
||||
- **Docker image siêu nhỏ** (~46KB đã nén)
|
||||
- **Hỗ trợ nhiều loại hash**: yescrypt, MD5, SHA256, SHA512
|
||||
- **Binary tĩnh**: Không có dependency bên ngoài
|
||||
- **Nén UPX**: Tối ưu kích thước tối đa
|
||||
- **Tiến trình thời gian thực**: Hiển thị số lần thử và thống kê
|
||||
- **Logging chi tiết**: Output đầy đủ để debug
|
||||
|
||||
## 📊 So Sánh Kích Thước Image
|
||||
|
||||
| Image | Kích Thước | Nén |
|
||||
|-------|------------|-----|
|
||||
| Công cụ này | ~46KB | UPX ultra-brute |
|
||||
| Alpine chuẩn | ~5MB | Không |
|
||||
| Ubuntu chuẩn | ~70MB | Không |
|
||||
|
||||
## 🛠️ Chi Tiết Kỹ Thuật
|
||||
|
||||
### Thuật Toán Hash Được Hỗ Trợ
|
||||
- **yescrypt** (`$y$`) - Mặc định Linux hiện đại
|
||||
- **MD5** (`$1$`) - Hỗ trợ legacy
|
||||
- **SHA256** (`$5$`) - Dựa trên SHA-256
|
||||
- **SHA512** (`$6$`) - Dựa trên SHA-512
|
||||
|
||||
### Quy Trình Build
|
||||
1. **Multi-stage build** sử dụng Alpine Linux
|
||||
2. **Biên dịch tĩnh** với musl-gcc
|
||||
3. **Strip binary** để loại bỏ debug symbols
|
||||
4. **Nén UPX** với chế độ ultra-brute
|
||||
5. **Base image scratch** để giảm kích thước tối đa
|
||||
|
||||
## 🏗️ Build
|
||||
|
||||
```bash
|
||||
# Build image
|
||||
docker build -t bruteforce-test -f brute/source/Dockerfile brute/source
|
||||
|
||||
# Kiểm tra kích thước image
|
||||
docker images bruteforce-test
|
||||
```
|
||||
|
||||
## 🚀 Sử Dụng
|
||||
|
||||
### Sử Dụng Cơ Bản
|
||||
```bash
|
||||
# Crack mật khẩu cho user cụ thể
|
||||
docker run --rm \
|
||||
--volume "/etc:/etc" \
|
||||
--user root \
|
||||
bruteforce-test:latest \
|
||||
<username> <đường_dẫn_wordlist>
|
||||
```
|
||||
|
||||
### Ví Dụ Lệnh
|
||||
|
||||
#### Crack mật khẩu root
|
||||
```bash
|
||||
docker run --rm \
|
||||
--volume "/etc:/etc" \
|
||||
--volume "$(pwd)/brute/source/wordlist2.txt:/wordlist2.txt" \
|
||||
--user root \
|
||||
bruteforce-test:latest \
|
||||
root /wordlist2.txt
|
||||
```
|
||||
|
||||
#### Crack mật khẩu user cụ thể
|
||||
```bash
|
||||
docker run --rm \
|
||||
--volume "/etc:/etc" \
|
||||
--volume "$(pwd)/custom_wordlist.txt:/wordlist.txt" \
|
||||
--user root \
|
||||
bruteforce-test:latest \
|
||||
alice /wordlist.txt
|
||||
```
|
||||
|
||||
### Ví Dụ Output
|
||||
```
|
||||
Target user: root
|
||||
Hash type: yescrypt
|
||||
Full hash: $y$j9T$dummy.salt.hash.example$dummy.hash.value.here
|
||||
Starting bruteforce...
|
||||
Tried 1000 passwords...
|
||||
Found password: [password_found]
|
||||
Total passwords tried: 102
|
||||
Password successfully cracked!
|
||||
```
|
||||
|
||||
## 📁 Cấu Trúc Dự Án
|
||||
|
||||
```
|
||||
.
|
||||
├── brute/
|
||||
│ └── source/
|
||||
│ ├── Dockerfile # Cấu hình multi-stage build
|
||||
│ ├── bruteforce.c # Implementation bruteforce chính
|
||||
│ ├── wordlist.txt # Wordlist lớn (133MB)
|
||||
│ ├── wordlist2.txt # Wordlist nhỏ (801B)
|
||||
│ └── yescrypt/ # Implementation tham chiếu yescrypt
|
||||
│ ├── yescrypt-ref.c
|
||||
│ ├── yescrypt-common.c
|
||||
│ ├── sha256.c
|
||||
│ ├── insecure_memzero.c
|
||||
│ └── các file *.h
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## 🔧 Phát Triển
|
||||
|
||||
### Yêu Cầu
|
||||
- Docker
|
||||
- Hệ thống Linux với quyền truy cập /etc/shadow
|
||||
- Quyền root (để truy cập file shadow)
|
||||
|
||||
### Cờ Biên Dịch
|
||||
```bash
|
||||
gcc -static -Os -s -o bruteforce \
|
||||
bruteforce.c \
|
||||
yescrypt-ref.c \
|
||||
yescrypt-common.c \
|
||||
sha256.c \
|
||||
insecure_memzero.c \
|
||||
&& strip --strip-all --remove-section=.comment bruteforce \
|
||||
&& upx --ultra-brute bruteforce
|
||||
```
|
||||
|
||||
### Kỹ Thuật Tối Ưu
|
||||
- **Link tĩnh**: Không có dependency bên ngoài
|
||||
- **Tối ưu kích thước**: Cờ `-Os` để giảm kích thước
|
||||
- **Strip symbols**: Loại bỏ debug symbols
|
||||
- **Nén UPX**: Chế độ ultra-brute để nén tối đa
|
||||
- **Base scratch**: Không có layer OS trong image cuối
|
||||
|
||||
## 🛡️ Cân Nhắc Bảo Mật
|
||||
|
||||
⚠️ **CẢNH BÁO**: Công cụ này chỉ dành cho mục đích giáo dục và kiểm thử được ủy quyền.
|
||||
|
||||
- Chỉ sử dụng trên hệ thống bạn sở hữu hoặc có quyền kiểm thử rõ ràng
|
||||
- Tôn trọng luật pháp và quy định địa phương về việc crack mật khẩu
|
||||
- Sử dụng có trách nhiệm và đạo đức
|
||||
- Cân nhắc hệ quả pháp lý trước khi sử dụng
|
||||
|
||||
## 📈 Hiệu Suất
|
||||
|
||||
- **Tốc độ**: Tối ưu cho kích thước hơn tốc độ
|
||||
- **Bộ nhớ**: Footprint bộ nhớ tối thiểu
|
||||
- **CPU**: Single-threaded, sử dụng nhiều CPU
|
||||
- **I/O**: Đọc file hiệu quả với syscall tối thiểu
|
||||
|
||||
## 🐛 Xử Lý Sự Cố
|
||||
|
||||
### Vấn Đề Thường Gặp
|
||||
|
||||
1. **Permission denied khi truy cập /etc/shadow**
|
||||
```bash
|
||||
# Chạy với user root
|
||||
--user root
|
||||
```
|
||||
|
||||
2. **Không tìm thấy wordlist**
|
||||
```bash
|
||||
# Đảm bảo mapping đường dẫn đúng
|
||||
--volume "$(pwd)/wordlist.txt:/wordlist.txt"
|
||||
```
|
||||
|
||||
3. **Không tìm thấy user trong file shadow**
|
||||
- Xác minh username tồn tại
|
||||
- Kiểm tra quyền file shadow
|
||||
|
||||
### Chế Độ Debug
|
||||
Công cụ cung cấp output chi tiết bao gồm:
|
||||
- Thông tin user mục tiêu
|
||||
- Loại hash và format
|
||||
- Cập nhật tiến trình mỗi 1000 lần thử
|
||||
- Thống kê cuối cùng
|
||||
|
||||
## 🤝 Đóng Góp
|
||||
|
||||
1. Fork repository
|
||||
2. Tạo feature branch
|
||||
3. Thực hiện thay đổi
|
||||
4. Test kỹ lưỡng
|
||||
5. Submit pull request
|
||||
|
||||
## 📄 Giấy Phép
|
||||
|
||||
Dự án này dành cho mục đích giáo dục. Sử dụng có trách nhiệm và tuân thủ luật pháp hiện hành.
|
||||
|
||||
## 👨💻 Tác Giả
|
||||
|
||||
**@tuankiet2s**
|
||||
|
||||
## 🙏 Lời Cảm Ơn
|
||||
|
||||
- Implementation tham chiếu yescrypt
|
||||
- Công cụ nén UPX
|
||||
- Alpine Linux cho base image tối thiểu
|
||||
- Docker multi-stage builds
|
||||
|
||||
---
|
||||
|
||||
**Nhớ**: Với sức mạnh lớn đi kèm trách nhiệm lớn. Sử dụng công cụ này một cách đạo đức và hợp pháp.
|
||||
Reference in New Issue
Block a user