Extra: HTTPS Insecurity with SSLstrip

SSLstrip เป็น 1 ในเทคนิคที่นิยมใช้กันในการทำ Man-in-the-middle เพื่อดักข้อมูล ซึ่งถูกคิดค้นโดย Moxie Marlinspike (คุณพี่ Deadlock นั่นเอง) และได้ถูกนำมา present ในงาน Black Hat DC 2009
ทำไมต้อง SSLstrip
โดยปกติการทำ Man-in-the-middle กับ Encrypted Traffic (HTTPS) นั้น Attacker จะติดปัญหาคือไม่สามารถ Decrypt Data ได้ ทำให้ไม่สามารถอ่านข้อมูลได้นั่นเอง หากต้องการจะอ่านข้อมูลก็มักจะใช้วิธีการทำ SSLsniff ซึ่งวิธีจะเป็นการ Decrypt HTTPS Traffic ระหว่างทางโดยการสร้าง SSL Tunnel 2 อัน เพื่อคุยระหว่างกับ User กับ Attacker และระหว่าง Attacker กับ Server
ซึ่งวิธีการทำ SSLsniff นี้มักจะเป็นปัญหาเนื่องจาก Certificate ที่ใช้ระหว่างเครื่อง User และ Attacker จะไม่ถูก Trust โดย Web Browser ทำให้ขึ้นหน้า Certificate Error ที่ฝั่ง User (Client) ดังนั้น User ที่มี Awareness ดีหน่อยก็อาจจะรอดพ้นจากวิธีการทำ SSLsniff ได้ รายละเอียดการ Trust กันของ PKI อ่านได้จาก HTTPS Insecurity Part 1
ทำให้โอกาสประสบความสำเร็จของ Attacker นั้นลดลง แต่หากใช้ SSLstrip ปัญหา Certificate Error จะหมดไปทันที
SSLstrip ทำงานอย่างไร
SSLstrip ทำงานบนสมมติฐานว่าโดยปกติ User ไม่ได้เข้า Website ที่เป็น HTTPS โดยตรงแต่มักจะถูก Redirect ให้เข้า ตัวอย่างเช่น เราพิมพ์ URL http://www.twitter.com จะโดน Server จะทำการ Redirect ให้เราไปที่ https://www.twitter.com แทน
Trick ของ SSLstrip คือการโจมตีไปที่ HTTP (ข้อมูลจะไม่ถูกเข้ารหัส) แทนที่จะโจมตี HTTPS ซึ่งทำโดยวิธีการใช้ Man-in-the-middle บวกกับการบังคับไม่ให้ User คุยกับ Server ผ่าน HTTPS แต่จะเป็นการคุยโดย
- เครื่อง Attacker คุย HTTPS กับ Server
- เครื่อง User (Client) คุย HTTP กับ Attacker
ขั้นตอนการใช้งาน SSLstrip
ขั้นตอนที่ 1 (เหมือนกับการทำ Man-in-the-middle ทั่วไป)
- ตั้ง Forward Packet
- ทำ ARP Spoofing เพื่อ Redirect ข้อมูลจากเครื่อง User มาที่ Attacker
ขั้นตอนที่ 2
- ทำ Routing traffic เพื่อให้ข้อมูลวิ่งเข้าที่ port ของ SSLStrip ที่เปิดไว้ ตัวอย่างบนเวปทั่วไปจะใช้คำสั่ง
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port <listenPort>
- Run SSLStrip
แค่เพียงเท่านี้ Attacker จะสามารถดัก Traffic ของ User ได้ทั้งหมดทันที
วิธีการป้องกัน SSLstrip
- Implement HTTP Strict Transport Security (HSTS) ที่ฝั่ง Server ซึ่งเป็นวิธีการบังคับให้ Web Browser คุยผ่าน HTTPS เท่านั้น แต่การทำด้วยเทคนิคนี้จะยากมากเพราะว่า Developer แต่ละ Web จะต้องมีความรู้ความเข้าใจในการทำให้ Web ตัวเองปลอดภัย
- User จะต้องมี Awareness มากขึ้น
OUR SERVICES
Get the help you need
Interested in our services or want to know more? Book a call through the website anytime — our team is happy to advise and answer all your questions.
Up Next

ARTICLES
Mar
01
2021
HTTPS Insecurity Part 2
หลังจาก Part 1 ได้มีการปูพื้นฐานของ PKI/Digital Certificate/HTTPS (SSL protocol) ไปแล้ว ใน Part 2 นี้จะขอพูดถึงความเสี่ยงของ HTTPS ที่สามารถเกิดขึ้นได้ครับ
READ MORE

ARTICLES
May
19
2025
ลดความเสี่ยง เพิ่มความปลอดภัย ไม่ต้องต่ออายุ SSL เองอีกต่อไป
SSL Certificate ที่หมดอายุโดยไม่รู้ตัว อาจทำให้ผู้ใช้เข้าถึงเว็บไม่ได้ สูญเสียความน่าเชื่อถือ หรือโดน Google เตือนว่า "Not Secure"
READ MORE

ARTICLES
May
19
2025
Free HTTPS Is Real But Can You Trust That Website
ในโลกปัจจุบัน คุณสามารถเปิดใช้ HTTPS ได้ฟรี ภายในไม่กี่วินาที ด้วยบริการอย่าง Let's Encrypt
READ MORE


