How to Enable Apache SSL protocol in Kali

ขั้นตอน (Steps)

เปิดใช้งาน SSL

  1. ปกติจะเปิด Port 80 โดยใช้คำสั่ง
    service apache2 start
    


  2. เปิดใช้งาน SSL โดยใช้คำสั่ง
    a2enmod ssl
    

  3. จากนั้น Restart อีกครั้ง
    service apache2 restart
    


เปิดใช้งานเว็บไซต์ SSL

  1. เปิดใช้งานโดยใช้คำสั่ง โดยชื่อต้องตรงกับไฟล์ในโฟลเดอร์ /etc/apache2/sites-available/
    sudo a2ensite default-ssl
    

  2. จากนั้น Restart อีกครั้ง
    sudo service apache2 reload
    
    #ถ้าคำสั่งบน Error
    /etc/init.d/apache2 start
    

สร้าง Self-Signed SSL Certificate

  1. สร้างโฟลเดอร์สำหรับเก็บ private key และ certificate
    sudo mkdir /etc/apache2/ssl
    
  2. สร้าง Certificate และ Private key โดย
    • days ใช้กำหนดอายุของ Certificate
    • keyout ใช้ระบุ path ที่จะสร้าง key
    • out ใช้ระบุ path ที่จะสร้าง  certificate
      sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
      


ปรับแต่งค่า Apache เพื่อให้สามารถใช้ SSL

  1. เปิดไฟล์ /etc/apache2/sites-enabled/default-ssl.conf เพื่อแก้ไขค่า
  2. ภายใต้ VirtualHost _default_:443 ให้คำสั่งข้างล่าง โดยให้อยู่ภายใต้คำสั่ง ServerAdmin
    //ตามด้วย Domain หรือ IP
    ServerName 192.168.1.53:443
    

  3. จากนั้นหาอีกสองบรรทัดตามข้างล่างเพื่อระบุ Path ของ certificate และ Key ที่เราสร้างเอาไว้
    SSLCertificateFile /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    

  4. และตรวจสอบว่า
    SSLEngine on
    
  5. จากนั้น Restart อีกครั้ง
    sudo service apache2 reload
    

 

อ้างอิง (References)

 

How to Disable Weak Cipher (3DES) – SWEET32 in IIS

ขั้นตอน (Steps)

  1. สามารถติดตั้ง Web Server ได้จากบทความ
  2. สามารถตรวจสอบได้ว่า มี Weak Cipher คือใช้ DES3 ได้จาก
    • Nessus
    • testSSL (3DES ตามชื่อ RFC)
  3. พบ Cipher ตัวเป็น 3DES และมีขนาด 168 Bits ดังนี้
      DES-CBC3-SHA                 Kx=RSA         Au=RSA      Enc=3DES-CBC(168)        Mac=SHA1   
    
  4. และใช้โปรแกรม SSLscan ใน Kali เพื่อตรวจสอบ Cipher ทั้งหมด

 


วิธี Manual

  1. คลิก  StartRun, พิมพ์ regedit, และคลิก OK
  2. ให้ไปที่
    HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Ciphers
    
  3. จากตัวอย่างถ้าเราไม่พบชื่อ Cipher ใด ๆ แต่มีช่องโหว่ดังกล่าวแสดงว่าเป็น Cipher default ที่ตั้งเอาไว้แต่เริ่มต้นให้สร้าง โฟลเดอร์ 3DES กับ Bits 168 ดังภาพ
  4. เข้าไปใน Folder ที่เราสร้างขึ้นมาใหม่. จากนั้นคลิก Edit แล้วเลือก New  และคลิก  DWORD (32-bit) Value.
  5. พิมพ์ Enabled แล้ว Enter
  6. ตรวจสอบให้แน่ใจว่า ในคอลัมภ์ Data มีค่าเป็น (โดยปกติเป็นค่า Default ถ้าไม่ใช่ให้เลือก Modify แล้วเปลี่ยนเป็น 0)
    0x00000000 (0)
    

     

  7. Restart. เครื่องและทดสอบ Scan อีกครั้งจะพบว่า Cipher 3DES หายไปดังนี้
    • sslscan
    • testssl

อ้างอิง (References)

How to Disable Weak Cipher (RC4) in IIS

ขั้นตอน (Steps)

  1. สามารถติดตั้ง Web Server ได้จากบทความ
  2. สามารถตรวจสอบได้ว่า มี Weak Cipher คือใช้ RC4 ได้จาก Nessus ดังนี้
  3. พบ Cipher ตัวเป็น RC4 และมีขนาด 128 Bits ดังนี้
      RC4-MD5                      Kx=RSA         Au=RSA      Enc=RC4(128)             Mac=MD5    
      RC4-SHA                      Kx=RSA         Au=RSA      Enc=RC4(128)             Mac=SHA1   
    
  4. และใช้โปรแกรม SSLscan ใน Kali เพื่อตรวจสอบ Cipher ทั้งหมด

