Mở khóa Bitcoin bị mất: Làm chủ việc bẻ khóa GPU và khôi phục mật khẩu với Hashcat và btcrecover!
Bài viết này đi sâu vào các phương pháp tiên tiến để bẻ khóa hàm băm ví Bitcoin Core, tập trung vào khả năng tăng tốc GPU, quản lý phiên và hiệu quả.
Hiểu về mã hóa ví Bitcoin Core
Ví Bitcoin Core mã hóa khóa riêng bằng hàm phái sinh khóa PBKDF2, áp dụng băm SHA-512. Phương pháp này khiến các cuộc tấn công bằng vũ lực tốn nhiều tài nguyên, nhưng với các công cụ như Hashcat và GPU, bạn có thể khôi phục mật khẩu ví với đủ sức mạnh tính toán.
Tổng quan về công cụ
- Hashcat : Một công cụ khôi phục mật khẩu hiệu suất cao sử dụng GPU để tăng tốc quá trình bẻ khóa.
- btcrecover : Một công cụ khôi phục mật khẩu ví hỗ trợ nhiều loại ví tiền điện tử, bao gồm cả Bitcoin Core.
1. Trích xuất Hash từ Ví Bitcoin Core
Trước khi bạn có thể bắt đầu bẻ khóa, bạn cần trích xuất băm từ ví Bitcoin Core của mình. Tệp ví (thường có tên là wallet.dat
) chứa khóa riêng được mã hóa của bạn.
Để trích xuất hàm băm:
- Cài đặt
bitcoin2john.py
từ bộ công cụ John the Ripper. - Sử dụng lệnh sau để trích xuất mã băm:
python3 bitcoin2john.py wallet.dat > băm .txt
Đầu ra sẽ là một chuỗi băm theo định dạng mà Hashcat có thể sử dụng.
2. Bẻ khóa ví bằng Hashcat sử dụng GPU
Hashcat hỗ trợ nhiều chế độ băm khác nhau để bẻ khóa băm ví Bitcoin. Đối với Bitcoin Core, thuật toán PBKDF2-HMAC-SHA512 sử dụng chế độ 11300
.
Thiết lập lệnh
Để bẻ khóa băm bằng Hashcat, chúng ta có thể sử dụng lệnh cơ bản sau:
hashcat -m 11300 - một băm 0 .txt danh sách từ .txt -o cracked .txt --force
-m 11300
: Điều này chỉ định chế độ băm của ví Bitcoin.-a 0
: Chế độ tấn công (từ điển).hash.txt
: Tệp chứa mã băm của ví.wordlist.txt
: Danh sách từ bạn sẽ sử dụng để thử đoán mật khẩu.-o cracked.txt
: Tệp tin nơi mật khẩu đã bẻ khóa sẽ được lưu trữ.--force
: Buộc Hashcat chạy ngay cả khi phần cứng có thể không tối ưu.
Sử dụng Tăng tốc GPU
Tăng tốc GPU tăng tốc đáng kể quá trình bẻ khóa so với CPU. Theo mặc định, Hashcat sẽ sử dụng GPU có sẵn, nhưng bạn có thể chỉ định rõ ràng.
Để liệt kê các GPU có sẵn:
hashcat - Tôi
Để chỉ định một GPU cụ thể, hãy sử dụng -d
tùy chọn. Ví dụ:
hashcat -m 11300 - a 0 -d 1 băm .txt danh sách từ .txt --force
Ở đây, -d 1
yêu cầu Hashcat sử dụng GPU đầu tiên trên hệ thống.
Tối ưu hóa cho nhiều GPU
Nếu bạn đang sử dụng giàn máy có nhiều GPU, bạn có thể tận dụng mọi sức mạnh xử lý có sẵn:
hashcat -m 11300 - a 0 --opencl-device-types 1 , 2 băm .txt danh sách từ .txt --force
Lệnh này cấu hình Hashcat để sử dụng cả tài nguyên CPU và GPU.
3. Quản lý phiên trong Hashcat (Tạm dừng và Tiếp tục)
Một trong những tính năng mạnh mẽ nhất của Hashcat là quản lý phiên, cho phép bạn tạm dừng và tiếp tục tác vụ bẻ khóa. Điều này đặc biệt hữu ích cho các cuộc tấn công kéo dài.
Tạo một phiên
Để tạo phiên:
hashcat -m 11300 - một băm 0 .txt danh sách từ .txt --session mysession
--session mysession
: Tạo một phiên có tên “mysession”.
Tạm dừng một phiên
Bạn có thể dừng quá trình bất cứ lúc nào bằng cách nhấn Ctrl+C
. Hashcat sẽ tự động lưu phiên.
Tiếp tục phiên làm việc
Để tiếp tục phiên làm việc sau:
hashcat --phiên mysession --khôi phục
Quá trình nứt sẽ tiếp tục từ điểm dừng, giúp tiết kiệm thời gian và tài nguyên.
Chạy nhiều phiên cùng lúc
Bạn cũng có thể chạy các chế độ tấn công khác nhau song song với các tên phiên khác nhau. Ví dụ:
hashcat -m 11300 - một băm 0 .txt danh sách từ .txt --session dictattack & hashcat -m 11300 - một băm 3 .txt --session maskattack &
Thao tác này sẽ thực hiện tấn công từ điển và tấn công mặt nạ cùng lúc, mỗi tấn công có phiên riêng.
4. Các cuộc tấn công mặt nạ nâng cao để có mật khẩu mạnh
Nếu bạn có ý tưởng về cấu trúc mật khẩu, bạn có thể sử dụng các cuộc tấn công mặt nạ để giảm số lần đoán. Ví dụ, nếu bạn biết mật khẩu bắt đầu bằng một số, theo sau là các chữ cái thường và kết thúc bằng một ký tự đặc biệt, bạn có thể chỉ định một mặt nạ:
hashcat -m 11300 băm .txt - a 3 ?d?l?l?l?l?l?s
?d
: Một chữ số (0-9).?l
: Một chữ cái thường (az).?s
: Một ký tự đặc biệt.
Đòn tấn công bằng mặt nạ có thể tùy chỉnh cao và có thể giảm đáng kể thời gian bẻ khóa.
Sử dụng nâng cao btcrecover để khôi phục ví Bitcoin Core
Trong khi Hashcat vượt trội trong các cuộc tấn công brute-force bằng GPU mạnh mẽ, btcrecover cung cấp một cách tiếp cận khác, được thiết kế riêng cho việc khôi phục mật khẩu ví tiền điện tử. Nó cho phép bạn áp dụng logic khôi phục mật khẩu như hoán vị, mẫu và đoán mật khẩu một phần. Điều này làm cho btcrecover hữu ích trong trường hợp bạn có một số manh mối về mật khẩu bị mất.
1. Tổng quan về btcrecover
btcrecover là một công cụ dựa trên Python được phát triển dành riêng cho việc khôi phục mật khẩu ví cho nhiều ví tiền điện tử, bao gồm Bitcoin Core, Electrum, Multibit, v.v. Công cụ này hoạt động bằng cách kiểm tra các dự đoán mật khẩu bằng nhiều chế độ và kiểu tấn công khác nhau.
Tại sao nên sử dụng btcrecover?
- Biết một phần mật khẩu : Nếu bạn nhớ một phần mật khẩu của mình (ví dụ, một vài ký tự đầu tiên hoặc bao gồm các từ khóa cụ thể).
- Các biến thể mật khẩu : Nếu mật khẩu của bạn có những thay đổi nhỏ (ví dụ: chữ viết hoa khác nhau hoặc thêm số vào cuối).
- Mật khẩu phức tạp : Hỗ trợ các tập lệnh tấn công tùy chỉnh để nhắm vào những mật khẩu không tuân theo các quy tắc không chuẩn.
2. Cài đặt và thiết lập btcrecover
Để bắt đầu sử dụng btcrecover, hãy sao chép kho lưu trữ từ GitHub:
git clone https://github.com/gurnec/btcrecover.git
cd btcrecover
Hãy đảm bảo bạn đã cài đặt Python 3. btcrecover hỗ trợ các định dạng ví như Bitcoin Core , Electrum , Multibit và các định dạng khác.
3. Chạy btcrecover với các chế độ tấn công khác nhau
Sau đây là một số kỹ thuật sử dụng nâng cao của btcrecover để khôi phục mật khẩu ví Bitcoin Core:
a. Tấn công từ điển đơn giản
Một cuộc tấn công từ điển thử mật khẩu từ một danh sách từ, tương tự như Hashcat. Để thực hiện một cuộc tấn công từ điển:
python3 btcrecover .py --wallet ví .dat --passwordlist danh sách từ .txt
--wallet
: Đường dẫn đến tệp ví Bitcoin Core của bạn (wallet.dat
).--passwordlist
: Một tệp văn bản chứa danh sách từ để thử nghiệm.
b. Các mẫu tùy chỉnh với btcrecover
Nếu bạn nhớ một số mẫu nhất định (ví dụ: mật khẩu của bạn luôn bắt đầu bằng “BTC” hoặc kết thúc bằng “123!”), bạn có thể xác định các mẫu tùy chỉnh cho quá trình khôi phục.
Tấn công hoán vị tùy chỉnh :
python3 btcrecover .py --wallet wallet .dat --passwordlist wordlist .txt --typos-swap --typos-case
--typos-swap
: Hoán đổi các ký tự liền kề trong mật khẩu, hữu ích nếu bạn vô tình hoán đổi các ký tự khi nhập mật khẩu.--typos-case
: Thay đổi chữ hoa/thường, hữu ích cho mật khẩu có cả chữ hoa/thường.
Các tùy chọn này cho phép bạn xử lý các lỗi đánh máy nhỏ hoặc phân biệt chữ hoa chữ thường.
Tấn công mật khẩu một phần :
Nếu bạn nhớ phần đầu hoặc phần cuối của mật khẩu, bạn có thể sử dụng thông tin này để tối ưu hóa quá trình bẻ khóa. Ví dụ, nếu mật khẩu của bạn bắt đầu bằng “BTC” nhưng bạn không nhớ phần còn lại:
python3 btcrecover .py --ví ví .dat --tìm kiếm "BTC????"
Biểu tượng này ?
đóng vai trò như một chỗ giữ chỗ cho các ký tự chưa biết, cho phép btcrecover tập trung vào việc chỉ giải mã các phần chưa biết của mật khẩu.
4. Các tập lệnh tùy chỉnh nâng cao cho btcrecover
btcrecover hỗ trợ viết các tập lệnh tấn công tùy chỉnh để nhắm vào các cấu trúc mật khẩu phức tạp. Ví dụ, nếu mật khẩu của bạn luôn theo một định dạng nhất định (ví dụ: tên theo sau là chữ số và ký tự đặc biệt), bạn có thể viết một tập lệnh tùy chỉnh để tối ưu hóa quy trình khôi phục.
Ví dụ về tập lệnh tùy chỉnh:
Bạn có thể tạo một rules.txt
tệp tùy chỉnh với các mẫu mật khẩu đã biết, chẳng hạn như:
[tên] [năm] [nhân vật đặc biệt]
Quy tắc tấn công tùy chỉnh này có thể được áp dụng như sau:
python3 btcrecover .py --wallet wallet .dat --passwordlist wordlist .txt --custom-rules rules .txt
btcrecover sau đó sẽ tạo ra các hoán vị dựa trên các quy tắc được cung cấp, tiết kiệm thời gian bằng cách chỉ nhắm mục tiêu vào các định dạng mật khẩu có khả năng xảy ra.
5. Kết hợp btcrecover với Hashcat cho các cuộc tấn công lai
Hashcat và btcrecover có thể được sử dụng cùng nhau theo cách tiếp cận kết hợp . Bắt đầu với btcrecover nếu bạn biết một phần mật khẩu, sau đó chuyển sang Hashcat để tấn công brute-force hoặc mask để che giấu các khả năng còn lại.
Ví dụ về quy trình làm việc:
Chạy btcrecover với các gợi ý mật khẩu đã biết:
python3 btcrecover .py --wallet wallet .dat --passwordlist wordlist .txt --typos-case --typos-swap
Trích xuất mã băm ví và chạy Hashcat nếu btcrecover không thành công:
python3 bitcoin2john.py wallet.dat > hash .txt
hashcat -m 11300 -a 0 hash .txt wordlist.txt -o cracked.txt
Bằng cách thu hẹp các ứng viên có thể sử dụng btcrecover trước, bạn sẽ giảm được bề mặt tấn công cho Hashcat, qua đó có khả năng tiết kiệm thời gian tính toán đáng kể.
6. Khôi phục mật khẩu với các gợi ý cụ thể
Nếu bạn nhớ các thành phần cụ thể của mật khẩu (ví dụ: số hoặc ký tự đặc biệt), btcrecover có thể tập trung vào những khu vực đó để giảm thời gian bẻ khóa.
Ví dụ — Mật khẩu được biết một phần:
Nếu bạn biết mật khẩu bắt đầu bằng “MyBTC” nhưng quên phần còn lại, bạn có thể sử dụng:
python3 btcrecover .py --wallet ví .dat --search "MyBTC?????"
Điều này yêu cầu btcrecover chỉ sử dụng phương pháp thử bằng brute-force phần cuối của mật khẩu, giúp giảm đáng kể số lượng tổ hợp có thể xảy ra.
7. Cân nhắc về hiệu suất
CPU so với GPU cho btcrecover:
btcrecover chủ yếu sử dụng tài nguyên CPU để bẻ khóa và mặc dù không nhanh bằng khả năng tăng tốc GPU của Hashcat, nhưng nó vượt trội về khả năng xử lý các hoán vị và mẫu linh hoạt hơn. Tuy nhiên, đối với mật khẩu cực kỳ phức tạp hoặc dài, nên chuyển sang Hashcat để tấn công bằng cách dùng GPU.
Tối ưu hóa hiệu suất:
Khi sử dụng btcrecover, hãy tối ưu hóa hiệu suất của bạn bằng cách hạn chế các hoán vị không cần thiết, chỉ tập trung vào các cấu trúc mật khẩu hợp lý. Đây là nơi các mẫu tùy chỉnh và các dự đoán mật khẩu một phần có ích.
Tùy chọn btcrecover hữu ích
--keyspace
: Hiển thị số lượng kết hợp mật khẩu có thể có với các tham số hiện tại. Hữu ích để đánh giá mức độ phức tạp của quá trình khôi phục.
python3 btcrecover .py --wallet ví .dat --passwordlist danh sách từ .txt --keyspace
--threads
: Tăng số luồng CPU được sử dụng để bẻ khóa, cho phép btcrecover song song hóa quy trình:
python3 btcrecover .py --wallet ví .dat --passwordlist danh sách từ .txt --threads 4
--debug
: Xuất nhật ký chi tiết để giúp bạn hiểu quy trình khôi phục mật khẩu và tinh chỉnh chiến lược tấn công của mình:
python3 btcrecover .py --ví ví .dat --danh sách mật khẩu danh sách từ .txt --gỡ lỗi
Sau đây là hướng dẫn cơ bản nhưng hiệu quả để tấn công bằng phương pháp brute-force các hàm băm:
- Tấn công Brute-force cơ bản vào Bitcoin Core Wallet
hashcat -m 11300 - a 3 wallet_hash .txt ? a ? a ? a ? a ? a ? a ? a ? a --force
-m 11300
: Chế độ dành cho ví Bitcoin Core.-a 3
: Chế độ tấn công bằng vũ lực.?a
: Tất cả các ký tự có thể có ở mỗi vị trí trong mật khẩu.
2. Sử dụng Tăng tốc GPU (với OpenCL)
hashcat -m 11300 - a 3 wallet_hash .txt ? a ? a ? a ? a ? a ? a ? a ? a --opencl-device-types 1 --force
--opencl-device-types 1
: Buộc Hashcat sử dụng GPU để bẻ khóa.
3. Tấn công mặt nạ mật khẩu với độ dài đã biết
hashcat -m 11300 - một ví 3_hash .txt ? d?d?d?d?d?d --force
?d
: Chỉ chứa chữ số (hữu ích nếu bạn biết mật khẩu bao gồm chữ số).
4. Mặt nạ lai + Tấn công từ điển
hashcat -m 11300 - danh sách từ 6 wallet_hash .txt .txt ? a ? a ? a --force
Tấn công kết hợp giữa các từ trong từ điển và phương pháp tấn công bằng vũ lực ở cuối.
5. Hạn chế sử dụng GPU
hashcat -m 11300 - a 3 wallet_hash .txt ? a ? a ? a ? a ? a --gpu-temp-abort 85 --force
--gpu-temp-abort 85
: Không bị nứt nếu nhiệt độ GPU vượt quá 85°C, đảm bảo an toàn khi sử dụng.
Trong khi Hashcat vượt trội trong các cuộc tấn công brute-force sử dụng GPU, btcrecover lại nổi trội ở khả năng kiểm tra các mẫu, phỏng đoán một phần và các biến thể nhỏ. Điều này khiến btcrecover trở thành một công cụ phụ có giá trị khi bạn có manh mối về cấu trúc mật khẩu, cho phép tiếp cận mục tiêu hơn.
Theo dõi tôi trên Instagram:
https://instagram.com/the.khaleelkhan
trên Twitter:
https://x.com/ikhaleelkhan