ความสำเร็จ!
ฉันสามารถดึงคีย์ส่วนตัว แต่มันไม่ง่ายเลย นี่คือสิ่งที่คุณต้องทำ:
- ตรวจสอบให้แน่ใจว่าคุณไม่รีสตาร์ทเซิร์ฟเวอร์หรือ Apache เกมสิ้นสุดลง ณ จุดนั้น นั่นหมายถึงการทำให้แน่ใจว่าไม่มีบริการการตรวจสอบรีสตาร์ท Apache
- คว้าไฟล์นี้ - รหัสแหล่งสำหรับเครื่องมือที่ชื่อกุญแจพิเศษ
แตกซอร์สโค้ดและปรับบรรทัดที่ 9 Makefile.main
เป็น:
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
(ขอให้สังเกตว่า$(OBJS)
และ$(LDFLAGS)
มีการกลับรายการในลำดับ)
./build.sh
วิ่ง
คว้า PID ของ Apache โดยใช้:
service apache2 status
รันpasse-partout
คำสั่งในฐานะรูท:
sudo passe-partout [PID]
... ซึ่ง[PID]
เป็นค่าที่คุณได้รับในขั้นตอนที่ # 5
หากโปรแกรมสำเร็จไดเรกทอรีปัจจุบันของคุณจะมีคีย์พิเศษมากมาย:
you@server:~# ls
id_rsa-0.key id_rsa-1.key id_rsa-2.key
หากทุกอย่างเป็นไปด้วยดี (และหวังว่าจะเป็นเช่นนั้น) หนึ่งในกุญแจเหล่านั้นคือกุญแจที่คุณต้องการ อย่างไรก็ตามหากคุณมีใบรับรอง / คีย์ไฟล์มากกว่าหนึ่งรายการในการใช้งานคุณจะต้องพิจารณาว่าเป็นไฟล์ใด นี่คือวิธีที่คุณทำ:
ก่อนคว้าสำเนาของใบรับรองที่ตรงกับคีย์ลงนาม สมมติว่าไฟล์มีชื่อserver.crt
เรียกใช้คำสั่งต่อไปนี้:
openssl x509 -noout -modulus -in server.crt | openssl md5
สิ่งนี้จะส่งออกค่าที่คุณจะต้องจับคู่กับแต่ละปุ่ม สำหรับแต่ละคีย์ให้รันคำสั่งต่อไปนี้:
openssl rsa -noout -modulus -in id_rsa-0.key | openssl md5
หากหนึ่งในนั้นตรงกับที่คุณพบกุญแจ
เครดิต: บทความนี้ชี้ให้ฉันเห็นว่าส่วนหนึ่ง