https://www.roe.ch/sslsplit
SSLSPLIT เป็นเครื่องมือสำหรับการโจมตีแบบ man-in-the-Middle กับการเชื่อมต่อเครือข่ายที่เข้ารหัส SSL/TLS มันมีจุดประสงค์เพื่อเป็นประโยชน์สำหรับนิติเวชเครือข่ายการวิเคราะห์ความปลอดภัยของแอปพลิเคชันและการทดสอบการเจาะ
SSLSPLIT ได้รับการออกแบบมาเพื่อยุติการเชื่อมต่อที่เปลี่ยนเส้นทางอย่างโปร่งใสโดยใช้เอ็นจิ้นการแปลที่อยู่เครือข่าย จากนั้น SSLSPLIT จะยุติ SSL/TLS และเริ่มต้นการเชื่อมต่อ SSL/TLS ใหม่ไปยังที่อยู่ปลายทางดั้งเดิมในขณะที่บันทึกข้อมูลทั้งหมดที่ส่ง นอกเหนือจากการดำเนินการตาม NAT แล้ว SSLSPLIT ยังรองรับปลายทางคงที่และใช้ชื่อเซิร์ฟเวอร์ที่ระบุโดย SNI เป็นปลายทางปลายน้ำ SSLSPLIT เป็นพร็อกซีโปร่งใสอย่างหมดจดและไม่สามารถทำหน้าที่เป็น HTTP หรือถุงเท้าพร็อกซีที่กำหนดค่าไว้ในเบราว์เซอร์
SSLSPLIT รองรับ TCP ธรรมดา, การเชื่อมต่อ SSL ธรรมดา, HTTP และ HTTPS ทั้ง IPv4 และ IPv6 นอกจากนี้ยังมีความสามารถในการอัพเกรด TCP ธรรมดาเป็น SSL แบบไดนามิกเพื่อรองรับ SMTP startTLS โดยทั่วไปและกลไกการอัพเกรดที่คล้ายกัน SSLSPLIT รองรับการบ่งชี้ชื่อเซิร์ฟเวอร์ (SNI) อย่างเต็มที่และสามารถทำงานกับ Keys RSA, DSA และ ECDSA และ DHE และ ECDHE Cipher Suites ขึ้นอยู่กับรุ่นของ OpenSSL ที่สร้างขึ้นกับ SSLSPLIT รองรับ SSL 3.0, TLS 1.0, TLS 1.1 และ TLS 1.2 และ SSL 2.0 เป็นทางเลือกเช่นกัน
สำหรับการเชื่อมต่อ SSL และ HTTPS SSLSPLIT จะสร้างและสัญญาณใบรับรอง X509V3 ที่ปลอมแปลงขึ้นมาทันทีการเลียนแบบ DN ของ Subject Subject ของเซิร์ฟเวอร์ดั้งเดิมและคุณสมบัติอื่น ๆ SSLSPLIT มีความสามารถในการใช้ใบรับรองที่มีอยู่ซึ่งมีคีย์ส่วนตัวแทนที่จะสร้างสิ่งปลอมแปลง SSLSPLIT รองรับใบรับรอง NULL-PREFIX CN แต่ไม่ได้ใช้การหาประโยชน์จากช่องโหว่การตรวจสอบใบรับรองเฉพาะในสแต็ก SSL/TLS
SSLSPLIT ใช้การป้องกันจำนวนหนึ่งกับกลไกซึ่งโดยปกติจะป้องกันการโจมตี MITM หรือทำให้ยากขึ้น SSLSPLIT สามารถปฏิเสธคำขอ OCSP ในแบบทั่วไป สำหรับการเชื่อมต่อ HTTP และ HTTPS, SSLSplit mangles ส่วนหัวเพื่อป้องกันการตรึงคีย์สาธารณะที่ใช้งานเซิร์ฟเวอร์ (HPKP), หลีกเลี่ยงข้อ จำกัด ด้านความปลอดภัยการขนส่งที่เข้มงวด (HSTs), หลีกเลี่ยงการบังคับใช้ความโปร่งใสของใบรับรอง การบีบอัด HTTP การเข้ารหัสและการเก็บรักษาจะถูกปิดใช้งานเพื่อให้บันทึกอ่านได้มากขึ้น
ตัวเลือกการเข้าสู่ระบบรวมถึงไฟล์บันทึกการเชื่อมต่อ SSLSplit แบบดั้งเดิมและไฟล์บันทึกเนื้อหารวมถึงไฟล์ PCAP และการถอดรหัสทราฟฟิกที่ถอดรหัสไปยังอินเทอร์เฟซเครือข่าย นอกจากนี้ใบรับรองความลับหลักและข้อมูลกระบวนการในท้องถิ่นสามารถบันทึกได้
ดูหน้าคู่มือ SSLSPLIT (1) สำหรับรายละเอียดเกี่ยวกับการใช้ SSLSPLIT และตั้งค่าเครื่องยนต์ NAT ต่างๆ
SSLSPLIT ขึ้นอยู่กับ openSSL, libevent 2.x, libpcap และ libnet 1.1.x โดยค่าเริ่มต้น; ไม่จำเป็นต้องใช้ libpcap และ libnet หากคุณลักษณะการทำมิเรอร์ถูกละเว้น การสร้างขึ้นอยู่กับ GNU Make และ Posix.2 สภาพแวดล้อมใน PATH หากมีให้ใช้ PKG-Config เพื่อค้นหาและกำหนดค่าการอ้างอิง การทดสอบหน่วยเสริมขึ้นอยู่กับห้องสมุดตรวจสอบ
ปัจจุบัน SSLSPLIT รองรับระบบปฏิบัติการและกลไก NAT ต่อไปนี้:
รองรับข้อมูลกระบวนการในท้องถิ่น ( -i ) มีอยู่ใน Mac OS X และ FreeBSD
คุณสมบัติ SSL/TLS และความเข้ากันได้อย่างมากขึ้นอยู่กับรุ่นของ OpenSSL ที่เชื่อมโยงกับ เพื่อผลลัพธ์ที่ดีที่สุดให้ใช้การเปิดตัว OpenSSL หรือ Libressl ล่าสุด
ด้วยข้อกำหนดด้านบน Run:
make
make test # optional unit tests
make sudotest # optional unit tests requiring privileges
make install # optional install
การพึ่งพาได้รับการกำหนดค่าอัตโนมัติโดยใช้ PKG-config หากการพึ่งพาไม่ได้รับและแก้ไข PKG_CONFIG_PATH ไม่ได้ช่วยคุณสามารถระบุตำแหน่งที่เกี่ยวข้องได้ด้วยตนเองโดยการตั้งค่า OPENSSL_BASE , LIBEVENT_BASE , LIBPCAP_BASE , LIBNET_BASE และ/หรือ CHECK_BASE ไปยังคำนำหน้า
คุณสามารถแทนที่คำนำหน้าการติดตั้งเริ่มต้น ( /usr/local ) โดยการตั้ง PREFIX สำหรับตัวเลือกการสร้างเพิ่มเติมและค่าเริ่มต้นเวลาการสร้างให้ดูที่ GNUmakefile และ defaults.h
ดูหน้าคู่มือ sslsplit(1) และ sslsplit.conf(5) สำหรับเอกสารผู้ใช้ ดู NEWS.md สำหรับบันทึกย่อการเปิดตัวที่แสดงการเปลี่ยนแปลงที่สำคัญระหว่างรุ่นและ SECURITY.md สำหรับข้อมูลเกี่ยวกับการเปิดเผยข้อมูลช่องโหว่ด้านความปลอดภัย
SSLSPLIT มีให้ภายใต้ใบอนุญาต BSD 2 ข้อ SSLSPLIT มีส่วนประกอบที่ได้รับอนุญาตภายใต้ใบอนุญาต MIT และ APSL ดู LICENSE , LICENSE.contrib และ LICENSE.third เช่นเดียวกับส่วนหัวไฟล์ต้นฉบับที่เกี่ยวข้องสำหรับรายละเอียด
ดู AUTHORS.md สำหรับรายชื่อผู้มีส่วนร่วม
SSLSPLIT ได้รับแรงบันดาลใจจาก mitm-ssl โดย Claes M. Nyberg และ sslsniff โดย Moxie Marlinspike แต่ไม่มีรหัสแหล่งที่มากับพวกเขา