Cách sử dụng hashcat để Crack Hashes trên Linux
Bạn là người mới bắt đầu trong lĩnh vực an ninh mạng? Bạn có muốn đứng về phía công kích của nó không? Là một người đội đỏ, bạn học được nhiều kỹ thuật và chiến thuật giúp bạn thực hiện các hoạt động chuỗi tiêu diệt mạng. Một trong những nhiệm vụ như vậy là leo thang đặc quyền, nơi bạn nắm giữ các băm mật khẩu.
hashcat là một công cụ mạnh mẽ và linh hoạt có thể ép buộc các thông tin xác thực được lưu trữ bằng cách sử dụng các hàm băm đã biết bằng cách tiến hành các phương thức tấn công khác nhau. Bài viết đề cập đến tiện ích bẻ khóa mật khẩu này được sử dụng bởi những người kiểm tra thâm nhập, quản trị viên hệ thống, gián điệp hoặc tin tặc để tìm mật khẩu.
Mục Lục
Hashes là gì?
Hashing là một hàm toán học một chiều hoặc mã định danh duy nhất trả về đầu ra có độ dài cố định bất kể kích thước / độ dài đầu vào. Do đó, nó là một quá trình không thể đảo ngược không yêu cầu khóa như trong mã hóa để giải mã giá trị băm.
Mục đích phổ biến nhất của băm là đảm bảo tính toàn vẹn của dữ liệu khỏi bị giả mạo trong quá trình truyền dữ liệu. Các thuộc tính của băm như sau:
-
Cung cấp khả năng tính toán nhanh chóng
-
Các thuật toán tốt tránh cùng một đầu ra cho các đầu vào khác nhau
-
Chúng có bản chất xác định
-
Những thay đổi nhỏ trong đầu vào ảnh hưởng đáng kể đến giá trị băm đầu ra
Tại sao sử dụng hashcat?
hashcat là một tiện ích đa luồng cho phép bạn định cấu hình số lượng luồng và giới hạn thực thi dựa trên mức độ ưu tiên. Nó hỗ trợ hơn 300 thuật toán băm như MD4, MD5, SHA1, SHA512, bcrypt, HMAC-SHA512, NTLM, MySQL, WHIRLPOOL, trong số nhiều thuật toán khác. Nó có sẵn cho tất cả các loại hệ điều hành, bao gồm Windows, Linux, Unix và BSD.
Cách bẻ khóa mật khẩu băm bằng hashcat
hashcat cung cấp nhiều chế độ tấn công khác nhau (Combinator, Rule-based, Brute-force đoán, kết hợp và tấn công từ điển) để cung cấp phạm vi phủ sóng tốt hơn. Dưới đây là giải thích về một số cuộc tấn công mà hashcat sử dụng để bẻ khóa mật khẩu được băm:
- Tấn công vũ lực: Một cuộc tấn công bạo lực sử dụng tất cả các tổ hợp ký tự có thể có để xác định mật khẩu chính xác. Tuy nhiên, nó có một giới hạn về độ dài mật khẩu tối đa và số ký tự. Hơn nữa, mức độ tấn công vũ phu nâng cao cũng có thể tối ưu hóa thời gian bằng cách đưa ra các giả định phức tạp. Ví dụ: một kỹ thuật brute-force nâng cao có thể giả định rằng ký tự đầu tiên có nhiều khả năng là chữ hoa và các chữ số có nhiều khả năng xuất hiện ở cuối mật khẩu, v.v.
- Tấn công từ điển: Một cuộc tấn công từ điển sử dụng một danh sách mật khẩu được tính toán trước tùy thuộc vào thông tin thu thập được xung quanh mục tiêu hoặc một mẫu được quan sát trên người dùng. Do đó, cần một số mật khẩu được sử dụng phổ biến nhất và thêm một số hoán vị vào chúng để tăng phạm vi.
- Tấn công hỗn hợp: Hybrid là sự kết hợp của các cuộc tấn công đã thảo luận ở trên, vì nó kiểm tra xem mật khẩu có “crack được” hay không thông qua một cuộc tấn công từ điển và chuyển sang kỹ thuật brute-force, nếu không thể.
Cách cài đặt hashcat trên Linux
hashcat có sẵn theo mặc định trong Kali Linux. Để cài đặt nó trên Ubuntu và Debian:
sudo apt-get update
sudo apt-get install hashcat
Trên Fedora, CentOS và các bản phân phối dựa trên RHEL khác:
sudo dnf update
sudo dnf install hashcat
Để cài đặt hashcat trên Arch Linux:
sudo pacman -Syu
sudo pacman -S hashcat
Sau khi cài đặt, sử dụng lệnh trợ giúp để liệt kê tất cả các tùy chọn có sẵn:
hashcat --help
Một số tùy chọn hashcat và mô tả của chúng như sau:
| Tùy chọn | Sự miêu tả |
|---|---|
| -m | Loại băm có giá trị mặc định là 0 tức là băm MD5 |
| -Một | Loại tấn công, 0 cho cuộc tấn công thẳng, 2 cho cuộc tấn công kết hợp và 3 cho một cuộc tấn công bạo lực |
| -o | Lưu trữ mật khẩu bị bẻ khóa trong một tệp đầu ra |
| danh sách các từ | Yêu cầu một đường dẫn đến danh sách từ khóa các mật khẩu để khớp và bẻ khóa các hàm băm |
Ghi chú: Trước khi làm việc với hashcat, hãy đảm bảo hệ thống của bạn tuân thủ các yêu cầu làm việc phần cứng của nó. Kiểm tra trang web chính thức để biết thêm chi tiết.
Crack Hashes từ tệp / etc / shadow trong Linux
Tệp / etc / shadow lưu trữ các giá trị bị cắt xén hoặc băm của tất cả mật khẩu của người dùng trên Linux. Đó là một tệp quan trọng với các quyền truy cập nghiêm ngặt; nó được và chỉ phải có tài khoản gốc mới có thể truy cập được.
Do đó, nếu bạn bắt gặp một / etc / shadow thông qua bất kỳ tài khoản người dùng thông thường nào, bạn có thể lấy giá trị băm của tài khoản gốc và bẻ khóa mật khẩu băm bằng tiện ích hashcat.
Đối với mục đích trình diễn, hãy thay đổi sang tài khoản gốc và tạo tài khoản người dùng mới alice để hiểu cách hashcat hoạt động:
sudo su
sudo useradd -c "Alice" alice
Tạo mật khẩu bằng lệnh passwd:
passwd alice
Kiểm tra giá trị mật khẩu băm bên trong / etc / shadow tập tin như sau:
cut -d: -f1 /etc/shadow | grep alice
Đầu ra:
alice:$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD:19023:0:99999:7::
Hàm băm trong đầu ra ở trên bắt đầu từ “alice:“trở đi; lưu nó trong một tệp mới hash.txt.
Bạn có thể truy cập trang web hashcat để xác định loại hàm băm và giá trị tham chiếu liên quan. Chế độ băm SHA512 thường được xác định bởi $ 6 $ hạn và có giá trị tham chiếu là 1800.
Bạn cũng có thể tìm kiếm phương pháp mã hóa bên trong login.defs tập tin:
grep ENCRYPT_METHOD /etc/login.defs
Sau đó, hãy kiểm tra giá trị liên quan của hàm băm bằng lệnh hashcat như sau:
hashcat -h | grep sha512
Bây giờ, hãy sử dụng tiện ích hashcat để bẻ khóa hàm băm với -Một cờ cho chế độ tấn công, -m cờ cho giá trị tham chiếu băm (vì nó không hỗ trợ tên hàm băm), hash.txt đường dẫn tệp và đường dẫn đến danh sách từ Rockou.txt.
hashcat -m 1800 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
Đầu ra:
<snip>
.
.
$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD:12345
.
.
<snip>
Ghi chú: Trên Kali Linux, Rockou.txt tệp có sẵn theo mặc định bên trong / usr / share / wordlists danh mục. Bạn cũng có thể sử dụng các danh sách từ khác bằng cách chạy lệnh sau trong terminal:
locate wordlists | less
Đầu ra:
Tuy nhiên, đối với các bản phân phối Linux khác, bạn sẽ cần tải xuống Rockou.txt tệp từ kho lưu trữ GitHub như sau:
wget https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-20.txt
Bẻ khóa mật khẩu trên Linux với hashcat
Một hệ thống xác thực được xây dựng tốt sẽ không lưu trữ mật khẩu của người dùng ở dạng văn bản thuần túy và rõ ràng vì chúng có thể gây ra các lỗ hổng bảo mật. Cơ chế xác thực tốt hơn lưu trữ mật khẩu dưới dạng mã băm trong các tệp an toàn và không thể truy cập. Tuy nhiên, một công cụ bẻ khóa mật khẩu như hashcat được thiết kế để giải mã hoặc đoán mật khẩu bằng các chế độ tấn công khác nhau.
Bài viết này trình bày chi tiết các cách mà người kiểm tra thâm nhập phải biết để bẻ khóa mật khẩu được băm bằng tiện ích hashcat. Là một đội đỏ, cần phải hiểu các kỹ thuật mà kẻ tấn công có thể sử dụng để thỏa hiệp các kiểm soát xác thực và cung cấp các hướng dẫn về việc che phủ các sơ hở của hệ thống.
Đọc tiếp
Giới thiệu về tác giả