bruteforce-salted-openssl - คู่มืออ้างอิง ตัวเลือก ตัวอย่างคำสั่ง


ชื่อ

bruteforce-salted-openssl - พยายามค้นหาข้อความรหัสผ่านสำหรับไฟล์ที่เข้ารหัสด้วย OpenSSL

เรื่องย่อ

bruteforce-salted-openssl [options] <filename>

คำอธิบาย

bruteforce-salted-openssl พยายามค้นหาข้อความรหัสผ่านหรือรหัสผ่านของไฟล์ที่เข้ารหัสด้วยคำสั่ง openssl ใช้งานได้สองวิธี:

  • ลองใช้รหัสผ่านที่เป็นไปได้ทั้งหมดที่กำหนดชุดอักขระ

  • ลองใช้รหัสผ่านทั้งหมดในไฟล์ (พจนานุกรม)

bruteforce-salted-openssl มีคุณสมบัติดังต่อไปนี้:

  • คุณสามารถระบุจำนวนเธรดที่จะใช้เมื่อแคร็กไฟล์ได้

  • โปรแกรมควรสามารถใช้ไดเจสต์และรหัสสมมาตรทั้งหมดที่มีอยู่ในไลบรารี OpenSSL ที่ติดตั้งบนระบบของคุณ

  • การส่งสัญญาณ USR1 ไปยังกระบวนการ bruteforce-salted-openssl ที่กำลังทำงาน ทำให้การพิมพ์มีความคืบหน้าและดำเนินการต่อ

  • มีโหมดสมบูรณ์และโหมดพจนานุกรม

ในโหมดสมบูรณ์ โปรแกรมพยายามถอดรหัสไฟล์โดยลองใช้รหัสผ่านที่เป็นไปได้ทั้งหมด มีประโยชน์อย่างยิ่งหากคุณรู้บางอย่างเกี่ยวกับรหัสผ่าน (เช่น คุณลืมรหัสผ่านบางส่วนแต่ยังจำรหัสผ่านได้เกือบทั้งหมด) การค้นหารหัสผ่านของไฟล์โดยไม่ทราบอะไรเลยอาจใช้เวลานานเกินไป (เว้นแต่รหัสผ่านจะสั้นและ/หรืออ่อนแอ) มี ตัวเลือก ของบรรทัดคำสั่งที่จะระบุ:

  • ความยาวรหัสผ่านขั้นต่ำที่ควรลอง

  • ความยาวสูงสุดของรหัสผ่านที่จะลอง

  • จุดเริ่มต้นของรหัสผ่าน

  • จุดสิ้นสุดของรหัสผ่าน

  • อักขระที่กำหนดให้ใช้ (ระหว่างอักขระของโลแคลปัจจุบัน)

ในโหมดพจนานุกรม โปรแกรมจะพยายามถอดรหัสไฟล์โดยลองใช้รหัสผ่านทั้งหมดที่มีอยู่ในไฟล์ ไฟล์ต้องมีหนึ่งรหัสผ่านต่อบรรทัด

ตัวเลือก

-1

หยุดโปรแกรมหลังจากค้นหาผู้สมัครรหัสผ่านแรก

-a

แสดงรายการอัลกอริทึมการเข้ารหัสและย่อยที่มีอยู่

-B <file>

ค้นหาโดยใช้รหัสผ่านไบนารี (แทนรหัสผ่านอักขระ) เขียนผู้สมัครไปที่

-b <string>

จุดเริ่มต้นของรหัสผ่าน ค่าเริ่มต้นคือ ""

-c <cipher>

รหัสสำหรับการถอดรหัส ค่าเริ่มต้นคือ aes-256-cbc

-d <digest>

แยกย่อยสำหรับการสร้างเวกเตอร์คีย์และการเริ่มต้น เริ่มต้น: md5

-e <string>

สิ้นสุดรหัสผ่าน ค่าเริ่มต้น: "".

-f <file>

อ่านรหัสผ่านจากไฟล์แทนการสร้างรหัสผ่าน

-h

แสดงความช่วยเหลือและเลิก

-L <n>

จำกัดจำนวนสูงสุดของรหัสผ่านที่ทดสอบไว้ที่

-l <length>

ความยาวรหัสผ่านขั้นต่ำ (รวมจุดเริ่มต้นและจุดสิ้นสุด) ค่าเริ่มต้น: 1.

-M <string>

ถือว่าการถอดรหัสสำเร็จเมื่อข้อมูลขึ้นต้นด้วย หากไม่มีตัวเลือกนี้ การถอดรหัสจะถือว่าสำเร็จเมื่อข้อมูลมีอักขระ ASCII ที่พิมพ์ได้เป็นส่วนใหญ่ (อย่างน้อย 90%)

-m <length>

ความยาวรหัสผ่านสูงสุด (รวมจุดเริ่มต้นและจุดสิ้นสุด) ค่าเริ่มต้น: 8.

-N

ละเว้นข้อผิดพลาดในการถอดรหัส (คล้ายกับ openssl -nopad)

-n

