Posts tagged: Security

LM (Lan Manager)ทำไมต้องเลิกใช้

วันนี้ขอยกตัวอย่างอัลกอริทึกของการเก็บรหัสผ่านใน Windows เก่าๆมาเล่าให้ฟังนิดนะครับว่าทำไมปัจจุบันจึงต้้องมีการเปลี่ยนแปลงเรื่องๆ

ปกติแล้วการเก็บรหัสผ่านใน Windows จะเก็บอยู่ในไฟล์ที่ชื่อว่า SAM Database ซึ่แน่นอนว่าหากเก็บเป็น Clear Text แล้วย่อมต้องถูกโจรกรรมกันได้อย่างง่ายๆแน่นอน ดังนั้นเราจึงต้องมีการเข้ารหัสที่เก็บนี้ไว้ด้วยวิธีการตามแต่จะคิดขึ้นมาได้

Lan Manager หรือ LM Hash เป็นวิธีการเข้ารหัส Password ที่ใช้ใน Windows รุ่นเก่าๆเช่น Windows NT และก็ใช้มาเรื่อยๆ วิธีการเข้ารหัสผ่านของ LM Hash จะมีดังนี้

  1. แบ่งรหัสผ่านออกเป็นสองส่วน ส่วนละ 7 ตัว กรณีที่รหัสผ่านสั้นกว่า 14 ตัวก็จะทำการ Pad เข้าไปให้ครบ มองจากตรงนี้จะเห็นเลยว่าเราจะตั้งรหัสยาวกว่า 14 ตัวไม่ได้ (ปัจจุบันผมตั้งที่ 30 ขึ้นไปซึ่งเพื่อนก็แซวว่าเยอะแล้ว แต่ได้ข่าวว่าบาง Vendor ซัดไปเกือบร้อย !!!)
  2. รหัสผ่านจะถูกทำเป็น Uppercase เท่ากับว่าหากใช้เทคนิค Bruteforce ไปประยุกต์จะประหยัดเวลาไปครึ่งหนึ่ง
  3. นำรหัสทั้งสองส่วนไปผ่านอัลกอริทึมจนเรียบร้อยก็นำมาต่อกันแล้วเก็บลง SAM ขั้นตอนนี้มองเผินๆไม่มีปัญหาหรอก แต่ดันไปใช้ DES 56 Bit ซึ่งผมว่า Bit น้อยไป เพราะสมัยนี้ใช้เป็น AES256 กันแล้ว

เขียนสั้นๆมาสามข้อก็น่าจะเห็นแล้วว่าทำไม LM จึงถูกลบไปจากสารบบ

ในความเป็นจริงจุดอ่อนของ LM ถูกพบตั้งแต่ยังเป็น OS2 ที่ Microsoft จับมือกับ IBM แล้ว แต่เนื่องจากตอนนั้นขายระบบที่ใช้ LM ไปมากแล้ว ถ้าประกาศว่าใช้ไม่ได้ก็กะไรอยู่ ดังนั้นเราจึงเห็น LM อยู่คู่โลกนานเกินกว่าที่ควรจะเป็นครับ

ปัจจุบันการเก็บรหัสลง SAM ใช้เทคนิคอื่นแล้ว ซึ่งก็แคร็กยากขึ้น แต่หากตั้งรหัสไว้อ่อนๆก็โดนได้ง่ายๆครับ ดังนั้นมาตั้งรหัสให้ยาวและซับซ้อนกันแต่วันนี้ดีกว่าครับ :)

Web Proxy Autodiscovery Protocol (WPAD) กับ ISA และ TMG

วันนี้ขอมาสาระสักเล็กน้อยเกี่ยวกับ WPAD บน ISA และ TMG นะครับ

WPAD หรือ Web Proxy Automaticdiscovery Protocol (WPAD) เป็นโปรโตคอลที่ถูกออกแบบมาให้ไคลเอนต์สามารถค้นหาพร็อกซีได้โดยอัตโนมัติผ่านเว็บเบราเซอร์ ซึ่งถ้าหากผู้อ่านทุกท่านลอง Sniff ข้อมูลในขณะที่เปิดเว็บเบราเซอร์ขึ้นมาไม่ว่าจะตัวไหนก็ตาม ก็จะพบว่าจะมีการพยายาม Resolve Hostname ที่ชื่อ WPAD ก่อนโดยตลอด กระบวนการนี้คือการค้นหาพร็อกซีโดยอัตโนมัตินั่นเอง

