เข้าควบคุม 14 ไลบรารี PHP ในที่เก็บ Packagist

ผู้ดูแลระบบของที่เก็บแพ็คเกจ Packagist เปิดเผยรายละเอียดของการโจมตีที่เข้าควบคุมบัญชีของผู้ดูแลห้องสมุด PHP 14 แห่ง รวมถึงแพ็คเกจยอดนิยมเช่นตัวสร้างอินสแตนติเอเตอร์ (รวม 526 ล้านการติดตั้ง 8 ล้านการติดตั้งต่อเดือน 323 แพ็คเกจที่ขึ้นต่อกัน) sql -formatter (การติดตั้งทั้งหมด 94M, 800K ต่อเดือน, 109 แพ็คเกจที่ขึ้นต่อกัน), doctrine-cache-bundle (การติดตั้งทั้งหมด 73M, 500K ต่อเดือน, 348 แพ็คเกจที่ขึ้นต่อกัน) และ rcode-detector-decoder (การติดตั้งทั้งหมด 20M , 400 ต่อเดือน 66 แพ็คเกจขึ้นอยู่กับ)

หลังจากที่บัญชีถูกบุกรุก ผู้โจมตีได้แก้ไขไฟล์ Composer.json โดยเพิ่มข้อมูลที่เขากำลังมองหางานที่เกี่ยวข้องกับความปลอดภัยของข้อมูลลงในช่องคำอธิบายโครงการ เพื่อทำการเปลี่ยนแปลงไฟล์ Composer.json ผู้โจมตีได้แทนที่ URL ของที่เก็บดั้งเดิมด้วยลิงก์ไปยังส้อมที่แก้ไขแล้ว (Packagist ให้เฉพาะข้อมูลเมตาที่มีลิงก์ไปยังโปรเจ็กต์ที่พัฒนาบน GitHub เมื่อติดตั้งด้วย “การติดตั้งผู้แต่ง” หรือ “การอัปเดตผู้แต่ง ” คำสั่ง แพ็คเกจจะถูกดาวน์โหลดโดยตรงจาก GitHub ) ตัวอย่างเช่น สำหรับแพ็คเกจ acmephp พื้นที่เก็บข้อมูลที่เชื่อมโยงถูกเปลี่ยนจาก acmephp/acmephp เป็น neskafe3v1/acmephp

เห็นได้ชัดว่าการโจมตีไม่ได้ดำเนินการเพื่อดำเนินการที่เป็นอันตราย แต่เป็นการแสดงให้เห็นถึงทัศนคติที่ประมาทเลินเล่อต่อการใช้ข้อมูลประจำตัวที่ซ้ำกันในไซต์ต่างๆ ในเวลาเดียวกัน ตรงกันข้ามกับแนวปฏิบัติที่กำหนดไว้ของ "การแฮ็กอย่างมีจริยธรรม" ผู้โจมตีไม่ได้แจ้งให้นักพัฒนาห้องสมุดและผู้ดูแลพื้นที่เก็บข้อมูลทราบล่วงหน้าเกี่ยวกับการทดลองนี้ ต่อมาผู้โจมตีกล่าวว่าหลังจากที่เขาได้งานแล้ว เขาจะเผยแพร่รายงานโดยละเอียดเกี่ยวกับวิธีการที่ใช้ในการโจมตี

ตามข้อมูลที่เผยแพร่โดยผู้ดูแลระบบของ Packagist บัญชีทั้งหมดที่จัดการแพ็คเกจที่ถูกบุกรุกจะใช้รหัสผ่านที่ง่ายต่อการบังคับโดยไม่ต้องเปิดใช้การยืนยันตัวตนแบบสองปัจจัย มีการกล่าวหาว่าบัญชีที่ถูกแฮ็กใช้รหัสผ่านที่ไม่ได้ใช้ใน Packagist เท่านั้น แต่ยังใช้ในบริการอื่น ๆ ที่ฐานข้อมูลรหัสผ่านเคยถูกบุกรุกและเปิดเผยต่อสาธารณะ การบันทึกอีเมลของเจ้าของบัญชีที่เชื่อมโยงกับโดเมนที่หมดอายุสามารถใช้เป็นตัวเลือกในการเข้าถึงได้เช่นกัน

แพ็คเกจที่ถูกบุกรุก:

  • acmephp/acmephp (124,860 ติดตั้งตลอดอายุการใช้งานของแพ็คเกจ)
  • acmephp/คอร์(419,258)
  • acmephp/ssl (531,692)
  • หลักคำสอน/หลักคำสอนแคชมัด (73,490,057)
  • หลักคำสอน/โมดูลหลักคำสอน (5,516,721)
  • หลักคำสอน/หลักคำสอน-mongo-odm-โมดูล (516,441)
  • หลักคำสอน/หลักคำสอน-orm-โมดูล (5,103,306)
  • หลักคำสอน / ผู้ยกตัวอย่าง (526,809,061)
  • สมุดการเจริญเติบโต / สมุดการเจริญเติบโต (97,568
  • jdorn/file-system-cache (32,660)
  • jdorn/sql-ฟอร์แมต (94,593,846)
  • khanamiryan/qrcode-detector-decoder (20,421,500)
  • object-calisthenics/phpcs-calisthenics-rules (2,196,380)
  • tga/simhash-php, tgalopin/simhashphp (30,555)

ที่มา: opennet.ru

เพิ่มความคิดเห็น