1 คะแนน โดย GN⁺ 4 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เฟิร์มแวร์ของอุปกรณ์เครือข่าย Tenda บางรุ่นมี แบ็กดอร์ยืนยันตัวตนที่ไม่ได้ระบุไว้ในเอกสาร ซึ่งทำให้ได้สิทธิ์ผู้ดูแลระบบบนเว็บอินเทอร์เฟซสำหรับการจัดการได้โดยไม่ต้องมีข้อมูลรับรองที่ถูกต้อง
  • CVE-2026-11405 ทำงานด้วยกระบวนการที่หลังจากการตรวจสอบรหัสผ่านตามปกติล้มเหลว จะตรวจสอบค่า sys.rzadmin.password เสมือนเป็นรหัสผ่านทางเลือก
  • หากรหัสผ่านที่ป้อนตรงกับค่าที่ตั้งไว้ ระบบจะสร้าง เซสชันผู้ดูแลระบบ role=2 โดยไม่ตรวจสอบชื่อผู้ใช้ ส่งผลให้ข้ามการยืนยันตัวตนได้
  • ขอบเขตที่ได้รับผลกระทบคือเฟิร์มแวร์บางเวอร์ชันของตระกูล FH1201, W15E, AC10, AC5, AC6 และหากถูกโจมตีจะสามารถตั้งค่าอุปกรณ์ใหม่ เปลี่ยนการตั้งค่าเครือข่าย และปิดใช้งานฟังก์ชันความปลอดภัยได้
  • เนื่องจากยังไม่มีแพตช์ หากต้องการลดการเปิดเผยต่อความเสี่ยง ต้องพึ่งมาตรการบรรเทาแบบจำกัด เช่น ปิดใช้งานการจัดการผ่านเว็บจากระยะไกล และเปลี่ยน IP LAN เริ่มต้น

วิธีทำงานและความเสี่ยงของแบ็กดอร์ยืนยันตัวตน

  • Tenda จัดหาอุปกรณ์เครือข่ายสำหรับบ้านและองค์กร เช่น เราเตอร์ สวิตช์ จุดเชื่อมต่อไร้สาย และอุปกรณ์เฝ้าระวังวิดีโอ
  • อุปกรณ์จำนวนมากเหล่านี้มี อินเทอร์เฟซแบบเว็บ สำหรับการตั้งค่าและการจัดการ โดยทั่วไปได้รับการป้องกันด้วยชื่อผู้ใช้และรหัสผ่าน
  • ในไบนารี /bin/httpd ของเฟิร์มแวร์ที่มีช่องโหว่ มี กลไกยืนยันตัวตนแบบแบ็กดอร์ที่ไม่ได้ระบุไว้ในเอกสาร อยู่ภายในฟังก์ชัน login()
    • ขั้นแรกจะตรวจสอบรหัสผ่านแบบอิง MD5 ผ่านเส้นทางยืนยันตัวตนปกติ
    • หากยืนยันตัวตนล้มเหลว จะเรียก GetValue("sys.rzadmin.password") เพื่อดึงค่ารหัสผ่านทางเลือกจากการตั้งค่าของอุปกรณ์
    • จากนั้นเปรียบเทียบรหัสผ่านที่ผู้ใช้ป้อนกับค่าที่บันทึกไว้ในการตั้งค่าโดยตรงด้วย strcmp() แบบข้อความธรรมดา
    • หากค่าตรงกัน จะมอบสิทธิ์ผู้ดูแลระบบ role=2 และสร้างเซสชันที่ถูกต้อง
  • ในเส้นทางนี้ ไม่มีการตรวจสอบชื่อผู้ใช้
    • ไม่ว่าจะป้อนชื่อผู้ใช้อะไร หากส่งมาพร้อมรหัสผ่านแบ็กดอร์ก็จะยืนยันตัวตนสำเร็จ
    • กลไกยืนยันตัวตนดังกล่าวไม่ได้ระบุไว้ในเอกสารและไม่แสดงในอินเทอร์เฟซการจัดการ
  • หากโจมตีสำเร็จ จะได้ สิทธิ์เข้าถึงระดับผู้ดูแลระบบทั้งหมด ของเว็บอินเทอร์เฟซของอุปกรณ์ โดยไม่ขึ้นกับข้อมูลรับรองของบัญชีผู้ดูแลระบบที่ตั้งค่าไว้
    • สามารถตั้งค่าอุปกรณ์ใหม่ได้
    • สามารถเปลี่ยนการตั้งค่าเครือข่ายได้
    • สามารถปิดใช้งานฟังก์ชันความปลอดภัยได้
    • อาจนำไปสู่การบุกรุกเครือข่ายภายในที่กว้างขึ้นได้

