ผู้สอน: ตอนนี้ ทุกสิ่งที่เราทำจนถึงตอนนี้ใช้ได้กับหน้า
HTTP เท่านั้น
สาเหตุที่ทำงานกับ HTTP เพราะอย่างที่เราได้เห็น
ข้อมูลใน HTTP ถูกส่งเป็นข้อความธรรมดา
จึงเป็นข้อความที่มนุษย์อย่างเราอ่านเข้าใจได้
นั่นเป็นเหตุผลว่าทำไมเมื่อเราเป็นคนตรงกลาง
เราจึงสามารถอ่านข้อความนี้ได้
และถ้าเราต้องการ เราก็สามารถแก้ไขข้อความนี้ได้ตามต้องการ
เห็นได้ชัดว่านี่เป็นปัญหา
และปัญหานี้ได้รับการแก้ไขแล้วใน HTTPS
ดังที่คุณทราบ เว็บไซต์ส่วนใหญ่ใช้ HTTPS
อย่างที่บอก เพราะเป็นเวอร์ชัน
HTTP ที่ปลอดภัยกว่า และโดยพื้นฐานแล้ว วิธีทำงานคือเพิ่มเลเยอร์พิเศษบน
HTTP ซึ่งเป็นที่มาของ S
ดังนั้นจึงเป็นโปรโตคอล HTTP
ที่ปลอดภัยและเลเยอร์พิเศษนี้จะเข้ารหัสข้อมูลข้อความธรรมดาที่
HTTP ส่ง
ดังนั้นหากบุคคลใดกลายเป็นชายที่อยู่ตรงกลางได้
ก็จะสามารถอ่านข้อมูลนี้ได้ แต่ข้อมูลจะพูดพล่อยๆ
บุคคลที่ขัดขวางการเชื่อมต่อจะไม่สามารถอ่านได้
ตอนนี้ HTTPS อาศัย TLS หรือ SSL ในการเข้ารหัสข้อมูล
ซึ่งยากต่อการทำลาย
ดังนั้น เพื่อเลี่ยงสิ่งนี้
วิธีที่ง่ายที่สุดคือดาวน์เกรดการเชื่อมต่อ
HTTPS เป็น HTTP
ดังนั้น เนื่องจากเราเป็นคนตรงกลาง
เราจึงสามารถตรวจสอบได้ว่าเป้าหมายกำลังขอเว็บไซต์ HTTPS หรือไม่
และแทนที่จะให้เวอร์ชัน HTTPS ของเว็บไซต์นั้นแก่เขา เราจะให้เวอร์ชัน
HTTP แก่เขา
ด้วยวิธีนี้ ข้อมูลจะถูกส่งเป็นข้อความธรรมดาและเราจะสามารถอ่านได้ตรงตามที่ฉันแสดงให้คุณเห็นในการบรรยายครั้งก่อน
ในการทำเช่นนี้ เราจะต้องกำหนดค่าและใช้เครื่องมือที่เรียกว่า
SSL Strip ด้วยตนเอง และฉันจะแสดงวิธีการทำสิ่งนี้ในหลักสูตรขั้นสูงของฉัน แต่โชคดีที่ Bettercap
มีแคปเล็ตที่ทำทุกอย่างเพื่อเรา
ฉันยังแก้ไข caplet นี้เองเพื่อให้ทำงานได้อย่างน่าเชื่อถือและบนเว็บไซต์มากขึ้น
ดังนั้น โปรดตรวจสอบให้แน่ใจว่าคุณใช้รูปภาพ Kali แบบกำหนดเองที่ฉันทำขึ้นสำหรับหลักสูตรนี้
เพราะมันมาพร้อมกับ caplet ที่ดัดแปลงนี้โดยค่าเริ่มต้น
หากคุณต้องการใช้ Kali ดั้งเดิม
คุณจะต้องดาวน์โหลด caplet นี้ด้วยตนเองและวางไว้ในเส้นทางที่ถูกต้อง
ฉันใช้ Kali แบบกำหนดเองที่นี่ ดังนั้นฉันไม่ต้องดำเนินการใดๆ
ฉันสามารถเรียกใช้ Bettercap และใช้งานได้
แต่ก่อนที่จะทำอย่างนั้น
ฉันแค่ต้องการไปที่โฮมไดเร็กตอรี่และปรับเปลี่ยน
caplet ปลอมที่เราใช้ในการบรรยายครั้งก่อน
และฉันแค่อยากจะแก้ไขสิ่งหนึ่งในนี้
ผมจะคลิกขวาแล้วเปิดด้วย
Leafpad
และสิ่งที่ฉันต้องการแก้ไขคือ ฉันต้องการเพิ่มตัวเลือกในการดมกลิ่นที่นี่
อย่างที่คุณรู้ เส้นนี้สุทธิ sniff on จะเปิด sniffer
ของฉัน แต่ก่อนที่จะเปิด
ฉันต้องการตั้งเน็ต
สูดอากาศ. ท้องถิ่นให้เป็นจริง
และสิ่งที่ตัวเลือกนี้จะทำ
มันจะบอกให้ Bettercap ดมข้อมูลทั้งหมด แม้ว่าจะคิดว่าข้อมูลนี้เป็นข้อมูลในเครื่องก็ตาม
เหตุผลที่ฉันตั้งค่าตัวเลือกนี้เป็น
true เพราะเมื่อเราใช้แคปเพล็ตบายพาส HTTPS ข้อมูลจะดูเหมือนถูกส่งจากคอมพิวเตอร์ของเรา
ดังนั้น Bettercap จะคิดว่ารหัสผ่านเหล่านี้เป็นของฉัน
กับคอมพิวเตอร์ของฉัน และจะไม่แสดงให้ฉันเห็นบนหน้าจอ
นั่นเป็นเหตุผลที่เราตั้งค่าเป็น
true เพื่อให้เราเห็นชื่อผู้ใช้และรหัสผ่านทั้งหมดที่ส่งบนเว็บไซต์ที่เราจะดาวน์เกรดจาก
HTTPS เป็น HTTP
ดังนั้นฉันจะบันทึกสิ่งนี้
ควบคุม + S แล้วออกจากมัน ควบคุม
+ Q และตอนนี้เราพร้อมที่จะใช้งานแคปเล็ตนี้แล้วและดูว่าเราจะดาวน์เกรด
HTTPS เป็น HTTP และขโมยรหัสผ่านจากหน้าเข้าสู่ระบบที่ใช้ HTTPS เป็นค่าเริ่มต้นได้อย่างไร
.
ฉันจะไปที่เทอร์มินัลแล้วใช้
Bettercap เหมือนกับที่ฉันเคยใช้มาก่อน
เรากำลังดำเนินการ Bettercap ชื่อของโปรแกรม
เราให้อินเทอร์เฟซของเราหลังจากอาร์กิวเมนต์
iface
เรากำลังใช้อาร์กิวเมนต์
caplet เพื่อระบุ caplet ให้ทำงานทันทีที่เราเรียกใช้โปรแกรม
และเรากำลังเรียกใช้ caplet ปลอม ซึ่งเราสร้างในการบรรยายครั้งก่อนที่จะเรียกใช้คำสั่ง ARP spoofing และเรียกใช้ sniffer for เรา.
ดังนั้นฉันจะกด Enter
และอย่างที่คุณเห็น ทุกอย่างเป็นไปตามที่คาดไว้
ถ้าเราช่วย เราจะเห็นโมดูลที่ทำงานอยู่ทั้งหมดและเรามี
arp การล้อเลียนและนักดมกลิ่นกำลังวิ่งด้วยหน่วยลาดตระเวนและโพรบ
นี่คือสิ่งที่เราต้องการจากแคปเล็ตของเรา
อย่างแรกเลย Caplet บายพาส HSTS เป็นหนึ่งในแคปเล็ทที่มี
Bettercap มาให้ด้วย
หากคุณต้องการแสดงรายการแคปเล็ทเหล่านี้ทั้งหมด
คุณสามารถทำแคปเล็ทได้ แสดงและอย่างที่คุณเห็น
คุณจะได้รับรายชื่อแคปเล็ททั้งหมดที่คุณมีและตำแหน่งบนระบบ
ตอนนี้ caplet ที่ต้องการเรียกใช้คือ caplet hstshijack
ตัวนี้นี่เอง
และเพื่อเรียกใช้แคปเล็ทเหล่านี้
สิ่งที่คุณต้องทำคือเพียงแค่พิมพ์ชื่อของมันอย่างแท้จริง
และตามปกติ คุณสามารถใช้แท็บเพื่อเติมข้อความอัตโนมัติได้
เพื่อเรียกใช้ caplet ของเราตรงนี้
ทั้งหมดที่ฉันต้องทำคือพิมพ์ hs แล้วกด Tab อย่างแท้จริง
และอย่างที่คุณเห็น ระบบจะเติมข้อความอัตโนมัติให้ฉันโดยอัตโนมัติและพิมพ์ชื่อแคปเล็ต
ตอนนี้ ถ้าฉันกด Enter สิ่งนี้จะโหลด caplet
พร้อมตัวเลือกทั้งหมด
และมันจะเรียกใช้ให้ฉัน
อย่างที่คุณเห็น เนื่องจากเราไม่เห็นข้อผิดพลาดใดๆ
นี่หมายความว่าทุกอย่างดำเนินการตามที่คาดไว้
ไปที่เครื่อง Windows กัน เรียกดูหน้า
HTTPS บางหน้า และดูว่าเราสามารถดมข้อมูล
ชื่อผู้ใช้ รหัสผ่าน และ URL ที่ป้อนบนคอมพิวเตอร์ของพวกเขาได้หรือไม่
ดังนั้นฉันจึงมีเครื่อง Windows ของฉันที่นี่
ฉันติดตั้ง Chrome แล้ว
Chrome เวอร์ชันล่าสุดนี้ในขณะที่บันทึกการบรรยายนี้
ความคิดที่ดีจริงๆ ก่อนลองทำสิ่งเหล่านี้ทั้งหมดคือลบข้อมูลการท่องเว็บของคุณ
เพราะเว็บไซต์ที่เราจะพยายามเข้าถึงอาจถูกแคชไว้
และอาจเพิ่งโหลดจากแคชของคุณ
สิ่งนี้จะเกิดขึ้นก็ต่อเมื่อคุณเข้าชมเว็บไซต์เดิมซ้ำแล้วซ้ำเล่า
ส่วนใหญ่เมื่อทำการทดสอบ
ดังนั้นจึงเป็นความคิดที่ดีที่จะควบคุม
+ Shift + Delete และคลิกล้างข้อมูลการท่องเว็บ
ตรวจสอบให้แน่ใจว่าได้คลิกทั้งหมดนี้แล้ว
ตรวจสอบให้แน่ใจว่าได้ตั้งค่าเป็นตลอดเวลา
และคลิก ล้าง เพื่อลบทั้งหมด
และไปที่เว็บไซต์ที่ใช้
HTTPS กัน
ตัวอย่างที่ดีคือ LinkedIn คอม
และสมบูรณ์แบบ
หากคุณดูที่ด้านบนนี้
คุณจะเห็นว่าเว็บไซต์กำลังโหลดผ่าน
HTTP ไม่ใช่ HTTPS
ดังนั้น เราจะสามารถเห็นสิ่งที่ผู้ใช้ป้อนในกล่องเหล่านี้
เลยใส่ชื่อผู้ใช้
ตั้งค่าเป็น zaid@zsecurity องค์กร
และฉันจะใส่รหัสผ่านเป็น 1234567890
มันไม่สำคัญจริงๆ
คุณสามารถใช้รหัสผ่านใดก็ได้
และฉันจะกด Enter เพื่อเข้าสู่ระบบ
สิ่งนี้ไม่ถูกต้อง เห็นได้ชัดว่าเราได้รับข้อความแสดงข้อผิดพลาด
แต่ถ้าเรากลับไปที่ Kali อย่างที่คุณเห็น
เรากำลังรวบรวมข้อมูลทั้งหมดนี้เพราะจะไม่ถูกส่งผ่าน
HTTPS อีกต่อไป
กำลังส่งผ่าน HTTP
และถ้าคุณดูในนี้ คุณจะเห็นว่าเราเก็บข้อมูลการเข้าสู่ระบบไว้
มันถูกส่งไปยัง LinkedIn คอม
ส่งไปยัง URL เฉพาะนี้ URL สำหรับเข้าสู่ระบบและคุณจะเห็นชื่อผู้ใช้คือ
zaid@zsecurity องค์กร
และรหัสผ่านคือ 123 ไปจนถึง 90
นั่นเป็นสิ่งที่ดีจริงๆ
มาทดสอบเว็บไซต์ HTTPS อื่นกัน
ไปที่ StackOverflow คอม
อีกครั้งที่คุณเห็นด้านบน
กำลังโหลดผ่าน HTTP ไม่ใช่ HTTPS
ดังนั้นฉันจะคลิกเข้าสู่ระบบ
และอีกครั้ง ฉันจะใส่อีเมลของฉัน
Zaid@zsecurity. องค์กร
และเราจะใส่รหัสผ่านเป็น 1234567890
กด Enter
และไปเครื่องกาลีกันอีกครั้ง
เลื่อนลงมาครั้งนี้เพราะเราติดอยู่ด้านบน
และสมบูรณ์แบบ คุณจะเห็นว่าเรามีคำขอ POST ที่นี่
ถูกส่งไปยัง URL เฉพาะนี้
อีกครั้ง คุณสามารถดูการเข้าสู่ระบบใน URL
คุณสามารถดูเว็บไซต์ได้เอง
สแต็คโอเวอร์โฟลว์ คอม
และถ้าเราเลื่อนลงมาอีกหน่อยจะพบว่าชื่อผู้ใช้คือ
zaid@zsecurity org และรหัสผ่านอีกครั้ง
123 ไปจนถึง 90
นั่นเป็นสิ่งที่ดีจริงๆ
ตอนนี้เราสามารถดาวน์เกรดการเชื่อมต่อ
HTTPS เป็น HTTP ได้ตราบใดที่เว็บไซต์เป้าหมายใช้
HTTPS ไม่ใช่ HSTS
ดังนั้นวิธีนี้จะใช้ได้กับทุกเว็บไซต์ที่ใช้
HTTPS ยกเว้นเว็บไซต์ยอดนิยมจริงๆ เช่น Facebook,
Twitter เป็นต้น
ดังนั้น lemme แสดงให้คุณเห็นตัวอย่างด่วน
ถ้าผมไปที่นี่และลองไปที่ Facebook com คุณจะเห็นว่าเว็บไซต์โหลดผ่าน
HTTPS ไม่ใช่ HTTP แม้ว่าเราจะกำหนดค่า
caplet ของเราอย่างถูกต้อง
และแม้ว่าเราจะสามารถดาวน์เกรดการเชื่อมต่อ
HTTPS บนเว็บไซต์จำนวนมาก เช่น LinkedIn และ Stack Overflow
สิ่งนี้เกิดขึ้นเพราะ Facebook ใช้ HSTS ซึ่งยากกว่าที่จะเลี่ยงผ่าน
ในการบรรยายครั้งหน้า
เราจะมาพูดคุยกันมากขึ้นว่า HSTS คืออะไร เหตุใดจึงเป็นเรื่องยากที่จะเลี่ยงผ่าน
และวิธีเลี่ยงผ่านบางส่วน และยังคงได้รับชื่อผู้ใช้และรหัสผ่านจากเว็บไซต์ที่ปรับใช้มัน เช่น Facebook,
Twitter เป็นต้น