วิธี Manual

  1. คลิก  StartRun, พิมพ์ regedit, และคลิก OK
  2. ให้ไปที่
    HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Ciphers
    
  3. จากตัวอย่างถ้าเราไม่พบชื่อ Cipher ใด ๆ แต่มีช่องโหว่ดังกล่าวแสดงว่าเป็น Cipher default ที่ตั้งเอาไว้แต่เริ่มต้นให้สร้าง โฟลเดอร์ RC4 กับ Bits 128 ดังภาพ
  4. เข้าไปใน Folder ที่เราสร้างขึ้นมาใหม่. จากนั้นคลิก Edit แล้วเลือก New  และคลิก  DWORD (32-bit) Value.
  5. พิมพ์ Enabled แล้ว Enter
  6. ตรวจสอบให้แน่ใจว่า ในคอลัมภ์ Data มีค่าเป็น (โดยปกติเป็นค่า Default ถ้าไม่ใช่ให้เลือก Modify แล้วเปลี่ยนเป็น 0)
    0x00000000 (0)
    

  7. Restart. เครื่องและทดสอบ Scan อีกครั้งจะพบว่า Cipher RC4 หายไปดังนี้

สำหรับ Bits ขนาดอื่น ๆ ถ้าพบให้ทำในรูปแบบเดียวกันดังนี้

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128
"Enabled"=dword:00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128
"Enabled"=dword:00000000

 

อ้างอิง (References)

How to Enable TLS Version 1.1 and 1.2 Protocol in IIS

ขั้นตอน (Steps)

  1. สามารถติดตั้ง Web Server ได้จากบทความ
  2. สามารถตรวจสอบได้ว่า  Protocol TLS version 1.1 และ 1.0 เปิดอยู่หรือไม่ โดย Tool https://testssl.sh
  3. จากภาพข้างต้น TLS 1.1 และ 1.2 เป็น not offered แสดงว่ายังไม่เปิดใช้บริการ

วิธี Manual

  1. คลิก  StartRun, พิมพ์ regedit, และคลิก OK
  2. ให้ไปที่
    HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
    

  3. ถ้าไม่พบโฟลเดอร์ TLS 1.1 และ TLS 1.2 ให้สร้างขึ้นมาใหม่
  4. จากนั้นโฟลเดอร์ย่อย Client และ Server
  5. เข้าไปใน Folder ที่ชื่อ Server และ Client ทั้ง TLS 1.1 และ TLS 1.2 ที่เราสร้างขึ้นมาใหม่. จากนั้นคลิก Edit แล้วเลือก New  และคลิก  DWORD (32-bit) Value. แล้วตั้งค่าดังนี้
     DisabledByDefault [Value = 0]
     Enabled  [Value = 0]
    

  6. สร้างให้ครบดังนี้ 
  7. Restart. เครื่องและทดสอบ Scan อีกครั้งจะพบว่า TLS 1.1 และ TLS 1.2 เปิดขึ้นมา

อ้างอิง (References)

How to Disable SSL Version 2 and 3 Protocol in IIS