ปกติแล้วเราสามารถใช้ระบบนี้ได้โดยผ่านทั้ง DHCP และ DNS สำหรับ DHCP จะสามารถใช้ได้เฉพาะซอฟท์แวร์ของไมโครซอฟท์เท่านั้น (ยกเว้นเราจะเขียน Add-on สำหรับเว็บเบราเซอร์อื่นๆ) เพราะ DHCP Option ที่ใช้นี้จะถูกระบุใน RFC ว่าเป็น Private Use นั่นหมายความว่า Vendor เจ้าไหนก็สามารถนำไปใช้กับซอฟท์แวร์ของตนเองได้หมด ซึ่งในกรณีนี้ก็คือ ISA, TMG จะใช้กับ IE นั่นเอง

ในทาง Security แล้ว เราไม่ควรใช้งาน WPAD  ในระบบของเราเท่าใดนัก เพราะการใช้งาน WPAD จะทำให้ Attacker สามารถจะ Identify ตัว Proxy Server ของเราได้ ซึ่งแน่นอนว่าเมื่อได้ข้อมูลตรงนี้แล้ว การทำ Information Gathering รวมไปถึงการทำ Vulnerability Assessment กับตัว Proxy จะทำได้อย่างมีประสิทธิภาพมาก ในท้ายที่สุดก็จะนำมาสู่การโจมตีตัว Proxy นั่นเอง

อย่างไรก็ตามในบางระบบการใช้งาน WPAD ก็เป็นสิ่งที่จำเป็น ดังนั้นหากเราเลี่ยงไม่ได้แล้ว สิ่งที่ควรจะทำคือการ Hardening ตัว Proxy ของเราให้ดีที่สุด ซึ่งก็ทำได้หลายวิธีด้วยกันครับ

อีกสิ่งหนึ่งที่อาจจะมีข้ึ่อถกเถียงบ้างคือตัว DHCP Option นั้นยังมีหลายๆท่านเข้าใจว่าต้องใส่เป็น Hostname เท่านั้น ซึ่งผมขอเรียนว่าไม่จำเป็นครับ เพราะการใส่เป็น Hostname แล้วเท่ากับว่าบังคับให้ไคลเอนต์ทุกคนต้องชี้  DNS, WINS มาที่ระบบของท่านเอง ซึ่งในบางครั้งทำไม่ได้แน่ๆ จะหวังไปพึ่ง NetBIOS ก็อยากเรียนว่าสมัยนี้แล้วจะใช้ NetBIOS ให้ล่อเป้าในการทำ Enum และ Exploit ไปทำไม จริงไหมครับ :)

OS Fingerprint หรือระบบเราจะมีรอยนิ้วมือ

ห่างหายไปนานมาครั้งนี้แวะเอาเรื่อง Security มาฝากกันครับ

.

ในการทำ Auditing หรือการทดสอบระบบโดยการลองแฮกเข้าไปนั้น ขั้นตอนแรกที่ทุกคนจะต้องทำ (ในกรณีที่ไม่รู้ข้อมูลใดๆมาก่อนเลย) ก็คือ Information Gathering

Information Gathering คือการรวบรวมข้อมูลเกี่ยวกับเป้าหมายให้มากที่สุดเท่าที่จะมากได้ อย่างไรก็ดีข้อมูลที่รวบรวมหากเป็นไปได้ควรเลือกมานิดจะดีมาก เพราะมีหลายกรณีเหมือนกันที่เป้าหมายมีข้อมูลใน Public Website เยอะมาก เช่น ผู้ใช้ในองค์กรเล่นเน็ตกระจาย เอาเมลองค์กรไปใช้ซะทุกเว็บที่ตนเข้า ข้อมูลเหล่านี้แม้จะมีประโยชน์มากในกรณีที่จะต้องทำ Social Engineering แต่ปัจจุบันคงต้องยอมรับกันตรงๆว่าองค์กรหลายๆแห่งยังไม่มีความต้องการทดสอบในส่วน Social Engineering เท่าใดนัก ดังนั้นความพยายามในการรวบรวมข้อมูลส่วนนี้ที่มากจนเกินไปอาจจะก่อให้เกิดการเสียเวลาได้เหมือนกัน

