SỰ THÀNH CÔNG!
Tôi đã có thể lấy khóa riêng. Nhưng nó không dễ dàng. Đây là những gì bạn cần làm:
- Hãy chắc chắn rằng bạn không khởi động lại máy chủ hoặc Apache. Trò chơi kết thúc tại thời điểm đó. Điều đó cũng có nghĩa là đảm bảo rằng không có dịch vụ giám sát nào khởi động lại Apache.
- Lấy tệp này - mã nguồn cho một công cụ có tên là passe-partout .
Trích xuất mã nguồn và điều chỉnh dòng 9 của Makefile.main
để đọc:
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
(Lưu ý rằng $(OBJS)
và $(LDFLAGS)
được đảo ngược theo thứ tự.)
- Chạy đi
./build.sh
.
Lấy PID của Apache bằng cách sử dụng:
service apache2 status
Chạy passe-partout
lệnh dưới quyền root:
sudo passe-partout [PID]
... Đâu [PID]
là giá trị bạn đã lấy ở bước # 5.
Nếu chương trình thành công, thư mục hiện tại của bạn sẽ có một loạt các khóa bổ sung:
you@server:~# ls
id_rsa-0.key id_rsa-1.key id_rsa-2.key
Nếu mọi việc suôn sẻ (và hy vọng nó đã làm được), một trong những chìa khóa đó là chìa khóa bạn cần. Tuy nhiên, nếu bạn có nhiều chứng chỉ / keyfile đang sử dụng, thì bạn cần tìm ra nó là cái nào. Đây là cách bạn làm điều đó:
Đầu tiên lấy một bản sao của chứng chỉ phù hợp với khóa đã ký. Giả sử tập tin được đặt tên server.crt
, hãy chạy lệnh sau:
openssl x509 -noout -modulus -in server.crt | openssl md5
Điều này sẽ xuất ra một giá trị mà bạn sẽ cần phải khớp với từng phím. Đối với mỗi khóa, hãy chạy lệnh sau:
openssl rsa -noout -modulus -in id_rsa-0.key | openssl md5
Nếu một trong số chúng khớp, bạn đã tìm thấy khóa.
Tín dụng: bài viết này chỉ cho tôi để vượt qua.