Pages

1/14/2011

Starting Wordlist for Thai Language

เมื่อวานเพิ่งได้โปรแกรมสำหรับทำ bruteforce มาตัวนึง
โปรแกรมนี้ก็ใช้งานง่าย แค่ใส่ username กับ wordlist (ลิสต์ของคำศัพท์ที่น่าจะเป็นpasswordได้)  ลงไป
ไอ้ username เนี่ย..  ถ้าเราจะเจาะเข้าบัญชีคนไหน เราก็ต้องรู้อยู่แล้วสินะ
แต่ไอ้ wordlist เนี่ย..  ค่อนข้างจะคิดหนักว่าจะหาจากไหนดี  ยิ่งเป็นคนไทยด้วยแล้ว  wordlistของต่างประเทศมันจะใช้ได้รึเปล่า?

พอมาลองนั่งคิดดีๆ
password เนี่ย   คือจะประกอบตัวตัวอักษร a-zA-Z0-9และตัวอักษรพิเศษทั้งหลาย
แต่ก็ไม่น่าเชื่อเลยว่า passwordจำเป็นจะต้องเป็นเฉพาะตัวอักษรภาษาอังกฤษด้วย
นั่นทำให้ความน่าจะเป็นของpasswordลดลงเหลือแค่ ASCII  ที่ 256 ตัว
และถ้าไม่นับอักษรที่ไม่ได้อยู่บนkeyboardแล้ว มันก็เหลือแค่ 94 ตัว เอง
ซึ่ง 94 ตัวเนี่ย  ก็มีคนเอามาสร้างเป็น wordlist เยอะแยะแล้ว
อย่างเช่นในเวปนี้  http://packetstormsecurity.org/Crackers/wordlists/
ก็จะเห็นว่ามีหมดทั้ง ชื่อ นามสกุล ชื่อหนัง บลาๆๆ
แต่ปัญหามันคือ มันชื่ออังกฤษอ่ะ  มันจะเวิร์คเหรอกับของคนไทย?

แล้วคราวนี้ต้องลองมาคิดว่า  คนไทยใช้passwordกันยังไงบ้าง
เนื่องจากถูกข้อบังคับทางด้านภาษาที่กล่าวมา  ก็จะทำให้เราใช้ password กันเป็นภาษาไทยไม่ได้

ดังนั้นคนกลุ่มนึง ก็จะตั้ง password ด้วยตัวเลขล้วนๆ
เช่น ตั้งจากเลขที่ตัวเองชอบ เลขที่บ้าน รหัสไปรษณีย์ เบอร์โทรศัพท์ วันเดือนปีเกิดตัวเองไม่ก็ของแฟน เลขจากบัตรอะไรซักอย่าง   เช่น 123  11111 0821234567 111234
อันนี้ก็ไม่น่ายากสำหรับการ bruteforce เพราะว่าการใช้ตัวเลขอย่างเดียว ทำให้ความน่าจะเป็นหายลงไปเยอะ
จาก94ตัวอักษร เหลือเพียง 10 ตัวอักษร (0-9เอง)  อันนี้จะเร็วที่สุดในการแกะpassword

บางกลุ่มก็ยอมผ่อนตามข้อบังคับนั้น เขาให้ใช้แต่ตัวอักษรอังกฤษ ก็เลยใช้passwordอังกฤษตาม
เช่น john, fernando
อันนี้ก็จะสะดวกสบาย เพราะว่าสามารถใช้ wordlist ของต่างประเทศโจมตีได้ตรงๆเลย

ถ้าเป็นคนต่างประเทศ  เขาก็จะนิยมใช้วิธีที่ว่า เราเอาทั้งคำและตัวเลขมาผสมกัน อันนี้ก็จะเพิ่มความยากเข้าไปได้ ยิ่งถ้าใส่เป็นตัวใหญ่ตัวเล็กผสมกันแล้วยิ่งยากไปใหญ่   เช่น 9PeTeR78  HaCkeR99
แต่นั่นก็ไม่ค่อยมีปัญหามาก เพราะตัวbruceforceดีๆ ก็จะมีการพยายามแทนที่ด้านหน้าด้านหลังของคำดัวตัวเลขอยู่แล้ว  และก็มีการลองผสมตัวใหญ่ตัวเลขให้อยู่แล้ว   ขอให้มันมีคำมาให้เถอะ

แต่เคสต่อไปนี้เนี่ย สำหรับคนไทยโดยเฉพาะ
เนื่องมาจากข้อจำกัดตัวอักษรอังกฤษ
คนกลุ่มนี้ก็ยังอยากพิมพ์ไทยอยู่  ก็จะใช้ภาษาคาราโอเกะ  เช่น "น่ารัก" ---> "narak"
ซึ่งอันนี้ก็ยังไม่อยากมากเพราะยังเป็นภาษาอังกฤษล้วน (แต่เราก็ไม่มีwordlistสำหรับคำพวกนี้นะ)

แต่ถ้าเจอว่าพิมพ์ไทยบนแป้นอังกฤษนี่ล่ะ  อันนี้โหดสุด
เพราะนอกจากจะใช้ทั้งตัวใหญ่ตัวเล็ก ตัวเลขแล้ว  ยังอาจจะมีตัวอักษรพิเศษปนมาอยู่ด้วย
เช่นคำว่า  "บล๊อค" ---> "[]U8v8" , "หิวข้าว" ---> "sb;-hk;" , "เฟสบุ๊ค"---> "gals[6U8"
อันนี้แหละที่น่าสนใจเก็บเอาไว้ว่าจะทำยังไง


เอาเป็นว่า ตอนนี้สนใจสองเคสสุดท้ายนี่มากสุด  ว่าจะทำออกมายังไงดี

ถ้าตอนนี้ จะแบ่งเป็น step ง่ายๆ จะเป็น 3 ส่วนดังนี้

1. หาคำศัพท์  จะเอาคำมาจากไหนดี?
2. แปลงเป็นภาษาคาราโอเกะ  จะทำไง มีโปรแกรมอ่านคำไทยรึเปล่า?
3. แปลงคำไทยให้เหมือนพิมพ์บนแป้นอังกฤษ   ทำไง?

ทำให้ได้หมดนี่เราก็จะได้ wordlist ของภาษาไทยเอามาใช้งานละ

2 comments:

  1. สุดยอดมากเลยสำหรับความรู้ดีดีในเรื่องwordlist เป็นblogที่ให้ความรู้มากๆ

    ขอบคุณมากก

    ReplyDelete