นอกจากข้อมูลประเภท DNS Record, IP Block แล้วอีกสิ่งหนึ่งที่ควรจะหามาให้ได้นั้นคงหนีไม่พ้น Operating System หรือ Application ที่ติดตั้งอยู่ เพราะเมื่อรู้แล้วก็จะทำการต่อไปได้ไม่ยาก การทำงานในส่วนนี้เราจะเรียกว่าการหา Fingerprint หรือรอยนิ้วมือของ OS นั่นเอง

ในกรณี Web Server เรามีวิธีการมากมายเลยที่จะดูว่า Web Server นี้ใช้ซอฟท์แวร์ใด วิธีง่ายที่สุดคงหนีไม่พ้นการ Sniff ข้อมูลและดูในส่วนของ HTTP Header ซึ่งก็จะมีรายละเอียดของ Application (IIS, Apache) รวมทั้ง OS (Windows, Linux, etc.) ส่งมาให้พร้อมศัพท์

แต่ปัจจุบันผู้ดูแลระบบหลายๆท่านได้ตัดฟิลด์ที่ว่านี้ใน HTTP Header ทิ้งไปเรียบร้อย แต่ก็ยังไม่พ้นการใช้เทคนิค OS Fingerprint จากซอฟท์แวร์ประเภท OS Detection อยู่ดีครับ เพราะซอฟท์แวร์ประเภทนี้จะตรวจสอบรายละเอียดที่มากกว่า HTTP Header เช่น การตรวจสอบในส่วนของ TCP/IP Paremeter ต่างๆ

อย่างไรก็ดีเรายังสามารถจะปลอม OS Fingerprint ของเราได้โดยการ Modify TPC/IP Parameter แต่ควรทำอย่างระมัดระวังเนื่องจากการเปลี่ยนแปลงในส่วนนี้อาจจะมีส่วนไปทำให้ Application มี Performance ต่ำลงไปครับ

.

สำหรับวันนี้ต้องขอตัวก่อนนะครับ พบกันใหม่โอกาสหน้าครับ

.

.

ปล วันเสาร์นี้มีสอน Network Infrastructure นะครับ :) (ไม่วายขายยา)

Websense อีกหนึ่ง Web Filtering คุณภาพ

วันนี้ขอแนะนำซอฟท์แวร์ประเภท Web Filtering ซักเล็กน้อย

เนื่องจากบริษัทนี้ได้ก้าวหน้าจนซื้อ SurfControl ซึ่งเป็น Web Filtering Engine ของ Juniper Netscreen Firewall ที่จัดว่าเป็นอุปกรณ์ชิ้นโปรดอีกอันหนึ่งของผมไปซะแล้ว (เดือดร้อนต้องไปอัปเกรด Netscreen ให้ชาวบ้านอีก)

Websense เป็นซอฟท์แวร์ประเภท Web Filtering ที่จัดได้ว่าเป็นกลุ่มผู้นำในปัจจุบัน (อ้างอิงจาก Gartner Quadrant) เรียกว่าคู่คี่กับทาง BlueCoat ทีเดียว

จุดดีของ Websense นั้นมีหลายอย่างทีเดียว ขอไล่เรียงตามความประทับใจนะครับ

  1. มี Policy Server ตั้งแยกได้ ทำให้ง่ายต่อการ Manage และหากมันล่ม ผู้ใช้ก็ยังทำงานได้อยู่ เพียงแต่ขะไม่โดน Filter เท่านั้น ตรงจุดนี้จะออกแบบมาคล้ายกับ TippingPoint IPS ที่ไปปุ๊บปล่อยปั๊บ
  2. User Interface ในการคอนฟิกเข้าใจได้ง่ายมาก สามารถีโมทเข้ามาจัดการได้ผ่านทาง Web Browser ธรรมด๊า ธรรมดา
  3. สามารถ Integrate เข้ากับชาวบ้านได้มากมาย แต่ที่ทำบ่อยๆเป็น ISA เลยเข้าใจว่ามันทำมาคู่กับ ISA ซะงั้น
  4. Database ท่านใหญ่พอสมควร เลยบล๊อคได้เยอะ แถมซอยย่อยเป็นหลาย Category ให้ ก็นับว่าสะดวกดี (แต่รู้สึกฐานข้อมูลเว็บประหลาดๆในไทยจะอัปเดตไม่เท่า BlueCoat นะ)

