Công nghệ

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ụ

  1. 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.
  2. 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:

  1. Cài đặt bitcoin2john.pytừ bộ công cụ John the Ripper.
  2. 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

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 -dtùy chọn. Ví dụ:

hashcat -m 11300 - a  0 -d 1 băm .txt danh sách từ .txt  --force

Ở đây, -d 1yê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

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

Đò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?

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.dat  --passwordlist danh sách từ .txt

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

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í.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.txttệ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.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.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.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í.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:

  1. 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

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

Back to top button