ละเว้นเกลือ (คล้ายกับ opensl -nosalt)

-p <n>

ดูตัวอย่างและตรวจสอบ ไบต์แรกที่ถูกถอดรหัสสำหรับสตริงเวทย์มนตร์ หากมีสตริงวิเศษ ให้ลองถอดรหัสข้อมูลที่เหลือ ค่าเริ่มต้น: 1024

-s <string>

ชุดอักขระรหัสผ่าน ค่าเริ่มต้นคือ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

-t <n>

จำนวนเธรดที่จะใช้ ค่าเริ่มต้น: 1.

-v <n>

พิมพ์ข้อมูลความคืบหน้าทุกๆ n วินาที

-w <file>

กู้คืนสถานะของเซสชันก่อนหน้าหากมีไฟล์อยู่ จากนั้นเขียนสถานะลงในไฟล์เป็นประจำ (~ ทุกนาที)

หมายเหตุ: การส่งสัญญาณ USR1 ไปยังกระบวนการ bruteforce-salted-openssl ที่กำลังทำงานอยู่ ทำให้ระบบพิมพ์ข้อมูลความคืบหน้าไปยังข้อผิดพลาดมาตรฐานและดำเนินการต่อ

ข้อจำกัด

โปรแกรมจะถือว่าข้อมูลที่ถอดรหัสนั้นถูกต้อง หากประกอบด้วยอักขระ ASCII ที่พิมพ์ได้เป็นหลัก (อย่างน้อย 90%) หากไฟล์ที่คุณต้องการถอดรหัสไม่มีข้อความล้วน คุณจะต้องใช้ตัวเลือก -M หรือแก้ไขฟังก์ชัน 'valid_data' ในซอร์สโค้ดให้ตรงกับความต้องการของคุณ

หากไฟล์ที่คุณต้องการถอดรหัสมีขนาดใหญ่ คุณควรใช้ตัวเลือก -N กับไฟล์เวอร์ชันที่ถูกตัดทอน (เพื่อหลีกเลี่ยงการถอดรหัสทั้งไฟล์ด้วยรหัสผ่านแต่ละรหัส)

ตัวอย่าง

ลองค้นหารหัสผ่านของไฟล์ที่เข้ารหัส aes256 โดยใช้ 4 เธรด โดยลองใช้เฉพาะรหัสผ่านที่มีอักขระ 5 ตัว:

    bruteforce-salted-openssl -t 4 -l 5 -m 5 -c aes256 encrypted.file

ลองค้นหารหัสผ่านของไฟล์ที่เข้ารหัส des3 โดยใช้ 8 เธรด ลองเฉพาะรหัสผ่านที่มีอักขระ 9 ถึง 11 ตัว ขึ้นต้นด้วย "AbCD" ลงท้ายด้วย "Ef" และมีเฉพาะตัวอักษร:

    bruteforce-salted-openssl -t 8 -l 9 -m 11 -c des3 -b "AbCD" -e "Ef" -s "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" encrypted.file

ลองค้นหารหัสผ่านของไฟล์ที่เข้ารหัส aes256 โดยใช้ 6 เธรด โดยลองใช้รหัสผ่านที่อยู่ในไฟล์พจนานุกรม:

    bruteforce-salted-openssl -t 6 -f dictionary.txt -c aes256 encrypted-file

พิมพ์ข้อมูลความคืบหน้าทุกๆ 30 วินาที:

    bruteforce-salted-openssl -t 6 -f dictionary.txt -c aes256 -v 30 encrypted-file

ลองค้นหารหัสผ่านของไฟล์ gzip ที่เข้ารหัส des3 โดยใช้ 8 เธรด:

    bruteforce-salted-openssl -t 8 -v 5 -c des3 -m 9 -s "0123456789" -M "$(echo -ne '\x1f\x8b')" file.tar.gz.des3

บันทึก/กู้คืนสถานะระหว่างเซสชัน:

    bruteforce-salted-openssl -t 6 -f dictionary.txt -c aes256 -w state.txt encrypted-file

ปล่อยให้โปรแกรมทำงานสักครู่แล้วหยุดหลังจากเปิดใช้:

    bruteforce-salted-openssl -t 6 -c aes256 -w state.txt encrypted-file

แสดงรายการอัลกอริทึมที่มีอยู่:

    bruteforce-salted-openssl -a

หากโปรแกรมพบรหัสผ่านที่เป็นตัวเลือก pwd คุณสามารถถอดรหัสข้อมูลโดยใช้คำสั่ง 'openssl':

    openssl enc -d -aes256 -salt -in encrypted.file -out decrypted.file -k pwd

ผู้เขียน

bruteforce-salted-openssl เขียนโดย Guillaume LE VAILLANT สำหรับการติดต่อ ใช้อีเมล glv@posteo.net หรือไปที่ https://github.com/glv2/bruteforce-salted-openssl

หน้าคู่มือนี้เขียนโดย Joao Eriberto Mota Filho eriberto@debian.org สำหรับโครงการ Debian (แต่ผู้อื่นอาจใช้)