หลังจากจุดดีแล้ว ก็ขอแนะนำจุดที่ฮาซะหน่อย

  1. เราสามารถ Manage ผ่าน Web Browser ธรรมดาได้ก็จริง แต่หากผิดเวอร์ชันที่มันซัพพอร์ตไปซักนิด กดตั้งอะไรจะ Error ตลอดศก เช่น มันแนะนำให้เป็น Firefox 3.0 พอเอา 3.5 ไปเล่นกับมัน เอ๋อสนิท
  2. อย่าได้เปลี่ยนไอพี Policy Server ตามอำเภอใจ เพราะเปลี่ยนปุ๊บ เดี้ยวปั๊บ เข้า Manage ไม่ได้ ต้องแก้ร่วมๆสิบจุดกว่ามันจะมา และหากแก้ไม่ครบ งานนี้มี Error หนักอีกตะหาก
  3. คิดม่าออก ลองเล่นดู หากพลาดมาจะรู้ว่างานเข้าเป็นไง

การทำ Static NAT บน Juniper

วันนี้มาอัปบล๊อคกันแบบมีสาระหน่อยครับ

.

การทำ Static NAT ถือเป็นเรื่องจำเป็นมากในกรณีที่เราต้องการให้ผู้ใช้ภายนอก

เข้ามาใช้งาน Server ที่อยู่ใน DMZ หรือ Trust Zone

การทำ Static NAT ใน Juniper เมื่อเทียบกับ Checkpoint อาจจะดูยุ่งยากกว่าเล็กน้อยครับ

เพราะใน Checkpoint คลิกที่ Host Object แล้วใส่ NAT IP ไปก็จบแล้ว

แต่ใน Juniper จะต้องไปเซต Interface ก่อน แล้วมาทำ Policy ต่ออีก

และหากเพิ่งเริ่มทำอาจจะงงๆได้เพราะมันจะไม่ได้เขียนว่า NAT ด้วยล่ะเอ้อ

.

Static NAT ใน Juniper จะเรียกว่า MIP หรือ Mapped IP Addresses

การทำงานจะเป็นดังรูปครับ

Juniper MIP (Static NAT)

Juniper MIP (Static NAT)

ว่าแล้วก็ส่งต่อ Command ไปครับ

set interface ethernet1 zone trust
set interface ethernet1 ip 10.1.1.1/24
set interface ethernet1 nat
set interface ethernet2 zone untrust
set interface ethernet2 ip 1.1.1.1/24

set interface ethernet2 mip 1.1.1.5 host 10.1.1.5 netmask 255.255.255.255 vrouter trust-vr

อื่นๆเกี่ยวกับ MIP

  1. MIP จะเก็บอยู่ใน Global Zone
  2. เมื่อทำ MIP เวลา Server จะ Initiate Connection มันจะออกไปเป็น IP ของ MIP เลย ไม่สามารถใช้งาน NAT Policy อื่นๆได้ ดังนั้นในกรณีนี้จะเป็นปัญหาเรื่อง Security ทันที เพราะเท่ากับว่าตัว Server ภายใน DMZ หรือ Trust Zone ไม่ได้ถูกซ่อน IP จริงๆของตัวเองเอาไว้เมื่อติดต่อกับ Untrust Zone ดังนั้นหากกังวลเรื่องนี้คงจะต้องใช้วิธี NAT แบบอื่นแทน เช่น VIP ครับ

สำหรับวันนี้ขอตัวก่อนนะครับ วันหลังมีโอกาสจะแวะเอา Tips เล็กๆน้อยๆมาฝากอีกครับ

WordPress Themes