ขั้นตอน (Steps)

  1. สามารถติดตั้ง Web Server ได้จากบทความ
  2. สามารถตรวจสอบช่องโหว่ได้ด้วยเองจากบทความ (http://blog.itselectlab.com/?p=3867)
  3. ผล Scan ช่องโหว่ของ SSL version 2 และ 3 protocol ของ IIS เป็นดังรูป
    • Nessus
    • testSSL

วิธี Manual

  1. คลิก  StartRun, พิมพ์ regedit, และคลิก OK
  2. ให้ไปที่
    HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
    

  3. คลิกขวาที่ SSL 2.0. โฟลเดอร์ เลือก New แล้วคลิก Key 
  4. ตั้งชื่อให้โฟลเดอร์ใหม่ ชื่อ Server
  5. เข้าไปใน Folder ที่เราสร้างขึ้นมาใหม่. จากนั้นคลิก Edit แล้วเลือก New  และคลิก  DWORD (32-bit) Value.
  6. พิมพ์ Enabled แล้ว Enter
  7. ตรวจสอบให้แน่ใจว่า ในคอลัมมภ์ Data มีค่าเป็น (โดยปกติเป็นค่า Default ถ้าไม่ใช่ให้เลือก Modify แล้วเปลี่ยนเป็น 0)
    0x00000000 (0)
    
  8. ทดลอง Restart เครื่อง Computer แล้ว Scan อีกครั้งจะพบว่า SSL v2.0 ถูกปิดไปแล้ว
  9. จากนั้นปิด SSLv3. เพิ่ม โดยการเพิ่มโฟลเดอร์ SSL 3.0 ถ้าไม่มี
  10. จากนั้นให้ตั้งค่าเหมือนกับ SSLv2 และ Restart เครื่องอีกครั้ง 
  11. ทดสอบ Scan อีกครั้งพบว่าช่องโหว่ได้หายไปแล้ว

อ้างอิง (References)

 

 

 

How to enable SSL on IIS 7

ขั้นตอน (Steps)

  1. ติดตั้ง IIS (How to enable IIS 7 on Windows Server 2008 or Window Server 2008 R2)
  2. เปิด IIS manager   Start-> All Programs -> Administrative Tools -> IIS manager.
  3. เลือก. Node ของ Server ดังรูป
  4. เลือก Server Certificates ด้านขวา 
  5. คลิก Create Self-Signed Certificate… ทางด้านขวาในกรอบ  Actions pane.
  6. ใส่ชื่อ Friendly name อะไรก็ได้ จากนั้นคลิก OK
  7. จะได้ผลลัพธ์ดังรูป
  8. เลือก Default Web site ดังรูป
  9. ทางด้านขวาคลิก Bindings… ใน Actions pane. 
  10. คลิก Add…
  11. เลือก https และ เลือก Certificate ที่เราสร้างเข้ามา 
  12. จะมี  https โผล่ขึ้นมา
  13. คลิกที่ Browser ด้านขวาที่เป็น 443 หรือเข้าที่
    https://localhost/
    

อ้างอิง (References)

https://docs.microsoft.com/en-us/iis/manage/configuring-security/how-to-set-up-ssl-on-iis#create-an-ssl-binding-1

 

How to enable IIS 7 on Windows Server 2008 or Window Server 2008 R2

ขั้นตอน (Steps)

  1. คลิกที่ Start-> All Programs -> Administrative Tools -> Server Manager
  2. เมื่อคลิกที่ Role จะพบ Add Roles ทางด้านตามภาพข้างต้น
  3. คลิกเลือก Web server จากนั้นคลิก Next 
  4. จากนั้นเลือก Role ที่จำเป็น จากตัวอย่างเลือก ASP.net สำหรัยเขียนโปรแกรมพวก .net จากนั้น Click Next
  5. จากนั้น Click “Add any required role services”
  6. เมื่อติดตั้งเสร็จสิ้น Click “Close”
  7. ทดสอบ Default web
    http://localhost/
    

อ้างอิง

https://docs.microsoft.com/en-us/iis/install/installing-iis-7/installing-iis-7-and-above-on-windows-server-2008-or-windows-server-2008-r2

How to jailbreak iOS – Pangu9

บทนำ (Overview)

ปัจจุบันเฟิร์มแวร์เวอร์ชันล่าสุดของ iOS ที่รองรับการ Jailbreak แบบ Untethered คือ 9.0 – 9.1

Source: https://en.wikipedia.org/wiki/IOS_jailbreaking

โดย Tools ที่ใช้งานมีชื่อว่า “Pangu9” ซึ่งสามารถใช้งานได้กับเครื่องที่รองรับ 64-bit ได้แก่

  • iPhone 6s Plus, iPhone 6s, iPhone 6 Plus, iPhone 6, iPhone 5s
  • iPad Air 2, iPad Air, iPad mini 4, iPad mini 3, iPad mini 2, iPad Pro

หมายเหตุ: “Untethered” jailbreak คือการที่ซอฟต์แวร์จะทำการแพทซ์ Kernel อัตโนมัติ ซึ่งทำให้สามารถเปิดหรือปิดเครื่องได้เองโดยไม่ต้องใช้งาน Tool ในการช่วย Boot

บทความโดย
ZonGKy
Cyber Security Researcher

Continue reading

How to review vulnerable codes – A8: Insecure Deserialization – PHP object injection (2017)

 

บทนำ (Overview)

บทความนี้กล่าวถึงการวิเคราะห์ช่องโหว่ของที่สามารถ Run คำสั่ง PHP ประสงค์ร้าย โดยมีช่องทางผ่านพารามิเตอร์หนึ่งของ Request message แต่ค่าของ Parameter นั้น ๆ จะต้องส่งผ่านในลักษณะ PHP serialization เสียก่อน และค่าดังกล่าวจะถูก unserialization ที่ฝั่ง Server

Continue reading

How to introduce Perfect Forward Secrecy

บทนำ (Overviews)

Perfect Forward Secrecy หรือ Forward Secrecy (FS) มีลักษณะเป็น Key-Agreement Protocol เพื่อทำให้มั่นใจได้ว่าการติดต่อสื่อสารที่ผ่าน ๆ มาจะยังคงเป็นความลับอยู่ ถึงแม้ว่า Private key จะถูกขโมยไปเพื่อใช้ในการถอดรหัสในภายหลังก็ตาม โดยหลักการจะมีการสร้าง Session key ที่ไม่ซ้ำกันในตั้งแต่เริ่มต้นที่ติดต่อสื่อสารกันในแต่ละ Session ดังนั้นเมื่อเกิด Session Key หลุดรั่วไป ก็จะไม่มีผลกระทบต่อข้อมูลอื่น ที่ใช้ Session key ที่แตกต่างกัน โดยการป้องกันของ Perfect Forward Secrecy จะป้องกันกันข้อมูลบน Transaction LayerContinue reading