เฟิร์มแวร์ที่ได้รับผลกระทบและการรับมือในปัจจุบัน

  • เวอร์ชันเฟิร์มแวร์ที่ได้รับผลกระทบ:
    • US_FH1201V1.0BR_V1.2.0.14(408)_EN_TD
    • US_W15EV1.0br_V15.11.0.5(1068_1567_841)_EN_TDE
    • US_AC10V1.0re_V15.03.06.46_multi_TDE01
    • US_AC5V1.0RTL_V15.03.06.48_multi_TDE01
    • US_AC6V2.0RTL_V15.03.06.51_multi_T
  • การประสานงานช่องโหว่กับผู้ผลิตไม่สำเร็จ จึง ไม่มีแพตช์ให้ใช้งาน
  • มาตรการบรรเทาที่ทำได้จนกว่าจะมีเวอร์ชันแก้ไข:
    • ปิดใช้งานการจัดการจากระยะไกล
      • หากอุปกรณ์รองรับการจัดการผ่านเว็บจากระยะไกล ควรปิดใช้งานฟังก์ชันดังกล่าว
      • สามารถป้องกันไม่ให้ผู้โจมตีจากเครือข่ายภายนอกเข้าถึงแดชบอร์ดจัดการอุปกรณ์ผ่านอินเทอร์เน็ตได้
    • จำกัดการเปิดเผยต่อเครือข่ายภายใน
      • การเปลี่ยนที่อยู่ IP LAN เริ่มต้นสามารถลดการถูกค้นพบแบบฉวยโอกาสจากสแกนเนอร์อัตโนมัติที่มุ่งหาเรนจ์ IP เริ่มต้นที่เป็นที่รู้จัก
      • มาตรการนี้ไม่สามารถป้องกันการสแกนเครือข่ายที่ตั้งใจทำหรือเจาะจงเป้าหมายได้
  • ตัวระบุและเอกสารอ้างอิงที่เกี่ยวข้อง:

