
Extra: HTTPS Insecurity with SSLstrip
Incognito Lab
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

HTTPS Insecurity Part 1
เรื่องน่าเบื่อที่ผู้ใช้งาน Internet คงได้ยินกันบ่อย ๆ คือ การเข้า Web ให้ปลอดภัยนั้นจะต้องดูว่าเป็น HTTPS หรือไม่
ทำให้โอกาสประสบความสำเร็จของ 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 มากขึ้น
Up Next

ARTICLES
Mar
01
2021
007 Skyfall : the untold story
สวัสดีปีใหม่ สำหรับในปี 2012 ที่ผ่านมาทางทีมงาน Incognito Lab ของเรา ขอขอบคุณทุก ๆ ท่านที่คอยติดตามเรา และ ส่งเมล์เข้ามาให้กำลังใจทีมงานอย่างมากครับ
READ MORE

ARTICLES
Mar
01
2021
Bangkok Governor Election
สิ่งที่อยากจะแชร์ในวันนี้คือ Security ในเขตเลือกตั้งครับ
READ MORE

ARTICLES
Mar
01
2021
Banking Trojan Hunting — g01pack's fundamental analysis
1-2 วันที่ผ่านมาผมคิดว่าหลาย ๆ คนที่เข้าไปดูข่าวออนไลน์บ่อย ๆ อาจจะตกใจเนื่องจาก Google และ Google Chrome มีการแจ้งเตือนภัยคุกคามว่า website ดังกล่าวอาจเป็นอันตรายต่อคอมพิวเตอร์ของผู้ใช้งาน
READ MORE