1 ความคิดเห็น

 
GN⁺ 4 시간 전
ความคิดเห็นจาก Hacker News
  • ในบทความไม่ได้ระบุค่า sys.rzadmin.password แต่มีการเปิดเผยไว้ในบทความวิเคราะห์ปี 2022: https://boschko.ca/tenda_ac1200_router/
    สปอยล์: ค่าคือ rzadmin และดูเหมือนว่าในเฟิร์มแวร์ยังมีสิ่งน่าสนใจอื่น ๆ อีกพอสมควร

    • ระดับนี้น่าจะเรียกว่าเป็นประตูหน้าแบบเปิดโจ่ง ๆ มากกว่า backdoor ด้วยซ้ำ
    • ถึงขั้นนี้มันไม่ใช่ backdoor แล้ว แต่ใกล้เคียงกับการออกแบบ รหัสผ่าน root เริ่มต้นแบบโง่ ๆ ที่เคยพบได้บ่อยในฮาร์ดแวร์แบบนี้สมัยก่อน
      ถ้าเป็น backdoor อย่างน้อยก็น่าจะพยายามทำให้แนบเนียนกว่านี้หน่อย :)
    • ถ้าซ่อนไว้หละหลวมขนาดนี้ มันดูเหมือน ฟีเจอร์เพื่อความสะดวกของนักพัฒนา ที่ลืมถอดออกก่อนปล่อยขาย
    • ถ้าผ่านมาเกือบ 4 ปีหลังจากแจ้งเตือนครั้งสุดท้ายแล้วรหัสผ่านยังเหมือนเดิม ก็ต้องเรียกว่าไร้ความสามารถจริง ๆ หรือไม่ก็ใจกล้าจนน่าขำ
    • rz อ่านดูคล้ายภาษาเยอรมัน เพราะในกลุ่มภาษาเยอรมันมักใช้เป็นตัวย่อของ RechenZentrum หรือ ดาต้าเซ็นเตอร์
      ถ้าเทียบเป็นอังกฤษก็ประมาณ dcadmin เลยทำให้นึกว่าอาจจ้างเอาต์ซอร์สให้พวกที่ทำงานแนว “gute Deutsche Wertarbeit” หรืออาจเป็นร่องรอยที่หน่วยงานบางแห่งได้ประโยชน์ หรืออาจเป็นฉากบังตาของใครบางคนก็ได้
  • ไม่ค่อยรู้จัก Tenda มาก่อน แต่ระบุว่าเป็นผู้จัดหาเราเตอร์ สวิตช์ AP ไร้สาย และอุปกรณ์เฝ้าระวังวิดีโอสำหรับบ้าน/ธุรกิจ และมีหน้าแนะนำบริษัทอยู่ที่ https://www.tendacn.com/us/profile
    ในบรรดาแบรนด์จีน มักมีกรณีใช้ชิ้นส่วนภายในเดียวกันแต่เปลี่ยนแค่หน้าตาภายนอก หรือรีแบรนด์ให้เหมือนแบรนด์คู่แข่ง เลยคิดว่า Tenda ก็อาจเป็นแบบนั้นได้ เคยเห็นเรื่องแบบนี้ในฝั่งกล้องวงจรปิด
    น่าจะดีถ้าผู้เขียนให้ วิธีตรวจสอบช่องโหว่ นอกเหนือจากเวอร์ชันเฟิร์มแวร์ด้วย เพราะ Tenda อาจแค่เปลี่ยนรหัสผ่านแล้วบอกว่า “ตอนนี้ปลอดภัยแล้ว” ก็ได้

    • Tenda เป็นบริษัทที่มีมาค่อนข้างนาน เลยไม่น่าจะเป็นการรีแบรนด์
      อะแดปเตอร์ Ethernet ผ่านสายไฟ ที่ซื้อเมื่อราว 10 ปีก่อนยังน่าจะอยู่ในตู้ที่ไหนสักแห่ง ตอนนั้นรหัสผ่านผู้ดูแลระบบเป็น admin แทบจะเป็นมาตรฐาน และหลายครั้งก็พิมพ์ไว้บนตัวเครื่องเลย
    • Tenda เป็น แบรนด์ที่พบได้บ่อยมากในเอเชีย และ ISP หลายรายใช้เป็นเราเตอร์พื้นฐาน
    • มีคำกล่าวอ้างด้วยว่าเป็น “ผู้ผลิตเราเตอร์และอุปกรณ์เครือข่ายไร้สายที่พัฒนาขึ้นเองรายแรกของจีน”
    • แฟนเก่าเคยทำงานฝ่ายขายที่ Tenda ก่อนหน้านั้นก็เคยเห็นแบรนด์นี้ในบริบทของ สวิตช์แบบ unmanaged ราคาถูกบน Amazon
      ไม่ใช่องค์กรรัฐวิสาหกิจอะไรแบบนั้น เลยคิดว่าน่าจะเป็นเรื่องไม่ใส่ใจคุณภาพจริง ๆ มากกว่าจะมีเจตนาร้ายกาจมาก
    • อาศัยอยู่ในสหรัฐฯ และมี ดองเกิล WiFi USB ของ Tenda อยู่ แม้จะไม่ดังเท่าแบรนด์อื่น แต่ก็มีให้เห็นพอสมควร
  • “ไม่มีการตรวจสอบชื่อผู้ใช้ที่เชื่อมต่อ ดังนั้นใช้ชื่อผู้ใช้อะไรก็ได้คู่กับรหัสผ่าน backdoor ก็สำเร็จ” นี่สุดยอดจริง ๆ
    ไม่เข้าใจว่าทำไมลูกค้าถึงควรเชื่อใจผู้ผลิตแบบนี้ได้ ต่อไปคงไม่ใช้เราเตอร์ที่มี เฟิร์มแวร์กล่องดำ จากผู้ขายให้อีกแน่นอน
    ก่อนใช้งานคงติดตั้งอะไรอย่าง OpenWRT เสมอ และถ้าด้วยเหตุผลใดก็ตามทำไม่ได้ ก็จะไม่คิดซื้ออุปกรณ์แบบนั้นเลย

    • เท่าที่ดูครั้งล่าสุด OpenWRT ยังรองรับฟีเจอร์ MIMO และ beamforming บนอุปกรณ์หลายรุ่นได้ไม่ดี
      ในสถานที่ที่เครือข่ายไร้สายหนาแน่นและแออัดอย่างอาคารอพาร์ตเมนต์ ฟีเจอร์เหล่านี้สำคัญต่อการรักษาพื้นที่ครอบคลุม ความแรงสัญญาณ และ throughput เลยสงสัยว่าฝั่ง OpenWRT พบวิธีเลี่ยงแล้วหรือยัง หรือผู้ผลิตเริ่มให้ความร่วมมือกับไดรเวอร์โอเพนซอร์สที่ใช้เฟิร์มแวร์แบบโหลดได้มากขึ้นแล้วหรือไม่
    • มีกรณีที่ใช้เกิน 1Gbit กันไหม? ถ้าเข้าใจไม่ผิด เราเตอร์ดี ๆ ราคาย่อมเยาอย่าง Mikrotik CCR2004 ก็เป็นระบบปิดเต็มรูปแบบ ดังนั้นทางเลือกเดียวคือประกอบกล่องง่อย ๆ เอง
      แบบนั้นย่อมกินไฟมากกว่าอุปกรณ์ที่ใช้ ชิปสวิตช์ เฉพาะทางมากอยู่แล้ว
    • แนวทางนี้ดี แต่โดยพื้นฐานแล้วความปลอดภัยไม่ควรพึ่งพาเราเตอร์ ต้องทนต่อการโจมตีที่มาจากเราเตอร์ได้ด้วย
  • น่าทึ่งที่บริษัทอุปกรณ์เครือข่ายผลิตขยะออกมาได้อย่างสม่ำเสมอขนาดนี้
    แถมยังเป็น backdoor แบบมือสมัครเล่นทุกครั้ง ถ้ามันซับซ้อนกว่านี้อย่างน้อยยังพอมีช่องให้คิดว่า “คงมีหน่วยงานความมั่นคงสักแห่งสั่งทำ” แล้วปล่อยผ่านได้

    • อาจเป็นไปได้ว่า backdoor ที่ถูกค้นพบคือพวกที่อยู่ใน ระดับมือสมัครเล่น
      หรือไม่ก็อาจตั้งใจใส่ให้ดูเป็นมือสมัครเล่นเพื่อให้ถูกค้นพบก็ได้
    • เรื่องน่าเศร้าคือลูกค้าที่จ่ายเงินเพิ่มเพื่อความปลอดภัยที่ดีจริง ๆ มีน้อยเกินไป และถึงจ่ายไปแล้ว จะได้ของจริงหรือไม่ก็ยังน่าสงสัย
    • ดูไม่เหมือนเผลอทำขยะขึ้นมา แต่เหมือนเป็นผลจากการทำตามแผนและการตัดสินใจ
  • อันนี้กลับน่ายินดี ผมมีเราเตอร์ทรงลูกบาศก์ของ Tenda อยู่หลายตัว จริง ๆ แล้วก็แทบเป็นแค่ WiFi repeater ที่มี mesh เพิ่มมานิดหน่อย แต่ผมไม่ชอบมาตลอดเพราะเฟิร์มแวร์ผูกกับแอปมากเกินไป
    ตอนนี้ด้วย สิทธิ์ root น่าจะข้ามแอปได้ง่ายขึ้นมาก และปิดกลไก ping ที่คอยยิง DNS query ไปที่ microsoft.com ตลอดเพื่อแสดงไฟสีเขียวได้ด้วย
    พูดตามตรง อันนี้ดูเหมือนข้อมูลรับรองสำหรับนักพัฒนาหรือข้อมูลรับรองเริ่มต้นที่ฝังอยู่ในเฟิร์มแวร์มากกว่า “backdoor” ในความหมายที่มีนัยร้าย อาจเป็นไปได้ว่าโค้ดยังคงอยู่ แต่ในกระบวนการผลิตควรสุ่มคีย์ให้เดาไม่ได้ ทว่าไม่ได้รันขั้นตอนเพิ่มเติมนั้นเพราะขี้เกียจ หรือแฟลชเฟิร์มแวร์ต้นฉบับโดยไม่มีการตั้งค่าการผลิต จนหลุดออกมา

    • ทำไมอุปกรณ์ผู้บริโภคถึงต้องมี รหัสผ่านแบบสุ่ม ด้วย?
    • ใช่ สุ่มแล้ว แต่เพราะคุณสมบัติของคลื่นความน่าจะเป็นสากลของจักรวาล มันเลยสุ่มออกมาเป็น rzadmin เสมอ นักวิทยาศาสตร์ก็งงอยู่เหมือนกัน
  • ดังนั้นผมจึง ประกอบเราเตอร์/ไฟร์วอลล์เอง ด้วยฮาร์ดแวร์ทั่วไปและดิสโทร Linux

    • ยังจำได้ว่าช่วงปลายยุค 90 เคยทำแบบนี้ด้วย ipchains ตอนนั้นเป็นวิธีเดียวที่จะได้เราเตอร์ที่ไม่แพงมหาศาล
      หลังจากนั้นเราเตอร์สำหรับผู้บริโภค/โปรซูเมอร์ถึงออกมา และสุดท้ายของเก่าก็กลับมาใหม่อีกครั้ง
    • Tenda รองรับใน OpenWRT ค่อนข้างดี
    • กำลังพยายามประกอบเองเพื่อเลิกใช้เราเตอร์พื้นฐานที่ ISP ให้ยืมมา เลยอยากรู้ว่ามี ฮาร์ดแวร์และดิสโทร อะไรแนะนำไหม
  • เคยใช้ผลิตภัณฑ์ WiFi สำหรับเดินทางของ Tenda ในยุคที่ WiFi โรงแรมเหมือนสัตว์ประหลาดแปลก ๆ
    ตอนนี้ด้วย eSIM และแพ็กเกจอินเทอร์เน็ตสำหรับเดินทางที่แพร่หลาย WiFi โรงแรมอาจกลายเป็นช่องทางเชื่อมต่อที่ไว้ใจได้ยากที่สุดเสียด้วยซ้ำ เลยดูเหมือนไม่จำเป็นต้องใช้แล้ว
    ผมมีอุปกรณ์ Mikrotik ที่ได้แถมฟรีในช่วงราคาเดียวกันอยู่เครื่องหนึ่งด้วย มันเล็กกว่าทางกายภาพ และรันสิ่งที่ดูเหมือนโค้ดสายหลักมากกว่า ไม่ว่าจะว่าเรื่องคุณภาพของ Mikrotik อย่างไร มันก็มี ปุ่มปรับตั้งค่า แทบทุกอย่างที่ต้องการให้จริง ๆ

    • ตอนนี้กำลังทำงานให้โรงแรมแห่งหนึ่ง และใส่ใจค่อนข้างมากเพื่อทำให้ WiFi ปลอดภัยขึ้น
      ผู้ใช้ทุกคนอยู่ใน VLAN ของตัวเอง และแต่ละห้องใช้ PPSK แยกกัน ข้อมูลรับรองก็สร้างแบบสุ่ม ไม่ใช่แพตเทิร์นไร้สาระแบบนามสกุล+หมายเลขห้อง เรายังทำระบบควบคุมการเข้าออกเอง และใช้ MIFARE DESFire EV3 ซึ่งเป็นคีย์การ์ดที่แข็งแกร่งที่สุดเท่าที่หาได้ในตอนนั้น กำลังพยายามจริง ๆ ที่จะสร้างโรงแรมซึ่งความปลอดภัยไม่ดูเหมือนเป็นเรื่องล้อเล่น
  • สหรัฐฯ/อิสราเอลคงไม่มีทางทำเรื่องแบบนี้แน่ ๆ งั้นซื้อ UniFi/Fortinet/Palo Alto ก็พอสินะ!

    • เคยมีมีมไดอะแกรมเครือข่ายที่เอาไฟร์วอลล์สหรัฐฯ ซ้อนหลังไฟร์วอลล์จีน แล้วซ้อนไฟร์วอลล์รัสเซียไว้อีกชั้น เพื่อให้ แบ็กดอร์ ของแต่ละฝ่ายขวางกันเอง
    • บริษัทพวกนั้น รวมถึง Cisco ด้วย คงมีงานต้องทำอีกเยอะถ้าจะไล่ตามปริมาณและความเร็วของ “แบ็กดอร์ยืนยันตัวตนแบบซ่อน” ให้ทัน
      เช่น: https://www.thestack.technology/cisco-hard-coding-passwords-...
    • ไม่รู้ว่าพูดเล่นหรือเปล่า แต่ทั้งสองฝ่ายเคยทำเรื่องแบบนั้นแล้ว และบริษัทสหรัฐฯ อาจถูกบังคับให้ติดตั้งแบ็กดอร์ตาม คำสั่งลับ ได้ หากมีการร้องขอ
  • ifconfig ของผมนั้นง่าย ๆ ถ้าผลิตใน Shenzhen ก็ทิ้ง

    • ชิ้นส่วนอิเล็กทรอนิกส์ของคุณมากกว่าครึ่งน่าจะผลิตใน Shenzhen
  • ฮาร์ดแวร์/เฟิร์มแวร์ Tenda รุ่นใหม่ ๆ ดูเหมือนจะถูก เข้ารหัส ไว้ดังตัวอย่างด้านล่าง ทำให้ตรวจสอบได้ยากขึ้น
    US_AC10V6.0si_V16.03.62.09_multi_TDE01.bin และ US_BE12ProV1.0mt_V16.03.66.23_TD01.bin ที่ดูด้วย binwalk มีการเข้ารหัส OpenSSL
    ไฟล์ที่ลองเป็นตัวที่สามคือ US_W18EV2_kf_V16.01.0.20(4766)_HighPower (1).bin ไม่ได้ถูกเข้ารหัส และแสดงให้เห็นว่าโมเดลอื่นที่ไม่ได้อยู่ในรายชื่อผลกระทบของ CVE นี้ก็อาจมีปัญหาได้เช่นกัน ภายใน /squashfs-root/webroot_ro/default_ac.cfg และ default_router.cfg มี sys.rzadmin.username=rzadmin, sys.rzadmin.password=cnphZG1pbg== ซึ่งเมื่อถอด Base64 แล้วคือ rzadmin นอกจากนี้ยังเห็น guest/guest ด้วย
    จากการดูคร่าว ๆ sys.rzadmin.password ถูกอ้างถึงเฉพาะในบริบทที่ฟังก์ชัน login() ของ /bin/httpd ดึงค่ามาเปรียบเทียบ และหากไม่ถูกต้องจะขึ้น "login err: password is wrong." ผมหาการอ้างอิงโค้ดในส่วนใดของเฟิร์มแวร์ที่ให้ผู้ใช้เปลี่ยนค่าเริ่มต้นนี้ไม่พบ
    แถม imsd_upload_log_v1 ของ /bin/imsd ยังเก็บ SSID, MAC, ที่อยู่ IP, sys.admin.username, sys.rzadmin.username และเขตเวลา ส่วน imsd_remote_pwd_get จะดึง sys.admin.password ไลบรารีที่เกี่ยวข้องอย่าง /lib/lubucapi.so ก็ดูเป็นไบนารีที่ควรตรวจสอบต่อ และดูเหมือนจะมีชุดคำสั่งที่ทำให้สามารถจัดการผ่านคลาวด์หรือดีบักจากระยะไกลบนเราเตอร์ Tenda ได้ ซึ่งอาจเป็นเหตุผลที่มี imsd_remote_pwd_get อยู่ใน /bin/imsd