บูทคิท UEFI ตัวแรกที่ผ่าน UEFI Secure Boot บนระบบ UEFI ที่ได้รับการอัปเดตอย่างสมบูรณ์กลายเป็นความจริงแล้ว
จำนวนช่องโหว่ UEFI ที่ถูกค้นพบในช่วงไม่กี่ปีที่ผ่านมาและความล้มเหลวในการแก้ไขหรือยกเลิกไบนารีที่มีช่องโหว่ภายในกรอบเวลาที่เหมาะสมนั้นไม่ได้ถูกมองข้ามโดยผู้คุกคาม ด้วยเหตุนี้ บูทคิท UEFI ตัวแรกที่เป็นที่รู้จักในที่สาธารณะโดยผ่านฟีเจอร์ความปลอดภัยของแพลตฟอร์มที่จำเป็นอย่าง UEFI Secure Boot จึงกลายเป็นจริง ในบล็อกโพสต์นี้ เรานำเสนอการวิเคราะห์สาธารณะครั้งแรกของ UEFI bootkit นี้ ซึ่งสามารถทำงานบนระบบ Windows 11 ที่อัปเดตอย่างสมบูรณ์โดยเปิดใช้ UEFI Secure Boot การทำงานของบูทคิทและคุณลักษณะเฉพาะของมันทำให้เราเชื่อว่าเรากำลังจัดการกับบูทคิทที่เรียกว่า บัวดำ, bootkit UEFI ที่ขายบนฟอรัมแฮ็ค ในราคา $5,000 ตั้งแต่เดือนตุลาคม 2022 เป็นอย่างน้อย
บูทคิท UEFI เป็นภัยคุกคามที่ทรงพลังมาก สามารถควบคุมกระบวนการบูทระบบปฏิบัติการได้อย่างสมบูรณ์ ดังนั้นจึงสามารถปิดกลไกความปลอดภัยของระบบปฏิบัติการต่างๆ และปรับใช้เพย์โหลดโหมดเคอร์เนลหรือโหมดผู้ใช้ของตนเองในขั้นตอนการเริ่มต้นระบบปฏิบัติการในช่วงแรก สิ่งนี้ช่วยให้พวกเขาทำงานอย่างลับๆ ล่อๆ และมีสิทธิพิเศษสูง จนถึงตอนนี้ มีเพียงไม่กี่ตัวเท่านั้นที่ถูกค้นพบในป่าและมีการอธิบายต่อสาธารณชน (เช่น หลายตัว ตัวอย่าง EFI ที่เป็นอันตราย เราค้นพบในปี 2020 หรือบูทคิท UEFI ที่มีคุณลักษณะครบถ้วน เช่น การค้นพบของเราเมื่อปีที่แล้ว - the บูทคิท ESPecter - หรือ ชุดบูต FinSpy ค้นพบโดยนักวิจัยจากแคสเปอร์สกี้)
ชุดบู๊ต UEFI อาจสูญเสียการซ่อนตัวเมื่อเปรียบเทียบกับการฝังเฟิร์มแวร์ เช่น โลแจ็กซ์; การฝังเฟิร์มแวร์ UEFI ตัวแรกที่ค้นพบโดยทีมงานของเราในปี 2018 เนื่องจาก bootkits ตั้งอยู่บนพาร์ติชันดิสก์ FAT32 ที่เข้าถึงได้ง่าย อย่างไรก็ตาม การทำงานเป็น bootloader ทำให้มีความสามารถเกือบจะเหมือนกับการฝังเฟิร์มแวร์ แต่ไม่ต้องเอาชนะการป้องกันแฟลช SPI หลายระดับ เช่น บิตป้องกัน BWE, BLE และ PRx หรือการป้องกันโดยฮาร์ดแวร์ (เช่น Intel Boot Guard ). แน่นอนว่า UEFI Secure Boot เป็นอุปสรรคต่อ bootkits ของ UEFI แต่มีช่องโหว่ที่รู้จักจำนวนมากที่อนุญาตให้ข้ามกลไกการรักษาความปลอดภัยที่จำเป็นนี้ได้ และที่เลวร้ายที่สุดคือ บางส่วนยังคงสามารถใช้ประโยชน์ได้ง่ายบนระบบที่ทันสมัยแม้ในขณะที่เขียนบทความนี้ – รวมถึงระบบที่ใช้ประโยชน์โดย BlackLotus
การสืบสวนของเราเริ่มต้นด้วยการพบบางสิ่งที่กลายเป็นคอมโพเนนต์โหมดผู้ใช้ของ BlackLotus – ตัวดาวน์โหลด HTTP – ใน telemetry ของเราในช่วงปลายปี 2022 หลังจากการประเมินเบื้องต้น รูปแบบโค้ดที่พบในตัวอย่างทำให้เราค้นพบ BlackLotus หกตัว โปรแกรมติดตั้ง (ทั้งบน VirusTotal และใน telemetry ของเราเอง) สิ่งนี้ทำให้เราสามารถสำรวจห่วงโซ่การดำเนินการทั้งหมดและตระหนักว่าสิ่งที่เรากำลังเผชิญอยู่นี้ไม่ใช่แค่มัลแวร์ธรรมดา
ต่อไปนี้เป็นประเด็นสำคัญเกี่ยวกับ BlackLotus และไทม์ไลน์ที่สรุปชุดเหตุการณ์ที่เกี่ยวข้อง:
- มันสามารถทำงานบนระบบ Windows 11 ที่ได้รับการแพตช์ล่าสุดอย่างสมบูรณ์โดยเปิดใช้งาน UEFI Secure Boot
- มันใช้ประโยชน์จากช่องโหว่ที่มีอายุมากกว่าหนึ่งปี (CVE-2022-21894) เพื่อข้าม UEFI Secure Boot และตั้งค่าการคงอยู่สำหรับ bootkit นี่เป็นการละเมิดช่องโหว่นี้เป็นครั้งแรกที่เปิดเผยต่อสาธารณะ
- แม้ว่าช่องโหว่จะได้รับการแก้ไขแล้วในการอัปเดตเดือนมกราคม 2022 ของ Microsoft แต่การใช้ประโยชน์จากช่องโหว่นี้ยังคงเป็นไปได้เนื่องจากได้รับผลกระทบ ลงนามถูกต้อง ไบนารียังไม่ได้ถูกเพิ่มลงใน รายการเพิกถอน UEFI. BlackLotus ใช้ประโยชน์จากสิ่งนี้ โดยนำสำเนาไบนารีที่ถูกต้องตามกฎหมายแต่มีช่องโหว่เข้าสู่ระบบเพื่อใช้ประโยชน์จากช่องโหว่
- มีความสามารถในการปิดใช้งานกลไกการรักษาความปลอดภัยของระบบปฏิบัติการ เช่น BitLocker, HVCI และ Windows Defender
- เมื่อติดตั้งแล้ว เป้าหมายหลักของ bootkit คือการปรับใช้ไดรเวอร์เคอร์เนล (ซึ่งเหนือสิ่งอื่นใด ปกป้อง bootkit จากการลบ) และตัวดาวน์โหลด HTTP ที่รับผิดชอบในการสื่อสารกับ C&C และสามารถโหลด payloads โหมดผู้ใช้หรือโหมดเคอร์เนลเพิ่มเติม .
- BlackLotus ถูกโฆษณาและขายบนฟอรัมใต้ดินตั้งแต่วันที่ 6 ตุลาคมเป็นอย่างน้อยthพ.ศ. 2022 ในบล็อกโพสต์นี้ เราแสดงหลักฐานว่าบูทคิทเป็นของจริง และโฆษณาไม่ได้เป็นเพียงการหลอกลวงเท่านั้น
- ที่น่าสนใจคือ โปรแกรมติดตั้ง BlackLotus บางตัวที่เราวิเคราะห์ไว้ไม่ดำเนินการติดตั้ง bootkit หากโฮสต์ที่ถูกบุกรุกใช้หนึ่งในโลแคลต่อไปนี้:
- โรมาเนีย (มอลโดวา), ro-MD
- รัสเซีย (มอลโดวา), ru-MD
- รัสเซีย (รัสเซีย), ru-RU
- ยูเครน (ยูเครน), สหราชอาณาจักร-UA
- เบลารุส (เบลารุส), be-BY
- อาร์เมเนีย (อาร์เมเนีย), hy-AM
- คาซัค (คาซัคสถาน), kk-KZ
เส้นเวลาของแต่ละเหตุการณ์ที่เกี่ยวข้องกับ BlackLotus แสดงในรูปที่ 1
ดังที่ได้กล่าวไปแล้ว bootkit ได้ถูกขายบนฟอรัมใต้ดินตั้งแต่วันที่ 6 ตุลาคมเป็นอย่างน้อยthพ.ศ. 2022 ณ จุดนี้ เรายังไม่สามารถระบุจากการวัดและส่งข้อมูลทางไกลของเรา ช่องทางการจัดจำหน่ายที่แน่นอนที่ใช้ในการส่ง bootkit ให้กับผู้ที่ตกเป็นเหยื่อ ตัวอย่าง BlackLotus จำนวนน้อยที่เราสามารถหาได้ ทั้งจากแหล่งข้อมูลสาธารณะและการวัดและส่งข้อมูลทางไกลของเรา ทำให้เราเชื่อว่ายังมีผู้คุกคามไม่มากนักที่เริ่มใช้มัน แต่จนกว่าจะมีการเพิกถอน bootloader ที่มีช่องโหว่ซึ่ง BlackLotus พึ่งพาเกิดขึ้น เรากังวลว่าสิ่งต่างๆ จะเปลี่ยนแปลงอย่างรวดเร็วหาก bootkit นี้ไปอยู่ในมือของกลุ่ม Crimeware ที่รู้จักกันดี โดยพิจารณาจากการปรับใช้ที่ง่ายดายของ bootkit และความสามารถของกลุ่ม crimeware ในการแพร่กระจาย มัลแวร์โดยใช้บ็อตเน็ต
นี่คือ BlackLotus จริงๆเหรอ?
มีหลายบทความหรือโพสต์สรุปข้อมูลเกี่ยวกับ BlackLotus ( โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม, โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม และ โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม และอื่น ๆ อีกมากมาย…) ทั้งหมดนี้อ้างอิงจากข้อมูลที่ได้รับจากผู้พัฒนา bootkit ในฟอรัมแฮ็คใต้ดิน จนถึงขณะนี้ยังไม่มีใครยืนยันหรือหักล้างคำกล่าวอ้างเหล่านี้
ต่อไปนี้เป็นข้อมูลสรุปของการอ้างสิทธิ์จากสิ่งพิมพ์ที่มีอยู่โดยเปรียบเทียบกับสิ่งที่เราค้นพบขณะทำวิศวกรรมย้อนกลับกับตัวอย่างบูทคิท:
- โฆษณาของ BlackLotus ในฟอรัมแฮ็คอ้างว่ามีฟีเจอร์ Secure Boot bypass. การเพิ่มไดรเวอร์ที่มีช่องโหว่ลงในรายการเพิกถอน UEFI นั้นเป็นไปไม่ได้ในขณะนี้ เนื่องจากช่องโหว่นี้ส่งผลกระทบต่อ bootloaders หลายร้อยรายการที่ยังคงใช้อยู่ในปัจจุบัน ✅
- จริง: มันหาประโยชน์ CVE-2022-21894 เพื่อทำลาย Secure Boot และคงอยู่ในระบบที่เปิดใช้งาน UEFI-Secure-Boot ไดรเวอร์ที่มีช่องโหว่ที่ใช้อยู่นั้นยังไม่ถูกเพิกถอนในเวอร์ชันล่าสุด DBX, ในขณะที่เขียน.
- โฆษณาของ BlackLotus บนฟอรัมแฮ็คอ้างว่า bootkit มีการป้องกัน Ring0/Kernel ในตัวเพื่อป้องกันการลบ ✅
- จริง: ไดรเวอร์เคอร์เนลปกป้องที่จับที่เป็นของไฟล์บน EFI System Partition (ESP) จากการปิด เพื่อเป็นการป้องกันอีกชั้นหนึ่ง แฮนเดิลเหล่านี้จะได้รับการตรวจสอบอย่างต่อเนื่องและจอฟ้าแห่งความตาย (BSOD) จะทำงานหากแฮนเดิลเหล่านี้ถูกปิด ตามที่อธิบายไว้ใน การป้องกันไฟล์ bootkit บน ESP จากการลบ มาตรา.
- โฆษณาของ BlackLotus ในฟอรัมแฮ็กอ้างว่ามาพร้อมกับคุณสมบัติต่อต้านเครื่องเสมือน (ต่อต้าน VM) ต่อต้านการแก้ไขข้อบกพร่อง และโค้ดที่ทำให้ยุ่งเหยิงเพื่อบล็อกความพยายามในการวิเคราะห์มัลแวร์ ✅
- จริง: มีเทคนิคต่อต้าน VM, ต่อต้านดีบั๊ก และทำให้งงงวยต่างๆ เพื่อให้ทำซ้ำหรือวิเคราะห์ได้ยากขึ้น อย่างไรก็ตาม เราไม่ได้พูดถึงเทคนิคป้องกันการวิเคราะห์ที่ก้าวหน้าหรือขั้นสูงใดๆ ในที่นี้ เนื่องจากสามารถเอาชนะได้อย่างง่ายดายด้วยความพยายามเพียงเล็กน้อย
- โฆษณาของ BlackLotus ในฟอรัมแฮ็กอ้างว่าจุดประสงค์คือทำหน้าที่เป็นตัวดาวน์โหลด HTTP ✅
- จริง: องค์ประกอบสุดท้ายทำหน้าที่เป็นตัวดาวน์โหลด HTTP ตามที่อธิบายไว้ใน ตัวดาวน์โหลด HTTP ส่วน
- โฆษณาของ BlackLotus ในฟอรัมแฮ็คอ้างว่าตัวดาวน์โหลด HTTP ทำงานภายใต้บัญชี SYSTEM ภายในกระบวนการที่ถูกต้องตามกฎหมาย ✅
- จริง: ตัวดาวน์โหลด HTTP ทำงานภายใน winlogon.exe บริบทของกระบวนการ.
- โฆษณาของ BlackLotus บนฟอรัมแฮ็คอ้างว่าเป็น bootkit ขนาดเล็กที่มีขนาดบนดิสก์เพียง 80 kB ✅
- จริง: ตัวอย่างที่เราได้รับจริงๆ มีขนาดประมาณ 80 กิโลไบต์
- โฆษณาของ BlackLotus บนฟอรัมแฮ็คอ้างว่าทำได้ ปิดใช้งานการป้องกันความปลอดภัยของ Windows ในตัว เช่น HVCI, Bitlocker, Windows Defender และบายพาส User Account Control (UAC) ✅
จากข้อเท็จจริงเหล่านี้ เราเชื่อด้วยความมั่นใจอย่างสูงว่า bootkit ที่เราค้นพบในป่าคือ bootkit BlackLotus UEFI
ภาพรวมการโจมตี
รูปแบบที่เรียบง่ายของห่วงโซ่การประนีประนอมของ BlackLotus แสดงในรูปที่ 2 ประกอบด้วยสามส่วนหลัก:
- โดยจะเริ่มต้นด้วยการดำเนินการของตัวติดตั้ง (ขั้นตอนที่ 1 ในรูปที่ 2) ซึ่งมีหน้าที่รับผิดชอบในการปรับใช้ไฟล์ของ bootkit ไปยังพาร์ติชันระบบ EFI ปิดใช้งาน HVCI และ BitLocker จากนั้นรีบูตเครื่อง
- หลังจากการรีบูตครั้งแรก การใช้ประโยชน์จาก CVE-2022-21894 และการลงทะเบียนผู้โจมตีในภายหลัง รหัสเจ้าของเครื่อง (MOK) เกิดขึ้น เพื่อให้คงอยู่แม้ในระบบที่เปิดใช้งาน UEFI Secure Boot จากนั้นเครื่องจะรีบูต (ขั้นตอนที่ 2–4 ในรูปที่ 2) อีกครั้ง
- ในการบู๊ตที่ตามมาทั้งหมด ชุดบู๊ต UEFI ที่ลงนามด้วยตนเองจะถูกดำเนินการและปรับใช้ทั้งไดรเวอร์เคอร์เนลและเพย์โหลดในโหมดผู้ใช้ ซึ่งก็คือตัวดาวน์โหลด HTTP เมื่อรวมกันแล้ว คอมโพเนนต์เหล่านี้สามารถดาวน์โหลดและเรียกใช้โหมดผู้ใช้และคอมโพเนนต์ไดรเวอร์เพิ่มเติมจากเซิร์ฟเวอร์ C&C และป้องกัน bootkit จากการลบ (ขั้นตอนที่ 5–9 ในรูปที่ 2)
สิ่งประดิษฐ์ที่น่าสนใจ
แม้ว่าเราเชื่อว่านี่คือบูทคิท BlackLotus UEFI แต่เราไม่พบการอ้างอิงถึงชื่อนี้ในตัวอย่างที่เราวิเคราะห์ แต่โค้ดกลับเต็มไปด้วยการอ้างอิงถึง Higurashi เมื่อพวกเขาร้องไห้ ซีรีส์อนิเมะ เช่น ในแต่ละชื่อส่วนประกอบ เช่น higurashi_installer_uac_module.dll และ higurashi_kernel.sysและในใบรับรองที่ลงนามเองซึ่งใช้ในการลงนามไบนารี bootkit (แสดงในรูปที่ 3)
นอกจากนี้ รหัสจะถอดรหัสแต่ไม่เคยใช้สตริงต่างๆ ที่มีข้อความจากผู้เขียน BlackLotus (ดังแสดงในรูปที่ 4 – โปรดทราบว่า ฮาเฮเรซาเด เป็นนักวิจัยที่มีชื่อเสียงและผู้เขียนเครื่องมือวิเคราะห์มัลแวร์ต่างๆ) หรือเพียงแค่คำพูดแบบสุ่มจากเพลง เกม หรือซีรีส์ต่างๆ
กระบวนการติดตั้ง
เราเริ่มต้นด้วยการวิเคราะห์โปรแกรมติดตั้ง BlackLotus bootkit ดูเหมือนว่าจะแจกจ่ายในรูปแบบของตัวติดตั้งที่มีสองเวอร์ชัน - ออฟไลน์และออนไลน์ ความแตกต่างระหว่างสองสิ่งนี้คือวิธีที่พวกเขาได้รับไบนารีของ Windows ที่ถูกต้องตามกฎหมาย (แต่มีช่องโหว่) ซึ่งใช้ในภายหลังสำหรับการบายพาส Secure Boot
- ในเวอร์ชันออฟไลน์ ไบนารีของ Windows จะถูกฝังอยู่ในตัวติดตั้ง
- ในเวอร์ชันออนไลน์ ไบนารีของ Windows จะถูกดาวน์โหลดโดยตรงจากที่เก็บสัญลักษณ์ของ Microsoft จนถึงตอนนี้ เราพบว่าไบนารีของ Windows ต่อไปนี้ถูกละเมิดโดย Bootkit ของ BlackLotus:
- https://msdl.microsoft.com/download/symbols/bootmgfw.efi/7144BCD31C0000/bootmgfw.efi
- https://msdl.microsoft.com/download/symbols/bootmgr.efi/98B063A61BC000/bootmgr.efi
- https://msdl.microsoft.com/download/symbols/hvloader.efi/559F396411D000/hvloader.efi
เป้าหมายของโปรแกรมติดตั้งนั้นชัดเจน – มีหน้าที่ปิดใช้งานคุณสมบัติการรักษาความปลอดภัยของ Windows เช่น การเข้ารหัสดิสก์ด้วย BitLocker และ HVCI และสำหรับการปรับใช้ไฟล์หลายไฟล์ รวมถึง bootkit ที่เป็นอันตรายไปยัง ESP เมื่อดำเนินการเสร็จแล้ว จะรีบูตเครื่องที่ถูกบุกรุกเพื่อให้ไฟล์ที่ดร็อปทำงาน เพื่อให้แน่ใจว่าบูทคิท UEFI ที่ลงนามด้วยตนเองจะถูกดำเนินการอย่างเงียบ ๆ ในทุก ๆ การเริ่มต้นระบบ โดยไม่คำนึงถึงสถานะการป้องกัน UEFI Secure Boot
ขั้นตอนที่ 0 – การเริ่มต้นและการยกระดับ (ที่เป็นไปได้)
เมื่อดำเนินการติดตั้ง โปรแกรมจะตรวจสอบว่ามีสิทธิ์เพียงพอหรือไม่ (อย่างน้อยต้องมีผู้ดูแลระบบ) เพื่อปรับใช้ไฟล์ที่เหลือกับ ESP และดำเนินการอื่นๆ ที่ต้องใช้กระบวนการยกระดับ เช่น ปิด HVCI หรือปิดใช้งาน BitLocker หากไม่เป็นเช่นนั้น ระบบจะพยายามยกระดับโดยเรียกใช้งานโปรแกรมติดตั้งอีกครั้งโดยใช้วิธีการบายพาส UAC ที่อธิบายในรายละเอียดที่นี่: บายพาส UAC ผ่านผู้ช่วยความเข้ากันได้ของโปรแกรม.
ด้วยสิทธิ์ที่จำเป็น จะดำเนินการต่อ ตรวจสอบสถานะ UEFI Secure Boot โดยการอ่านค่าของตัวแปร SecureBoot UEFI โดยใช้ฟังก์ชัน Windows API ที่มี และระบุเวอร์ชันของ Windows โดยการเข้าถึงโดยตรง KUSER_SHARED_DATA ฟิลด์โครงสร้าง NtMajorVersion และ NtMinorVersion ในความทรงจำ. เพื่อตัดสินใจว่าจำเป็นต้องข้าม UEFI Secure Boot หรือไม่ในการปรับใช้ bootkit ในระบบของเหยื่อ (เนื่องจากการสนับสนุน Secure Boot ถูกเพิ่มเข้ามาครั้งแรกใน Windows 8 และอาจไม่ได้เปิดใช้งานในเครื่องใดเครื่องหนึ่ง)
ก่อนดำเนินการขั้นตอนต่อไป ระบบจะเปลี่ยนชื่อ Windows Boot Manager (bootmgfw.efi) ไบนารีที่อยู่ใน ESP:EFIMicrosoftBoot directory to winload.efi. สิ่งนี้เปลี่ยนชื่อ bootmgfw.efi bootkit จะใช้การสำรองข้อมูลในภายหลังเพื่อเรียกใช้ OS หรือเพื่อกู้คืน boot chain เดิมหากได้รับคำสั่ง "ถอนการติดตั้ง" จากเซิร์ฟเวอร์ C&C – เพิ่มเติมใน การสื่อสาร C&C มาตรา.
ขั้นตอนที่ 1 – การปรับใช้ไฟล์
หากเปิดใช้งาน UEFI Secure Boot โปรแกรมติดตั้งจะดำเนินการทิ้งไฟล์หลายไฟล์ลงใน ESP:/EFI/Microsoft/บูต/ และ อีเอสพี:/system32/ ไดเรกทอรี แม้ว่าอันแรกจะเป็นไดเร็กทอรีมาตรฐานที่ใช้โดย Windows แต่อันหลังจะเป็นโฟลเดอร์แบบกำหนดเองที่สร้างโดยโปรแกรมติดตั้ง
รายการไฟล์ที่โปรแกรมติดตั้งทิ้งพร้อมคำอธิบายสั้น ๆ เกี่ยวกับบทบาทของแต่ละไฟล์ในห่วงโซ่การดำเนินการมีอยู่ในตารางที่ 1 เราจะอธิบายรายละเอียดว่าห่วงโซ่การดำเนินการทำงานอย่างไรในภายหลัง ตอนนี้โปรดทราบว่าไฟล์ที่ลงนามโดย Microsoft ที่ถูกต้องตามกฎหมายหลายไฟล์จะถูกทิ้งพร้อมกับไฟล์ที่เป็นอันตราย
ตารางที่ 1. ไฟล์ที่ปรับใช้โดยโปรแกรมติดตั้ง BlackLotus บนระบบที่เปิดใช้งาน UEFI Secure Boot
โฟลเดอร์ | ชื่อไฟล์ | รายละเอียด |
---|---|---|
ESP:EFIMicrosoftBoot | grubx64.efi | BlackLotus bootkit แอปพลิเคชัน UEFI ที่ลงชื่อด้วยตนเองที่เป็นอันตราย |
bootload.efi | ลงนามโดย Microsoft ถูกต้องตามกฎหมาย ชิม ไบนารี (ชื่อชั่วคราว ภายหลังแทนที่ bootmgfw.efi หลังจาก CVE-2022-21894 การเอารัดเอาเปรียบ). | |
bootmgfw.efi | ถูกต้องตามกฎหมาย แต่มีความเสี่ยง (CVE-2022-21894) Windows Boot Manager ไบนารี ฝังอยู่ในตัวติดตั้งหรือดาวน์โหลดโดยตรงจาก Microsoft Symbol Store | |
BCD | กำหนดเองของผู้โจมตี Boot ข้อมูลการกำหนดค่า (BCD) เก็บใช้ใน CVE-2022-21894 ห่วงโซ่การเอารัดเอาเปรียบ | |
พ.ศ | การสำรองข้อมูลที่เก็บ BCD ดั้งเดิมของเหยื่อ | |
ESP:ระบบ 32 | hvloader.efi | ถูกต้องตามกฎหมาย แต่มีความเสี่ยง (CVE-2022-21894) Windows Hypervisor Loader ไบนารี ฝังอยู่ภายในตัวติดตั้งหรือดาวน์โหลดโดยตรงจาก Microsoft Symbol Store |
bootmgr.efi | ถูกต้องตามกฎหมาย แต่มีความเสี่ยง (CVE-2022-21894) Windows Boot Manager ไบนารี ฝังอยู่ในตัวติดตั้งหรือดาวน์โหลดโดยตรงจาก Microsoft Symbol Store | |
mcupdate_AuthenticAMD.dll | ไบนารี PE เนทีฟที่ลงชื่อด้วยตนเองที่เป็นอันตราย ไฟล์นี้ดำเนินการโดยไฟล์ hvloader.efi หลังจากประสบความสำเร็จในการใช้ประโยชน์จาก CVE-2022-21894 (บนระบบที่ใช้ AMD CPU) | |
mcupdate_GenuineIntel.dll | ไบนารี PE เนทีฟที่ลงชื่อด้วยตนเองที่เป็นอันตราย ไฟล์นี้ดำเนินการโดยไฟล์ hvloader.efi หลังจากประสบความสำเร็จ CVE-2022-21894 การเอารัดเอาเปรียบ (บนระบบที่ใช้ Intel CPU) | |
BCD | BCD แบบกำหนดเองของผู้โจมตีที่ใช้ใน CVE-2022-21894 ห่วงโซ่การเอารัดเอาเปรียบ |
ในกรณีที่เหยื่อใช้งาน Windows เวอร์ชันที่ไม่รองรับ UEFI Secure Boot หรือในกรณีที่ปิดใช้งาน การปรับใช้จะค่อนข้างตรงไปตรงมา สิ่งเดียวที่จำเป็นในการปรับใช้ bootkit ที่เป็นอันตรายคือการแทนที่ Windows Boot Manager ที่มีอยู่ (bootmgfw.efi) เลขฐานสองใน ESP:EFIMicrosoftBoot ไดเร็กทอรีที่มีแอปพลิเคชัน UEFI ที่เป็นอันตรายซึ่งลงชื่อด้วยตนเองของผู้โจมตี เนื่องจาก UEFI Secure Boot ถูกปิดใช้งาน (ดังนั้นจึงไม่มีการตรวจสอบความสมบูรณ์ระหว่างการบู๊ต) การหาประโยชน์จึงไม่จำเป็น และเฟิร์มแวร์ UEFI จะเรียกใช้งานตัวจัดการการบู๊ตที่เป็นอันตรายโดยไม่ทำให้เกิดการละเมิดความปลอดภัยใดๆ
ขั้นตอนที่ 2 – ปิดใช้งานความสมบูรณ์ของรหัสที่ป้องกันด้วยไฮเปอร์ไวเซอร์ (HVCI)
เพื่อให้สามารถเรียกใช้โค้ดเคอร์เนลที่ไม่ได้ลงนามแบบกำหนดเองได้ในภายหลัง โปรแกรมติดตั้งจะต้องตรวจสอบให้แน่ใจว่า เอชวีซีไอ ถูกปิดใช้งานในระบบ เพื่อนร่วมงาน ESET ของเราคนหนึ่งเขียนบล็อกโพสต์ที่ให้ข้อมูลในหัวข้อนี้ในปี 2022 (ไดรเวอร์เคอร์เนลที่เซ็นชื่อ – Unguarded เกตเวย์ไปยังคอร์ของ Windows):
Virtualization-based security (VBS) นำเสนอฟีเจอร์การป้องกันหลายอย่าง โดยฟีเจอร์ที่โดดเด่นที่สุดคือ Hypervisor-Protected Code Integrity (HVCI) ซึ่งมาพร้อมกับฟีเจอร์แบบสแตนด์อโลนด้วย HVCI บังคับใช้ความสมบูรณ์ของรหัสในเคอร์เนลและอนุญาตให้ดำเนินการเฉพาะรหัสที่ลงนามเท่านั้น มันป้องกันโปรแกรมควบคุมที่มีช่องโหว่ได้อย่างมีประสิทธิภาพไม่ให้ถูกใช้ในทางที่ผิดเพื่อรันรหัสเคอร์เนลที่ไม่ได้ลงนามหรือโหลดโปรแกรมควบคุมที่เป็นอันตราย (โดยไม่คำนึงถึงวิธีการโจมตีที่ใช้) และดูเหมือนว่ามัลแวร์ที่ใช้โปรแกรมควบคุมที่มีช่องโหว่ในทางที่ผิดเพื่อโหลดโปรแกรมที่เป็นอันตรายนั้นเป็นหนึ่งใน แรงจูงใจหลักที่อยู่เบื้องหลัง Microsoft ในการนำคุณลักษณะนี้ไปใช้.
ดังแสดงในรูปที่ 5 เมื่อต้องการปิดใช้งานคุณลักษณะนี้ โปรแกรมติดตั้งจะตั้งค่ารีจิสทรีที่เปิดใช้งานภายใต้ ความสมบูรณ์ของ HypervisorEnforcedCode คีย์รีจิสทรีเป็นศูนย์
ขั้นตอนที่ 3 – ปิดการใช้งาน BitLocker
คุณลักษณะถัดไปที่ปิดใช้งานโดยโปรแกรมติดตั้งคือ การเข้ารหัสลับไดรฟ์ด้วย BitLocker. เหตุผลนี้คือสามารถใช้ BitLocker ร่วมกับ โมดูล Trusted Platform Module (TPM) เพื่อให้แน่ใจว่าไฟล์สำหรับบู๊ตและการกำหนดค่าต่างๆ รวมถึง Secure Boot จะไม่ถูกดัดแปลงเนื่องจากมีการกำหนดค่าการเข้ารหัสไดรฟ์ด้วย BitLocker บนระบบ เมื่อพิจารณาว่าโปรแกรมติดตั้งแก้ไขห่วงโซ่การบูต Windows บนเครื่องที่ถูกบุกรุก การเปิด BitLocker ไว้สำหรับระบบที่รองรับ TPM จะทำให้เกิดหน้าจอการกู้คืน BitLocker ในการบู๊ตครั้งถัดไป และจะแจ้งให้เหยื่อทราบว่าระบบถูกบุกรุก
หากต้องการปิดใช้งานการป้องกันนี้ โปรแกรมติดตั้ง BlackLotus:
- เดินผ่านทุกเล่มภายใต้ RootCIMV2SecurityMicrosoftVolumeEncryption เนมสเปซ WMI และตรวจสอบสถานะการป้องกันโดยการเรียก รับสถานะการป้องกัน วิธีการของ Win32_EncryptableVolume คลาส WMI
- สำหรับผู้ที่ป้องกันโดย BitLocker จะเรียก ปิดใช้งานตัวป้องกันคีย์ วิธีการกับ ปิดการใช้งานนับ ตั้งค่าพารามิเตอร์เป็นศูนย์ หมายความว่าการป้องกันจะถูกระงับจนกว่าจะเปิดใช้งานด้วยตนเอง
เมื่อปิดใช้งานการป้องกันที่จำเป็นและปรับใช้ไฟล์ทั้งหมดแล้ว โปรแกรมติดตั้งจะลงทะเบียนตัวเองเพื่อลบในระหว่างการรีสตาร์ทระบบครั้งถัดไป และรีบูตเครื่องเพื่อดำเนินการใช้ประโยชน์จาก CVE-2022-21894
บายพาส Secure Boot และสร้างการคงอยู่
ในส่วนนี้ เราจะมาดูกันอย่างใกล้ชิดว่า BlackLotus บรรลุความคงทนบนระบบที่เปิดใช้งาน UEFI Secure Boot ได้อย่างไร เนื่องจากห่วงโซ่การดำเนินการที่เรากำลังจะอธิบายนั้นค่อนข้างซับซ้อน ก่อนอื่นเราจะอธิบายหลักการพื้นฐาน แล้วจึงลงลึกในรายละเอียดทางเทคนิค
โดยสรุป กระบวนการนี้ประกอบด้วยสองขั้นตอนสำคัญ:
- ใช้ประโยชน์จาก CVE-2022-21894 เพื่อข้ามฟีเจอร์ Secure Boot และติดตั้ง bootkit ซึ่งช่วยให้สามารถเรียกใช้รหัสโดยอำเภอใจในช่วงเริ่มต้นระบบ โดยที่แพลตฟอร์มยังคงเป็นของเฟิร์มแวร์ และฟังก์ชัน UEFI Boot Services ยังคงมีให้ใช้งาน ซึ่งช่วยให้ผู้โจมตีทำหลายสิ่งหลายอย่างที่พวกเขาไม่ควรทำบนเครื่องที่เปิดใช้งาน UEFI Secure Boot โดยไม่ต้องมีการเข้าถึงทางกายภาพ เช่น การแก้ไขตัวแปร NVRAM เฉพาะ Boot-services และนี่คือสิ่งที่ผู้โจมตีใช้ประโยชน์จากการตั้งค่าการคงอยู่สำหรับ bootkit ในขั้นตอนถัดไป สามารถดูข้อมูลเพิ่มเติมเกี่ยวกับการแสวงประโยชน์ได้ใน ใช้ประโยชน์จาก CVE-2022-21894 มาตรา.
- ตั้งค่าการคงอยู่โดยการเขียน MOK ของตัวเองไปที่ ม็อกลิสต์, ตัวแปร NVRAM สำหรับ Boot-services เท่านั้น การทำเช่นนี้จะทำให้สามารถใช้ Microsoft-signed ที่ถูกต้องตามกฎหมายได้ ชิม สำหรับการโหลดที่ลงนามด้วยตนเอง (ลงนามโดยคีย์ส่วนตัวที่เป็นของคีย์ที่เขียนถึง ม็อกลิสต์) UEFI bootkit แทนที่จะใช้ประโยชน์จากช่องโหว่ในการบู๊ตทุกครั้ง ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ใน การคงอยู่ของ Bootkit มาตรา.
เพื่อให้การวิเคราะห์โดยละเอียดในสองส่วนถัดไปง่ายขึ้น เราจะทำตามขั้นตอนที่แสดงในไดอะแกรมการดำเนินการ รูปที่ 6
ใช้ประโยชน์จาก CVE-2022-21894
ในการเลี่ยงผ่าน Secure Boot นั้น BlackLotus ใช้ Baton Drop (CVE-2022-21894): ช่องโหว่การบายพาสคุณลักษณะความปลอดภัยในการบูตที่ปลอดภัย. แม้จะส่งผลกระทบสูงต่อความปลอดภัยของระบบ แต่ช่องโหว่นี้ก็ไม่ได้รับความสนใจจากสาธารณชนเท่าที่ควร แม้ว่าช่องโหว่จะได้รับการแก้ไขแล้วในการอัปเดตเดือนมกราคม 2022 ของ Microsoft แต่การใช้ประโยชน์จากช่องโหว่นี้ยังคงเป็นไปได้เนื่องจากไบนารีที่ได้รับผลกระทบยังไม่ได้ถูกเพิ่มลงใน รายการเพิกถอน UEFI. เป็นผลให้ผู้โจมตีสามารถนำสำเนาไบนารีที่มีช่องโหว่ของตนเองไปยังเครื่องของเหยื่อเพื่อใช้ประโยชน์จากช่องโหว่นี้และบายพาส Secure Boot บนระบบ UEFI ที่ทันสมัย
ยิ่งไปกว่านั้น การใช้ประโยชน์จาก Proof of Concept (PoC) สำหรับช่องโหว่นี้ได้รับการเปิดเผยต่อสาธารณะตั้งแต่เดือนสิงหาคม 2022 เมื่อพิจารณาจากวันที่ส่ง BlackLotus VirusTotal ครั้งแรก (ดูรูปที่ 1) ผู้พัฒนามัลแวร์น่าจะปรับ PoC ที่มีอยู่ตามความต้องการโดยไม่ต้อง ต้องการความเข้าใจอย่างลึกซึ้งเกี่ยวกับวิธีการทำงานของช่องโหว่นี้
เรามาเริ่มกันที่การแนะนำสั้นๆ เกี่ยวกับช่องโหว่ โดยส่วนใหญ่จะสรุปประเด็นสำคัญจากบทความที่เผยแพร่พร้อมกับ PoC บน GitHub:
- แอปพลิเคชันสำหรับบูต Windows ที่ได้รับผลกระทบ (เช่น bootmgr.efi, hvloader.efi, winload.efi…) อนุญาตให้ลบนโยบาย Secure Boot แบบซีเรียลไลซ์ออกจากหน่วยความจำ – ก่อนที่แอปพลิเคชันจะโหลด – โดยใช้ ตัดทอนความทรงจำ ตัวเลือกการบูต BCD
- ซึ่งช่วยให้ผู้โจมตีสามารถใช้ตัวเลือก BCD ที่เป็นอันตรายอื่นๆ เช่น บูทดีบั๊ก, การทดสอบ,หรือ nointegritychecksจึงทำลาย Secure Boot
- มีหลายวิธีในการใช้ประโยชน์จากช่องโหว่นี้ – สามวิธีเผยแพร่ในที่เก็บ PoC
- ตัวอย่างเช่น หนึ่งใน PoC แสดงให้เห็นว่าสามารถใช้ประโยชน์เพื่อทำให้ถูกต้องตามกฎหมายได้อย่างไร hvloader.efi โหลดโดยพลการลงนามด้วยตนเอง แมคคัพเดต_ .dll ไบนารี (ที่ไหน เป็นไปได้ ของแท้Intel or AMD ของแท้ขึ้นอยู่กับ CPU ของเครื่อง)
ตอนนี้ เราจะอธิบายต่อไปว่า BlackLotus ใช้ประโยชน์จากช่องโหว่นี้อย่างไร (ตัวเลขในรายการด้านล่างอธิบายขั้นตอนที่เกี่ยวข้องในรูปที่ 6):
- หลังจากโปรแกรมติดตั้งรีบูตเครื่อง เฟิร์มแวร์ UEFI จะดำเนินการโหลดตัวเลือกการบูตครั้งแรก สำหรับระบบ Windows ตัวเลือกการบู๊ตแรกจะเป็นค่าเริ่มต้น bootmgfw.efi ตั้งอยู่ใน ESP:/EFI/Microsoft/Boot โฟลเดอร์บน ESP คราวนี้แทนที่จะประหารชีวิตเหยื่อรายเดิม bootmgfw.efi (ซึ่งก่อนหน้านี้เปลี่ยนชื่อเป็น winload.efi โดยโปรแกรมติดตั้ง) เฟิร์มแวร์จะรันโปรแกรมที่มีช่องโหว่ ซึ่งติดตั้งโดยโปรแกรมติดตั้ง
- หลังจาก bootmgfw.efi ดำเนินการ จะโหลดตัวเลือกการบูต BCD ซึ่งแก้ไขก่อนหน้านี้โดยโปรแกรมติดตั้ง รูปที่ 7 แสดงการเปรียบเทียบ BCD ที่ถูกต้องกับตัวที่แก้ไขแล้ว
- ดังที่คุณเห็นในรูปที่ 7 (เส้นทางที่ขีดเส้นใต้ด้วยสีเขียว) โดยปกติ Windows Boot Manager ที่ถูกต้องจะโหลดตัวโหลด Windows OS (WINDOWSsystem32winload.efi) เป็นแอปพลิเคชันสำหรับเริ่มระบบเริ่มต้น แต่คราวนี้ด้วยการแก้ไข BCD มันยังคงโหลดช่องโหว่ต่อไป ESP:system32bootmgr.efiด้วย หลีกเลี่ยงหน่วยความจำต่ำ องค์ประกอบ BCD ตั้งค่าเป็นค่า 0x10000000 และ กำหนดเอง:22000023 องค์ประกอบ BCD ที่ชี้ไปยัง BCD ของผู้โจมตีรายอื่นที่จัดเก็บไว้ ESP:ระบบ 32bcd. คำอธิบายการใช้องค์ประกอบเหล่านี้สามารถพบได้ในเอกสารเผยแพร่ PoC:
ผู้โจมตีจำเป็นต้องตรวจสอบให้แน่ใจว่ามีการจัดสรร Secure Boot Policy แบบซีเรียลไลซ์เหนือที่อยู่ทางกายภาพที่รู้จัก
[... ]
พื้นที่ หลีกเลี่ยงหน่วยความจำต่ำ องค์ประกอบสามารถใช้เพื่อให้แน่ใจว่าการจัดสรรหน่วยความจำกายภาพทั้งหมดอยู่เหนือที่อยู่จริงที่ระบุ
• ตั้งแต่ Windows 10 องค์ประกอบนี้ไม่ได้รับอนุญาตหากเปิดใช้งาน VBS แต่เนื่องจากใช้ในระหว่างการเริ่มต้นแอปพลิเคชันสำหรับบู๊ต ก่อนที่จะอ่านนโยบาย Secure Boot แบบซีเรียลไลซ์จากหน่วยความจำ การโหลด Bootmgr ซึ่ง และการระบุพาธ BCD แบบกำหนดเอง (โดยใช้ bcdfilepath.dll ธาตุอาคา กำหนดเอง:22000023) สามารถใช้เพื่อข้ามสิ่งนี้
- ในขั้นตอนต่อไปจะดำเนินการ ESP:system32bootmgr.efi โหลด BCD เพิ่มเติมที่อยู่ในนั้น ESP:ระบบ 32bcd. เนื้อหาที่แยกวิเคราะห์ของ BCD เพิ่มเติมนี้แสดงในรูปที่ 8
- เนื่องจากตัวเลือกที่โหลดจากไฟล์ BCD ที่แสดงในรูปที่ 8 bootmgr.efi ดำเนินการต่อด้วยการโหลด Windows Boot Application ที่มีช่องโหว่ซึ่งติดตั้งโดยตัวติดตั้ง - ESP:system32hvloader.efi – ซึ่งก็คือ Windows Hypervisor Loader ที่สำคัญกว่านั้น มีการระบุตัวเลือก BCD เพิ่มเติมในไฟล์ BCD เดียวกัน (ดูรูปที่ 8):
- ตัดทอนความทรงจำ โดยตั้งค่าเป็น 0x10000000
- nointegritychecks ตั้งค่าเป็น ใช่
- และ การทดสอบตั้งค่าเป็น ใช่
และนี่คือที่ที่เวทมนตร์เกิดขึ้น เนื่องจากควรโหลดนโยบาย Secure Boot แบบซีเรียลในที่อยู่ทางกายภาพด้านบน 0x10000000 (เพราะว่า หลีกเลี่ยงหน่วยความจำต่ำ ใช้ในขั้นตอนก่อนหน้า) โดยระบุ ตัดทอนความทรงจำ องค์ประกอบจะลบออกอย่างมีประสิทธิภาพ ดังนั้น ทำลาย Secure Boot และอนุญาตให้ใช้ตัวเลือก BCD ที่เป็นอันตราย เช่น nointegritychecks or การทดสอบ. เมื่อใช้ตัวเลือกเหล่านี้ ผู้โจมตีจะสามารถสร้าง hvloader.efi รันโค้ดที่เซ็นชื่อด้วยตัวเอง
- ในการทำเช่นนี้ เคล็ดลับเดียวกับที่อธิบายไว้ใน PoC ใช้: ในระหว่างการดำเนินการถูกต้องตามกฎหมาย hvloader.efi โหลดและดำเนินการ mcupdate_{Intelแท้| แท้AMD}.dll ไบนารีพื้นเมืองจาก : ระบบ32 ไดเรกทอรี ความคิดเห็น Hex-Rays ถอดรหัสรหัสของฟังก์ชันจาก hvloader.efi รับผิดชอบในการโหลดไบนารี mcupdate*.dll นี้แสดงในรูปที่ 9 โปรดทราบว่า hvloader.efi ปกติจะโหลดสิ่งนี้ถูกต้องตามกฎหมาย แมคอัปเดท*.dll ไบนารีจาก:ระบบ Windows32แต่คราวนี้ลายเซ็นของผู้โจมตีที่เป็นอันตราย แมคอัปเดท*.dll ถูกดำเนินการจากไดเร็กทอรี ESP แบบกำหนดเองที่สร้างไว้ก่อนหน้านี้โดยโปรแกรมติดตั้ง (ESP:ระบบ 32). มันเกิดจากตัวเลือก BCD เครื่อง และ ซิสเต็มรูท ที่ใช้ใน BCD จากรูปที่ 8 ระบุอุปกรณ์ปัจจุบันเป็น รองเท้า – หมายถึง ESP – และยังระบุให้ SystemRoot เป็นรูท () ไดเรกทอรีบนอุปกรณ์นี้
- ตอนนี้เป็นผู้โจมตีลงนามด้วยตนเอง แมคอัปเดท*.dll ถูกโหลดและดำเนินการ มันจะดำเนินต่อไปด้วยการดำเนินการส่วนประกอบสุดท้ายในห่วงโซ่นี้ – MokInstaller ที่ฝังอยู่ (แอปพลิเคชัน UEFI) – ดูรูปที่ 10 สำหรับรายละเอียดเกี่ยวกับวิธีการดำเนินการ
การคงอยู่ของ Bootkit
ตอนนี้ MokInstaller สามารถดำเนินการตั้งค่าการคงอยู่โดยลงทะเบียน MOK ของผู้โจมตีลงในตัวแปร NVRAM และตั้งค่า Microsoft-signed ที่ถูกต้องตามกฎหมาย ชิม ไบนารีเป็น bootloader เริ่มต้น ก่อนดำเนินการต่อในรายละเอียด ทฤษฎีเล็กน้อยเกี่ยวกับ ชิม และ สกอ.
ชิม เป็น UEFI bootloader ขั้นแรกที่พัฒนาโดยนักพัฒนา Linux เพื่อให้ลีนุกซ์รุ่นต่างๆ ทำงานร่วมกับ UEFI Secure Boot เป็นแอปพลิเคชันที่เรียบง่ายและมีวัตถุประสงค์เพื่อโหลด ตรวจสอบ และดำเนินการแอปพลิเคชันอื่น – ในกรณีของระบบ Linux โดยปกติจะเป็นโปรแกรมโหลดบูตของ GRUB มันทำงานในลักษณะที่ Microsoft ลงนามเท่านั้น ชิมและ ชิม ดูแลส่วนที่เหลือ – สามารถตรวจสอบความสมบูรณ์ของ bootloader ขั้นที่สองได้โดยใช้คีย์จาก db ตัวแปร UEFI และยังฝังรายการคีย์หรือแฮชที่ "อนุญาต" หรือ "เพิกถอน" ของตัวเองเพื่อให้แน่ใจว่าส่วนประกอบที่ได้รับความไว้วางใจจากทั้งแพลตฟอร์มและผู้พัฒนาชิม (เช่น Canonical, RedHat เป็นต้น) ได้รับอนุญาตให้ดำเนินการได้ นอกเหนือจากรายการเหล่านี้ ชิม ยังอนุญาตให้ใช้ฐานข้อมูลคีย์ภายนอกที่จัดการโดยผู้ใช้ ซึ่งเรียกว่ารายการ MOK รูปที่ 11 แสดงให้เห็นอย่างชัดเจนว่า UEFI Secure Boot with MOK ทำงานอย่างไร
ฐานข้อมูล MOK นี้ถูกจัดเก็บไว้ในตัวแปร NVRAM สำหรับบู๊ตเท่านั้นที่มีชื่อว่า ม็อกลิสต์. หากไม่มีการใช้ประโยชน์จากช่องโหว่ดังที่อธิบายไว้ข้างต้น จำเป็นต้องมีการเข้าถึงทางกายภาพเพื่อแก้ไขบนระบบที่เปิดใช้งาน UEFI Secure Boot (มีให้ใช้งานระหว่างการบู๊ตเท่านั้น ก่อนที่ตัวโหลดระบบปฏิบัติการจะเรียกใช้ฟังก์ชัน UEFI Boot Services ออกจาก BootServices). อย่างไรก็ตาม การใช้ประโยชน์จากช่องโหว่นี้ทำให้ผู้โจมตีสามารถข้าม UEFI Secure Boot และดำเนินการรหัสที่ลงนามด้วยตนเองก่อนที่จะเรียกไปยัง ออกจาก BootServicesเพื่อให้พวกเขาสามารถลงทะเบียนรหัสของตนเองได้อย่างง่ายดาย (โดยการแก้ไขไฟล์ ม็อกลิสต์ ตัวแปร NVRAM) เพื่อทำให้ shim เรียกใช้งานแอปพลิเคชันใด ๆ – ลงนามโดยคีย์ที่ลงทะเบียนนั้น – โดยไม่ก่อให้เกิดการละเมิดความปลอดภัย
- ดำเนินการต่อด้วยการอธิบายโฟลว์จากรูปที่ 6 – ขั้นตอนที่ 8… แอปพลิเคชัน MokInstaller UEFI ดำเนินการต่อด้วยการตั้งค่าการคงอยู่สำหรับบูทคิท BlackLotus UEFI และครอบคลุมเส้นทางของการแสวงประโยชน์โดย:
- กู้คืนที่เก็บ BCD ดั้งเดิมของเหยื่อจากข้อมูลสำรองที่สร้างโดยโปรแกรมติดตั้ง และแทนที่ efi ด้วยชิมเมอร์ที่ลงนามโดย Microsoft ที่ถูกกฎหมาย ซึ่งก่อนหน้านี้ดร็อปไปที่ ESP: system32bootload.efi โดยผู้ติดตั้ง
- การสร้าง ม็อกลิสต์ ตัวแปร NVRAM ที่มีใบรับรองคีย์สาธารณะที่ลงนามด้วยตนเองของผู้โจมตี โปรดทราบว่าตัวแปรนี้ได้รับการจัดรูปแบบในลักษณะเดียวกับตัวแปรฐานข้อมูลลายเซ็น UEFI อื่นๆ (เช่น db หรือ dbx) และสามารถประกอบด้วยรายการประเภทลายเซ็นเป็นศูนย์หรือมากกว่า EFI_SIGNATURE_LIST – ตามที่กำหนดไว้ในข้อกำหนด UEFI
- การลบไฟล์ทั้งหมดที่เกี่ยวข้องกับการหาประโยชน์จากผู้โจมตี ESP:ระบบ 32 โฟลเดอร์
- ในท้ายที่สุด จะรีบูตเครื่องเพื่อให้ชิมที่ปรับใช้ดำเนินการ บูทคิทที่ลงนามด้วยตนเองลดลงไปที่ EFIMicrosoftBootgrubx64.efi โดยผู้ติดตั้ง (grubx64.efi โดยปกติแล้ว bootloader ระยะที่สองเริ่มต้นที่ดำเนินการโดย a ชิม บนระบบ x86-64)
รหัสดำเนินการตามที่อธิบายไว้ในสองขั้นตอนสุดท้ายแสดงในรูปที่ 12
ชุดบูต BlackLotus UEFI
เมื่อคอนฟิกูเรชันการคงอยู่นั้น Bootkit ของ BlackLotus จะถูกดำเนินการในทุก ๆ การเริ่มต้นระบบ เป้าหมายของ bootkit คือการปรับใช้ไดรเวอร์เคอร์เนลและคอมโพเนนต์โหมดผู้ใช้ขั้นสุดท้าย – ตัวดาวน์โหลด HTTP ในระหว่างการดำเนินการ จะพยายามปิดใช้งานคุณลักษณะด้านความปลอดภัยเพิ่มเติมของ Windows – Virtualization-Based Security (VBS) และ Windows Defender – เพื่อเพิ่มโอกาสในการปรับใช้ที่ประสบความสำเร็จและการดำเนินการที่ซ่อนเร้น ก่อนที่จะข้ามไปยังรายละเอียดเกี่ยวกับวิธีการดำเนินการ เราจะสรุปข้อมูลพื้นฐานเกี่ยวกับไดรเวอร์เคอร์เนลและตัวดาวน์โหลด HTTP:
- ไดรเวอร์เคอร์เนลมีหน้าที่รับผิดชอบ
- การปรับใช้องค์ประกอบถัดไปของเชน – ตัวดาวน์โหลด HTTP
- รักษาตัวโหลดให้คงอยู่ในกรณีที่เลิกจ้าง
- การป้องกันไฟล์ bootkit จากการถูกลบออกจาก ESP
- ดำเนินการเพย์โหลดเคอร์เนลเพิ่มเติม หากได้รับคำสั่งจากตัวดาวน์โหลด HTTP
- ถอนการติดตั้ง bootkit หากได้รับคำแนะนำจากโปรแกรมดาวน์โหลด HTTP
- ตัวดาวน์โหลด HTTP มีหน้าที่:
- การสื่อสารกับ C&C
- การดำเนินการตามคำสั่งที่ได้รับจาก C&C
- การดาวน์โหลดและดำเนินการเพย์โหลดที่ได้รับจาก C&C (สนับสนุนทั้งเพย์โหลดเคอร์เนลและเพย์โหลดโหมดผู้ใช้)
โฟลว์การดำเนินการทั้งหมด (แบบง่าย) ตั้งแต่ตัวติดตั้งไปจนถึงตัวดาวน์โหลด HTTP แสดงในรูปที่ 13 เราจะอธิบายรายละเอียดแต่ละขั้นตอนเหล่านี้โดยละเอียดในหัวข้อถัดไป
ขั้นตอนการดำเนินการ BlackLotus
ขั้นตอนการดำเนินการมีดังนี้ (ขั้นตอนเหล่านี้แสดงในรูปที่ 13):
- ในขั้นตอนแรก เฟิร์มแวร์ UEFI จะดำเนินการตามตัวเลือกการบูต Windows เริ่มต้น ซึ่งเป็นไฟล์ที่มักจะจัดเก็บไว้ในนั้น EFIMicrosoftBootbootmgfw.efi. ดังที่เราอธิบายไว้ก่อนหน้านี้ (ส่วนวิริยะบูทกิต.8.ก) ไบนารี MokInstaller แทนที่ไฟล์นี้ด้วยการเซ็นชื่อที่ถูกต้อง ชิม.
- เมื่อราคาของ ชิม ถูกดำเนินการ มันอ่านว่า ม็อกลิสต์ ตัวแปร NVRAM และใช้ใบรับรองที่ผู้โจมตีเก็บไว้ก่อนหน้านี้เพื่อตรวจสอบ bootloader ขั้นที่สอง – ชุดบูต BlackLotus UEFI ที่ลงนามด้วยตนเองซึ่งอยู่ใน EFIMicrosoftBootgrubx64.efi.
- เมื่อตรวจสอบแล้ว ชิม ดำเนินการ bootkit
- bootkit เริ่มต้นด้วยการสร้าง Boot-only VbsPolicyปิดการใช้งาน ตัวแปร NVRAM ตามที่อธิบายไว้ โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติมตัวแปรนี้ได้รับการประเมินโดยตัวโหลด Windows OS ระหว่างการบู๊ต และหากกำหนดไว้ คุณลักษณะหลักของ VBS เช่น HVCI และ Credential Guard จะไม่ถูกเตรียมใช้งาน
- ในขั้นตอนต่อไปนี้ (5. a–e) bootkit จะดำเนินต่อไปด้วยรูปแบบทั่วไปที่ใช้โดย UEFI bootkits มันขัดขวางการทำงานของคอมโพเนนต์ที่รวมอยู่ในโฟลว์การบูต Windows ทั่วไป เช่น Windows Boot Manager, Windows OS loader และ Windows OS kernel และเชื่อมต่อฟังก์ชันบางอย่างในหน่วยความจำ โบนัสยังพยายามปิดการใช้งาน Windows Defender ด้วยการแพตช์ไดรเวอร์บางตัว ทั้งหมดนี้เพื่อให้เกิดการดำเนินการเพย์โหลดในช่วงแรกของกระบวนการเริ่มต้น OS และเพื่อหลีกเลี่ยงการตรวจจับ ฟังก์ชันต่อไปนี้ติดหรือแพตช์:
- ImgArchStartBootApplication in bootmgfw.efi or bootmgr.efi:
ฟังก์ชันนี้มักถูกติดโดย bootkits เพื่อจับช่วงเวลาที่ตัวโหลดระบบปฏิบัติการ Windows (winload.efi) ถูกโหลดในหน่วยความจำแต่ยังไม่ได้ดำเนินการ ซึ่งเป็นช่วงเวลาที่เหมาะสมในการแพตช์เพิ่มเติมในหน่วยความจำ - BlImgAllocateImageBuffer in winload.efi:
ใช้เพื่อจัดสรรบัฟเฟอร์หน่วยความจำเพิ่มเติมสำหรับไดรเวอร์เคอร์เนลที่เป็นอันตราย - OslArchTransferToKernel in winload.efi:
เชื่อมต่อกับช่วงเวลาที่เคอร์เนล OS และไดรเวอร์ระบบบางส่วนถูกโหลดในหน่วยความจำแล้ว แต่ยังไม่ได้ดำเนินการ ซึ่งเป็นช่วงเวลาที่เหมาะสมที่สุดในการแพตช์ในหน่วยความจำเพิ่มเติม ไดรเวอร์ที่กล่าวถึงด้านล่างได้รับการแก้ไขในเบ็ดนี้ รหัสจาก hook นี้รับผิดชอบในการค้นหาไดรเวอร์ที่เหมาะสมในหน่วยความจำแสดงในรูปที่ 14 - WdBoot.sys และ WdFilter.sys:
BlackLotus แก้ไขจุดเข้าใช้งานของ WdBoot.sys และ WdFilter.sys – ไดรเวอร์ Windows Defender ELAM และไดรเวอร์ตัวกรองระบบไฟล์ Windows Defender ตามลำดับ – เพื่อส่งคืนทันที - ดิสก์.ซิส:
bootkit ขอจุดเข้าของ ดิสก์.ซิส ไดรเวอร์เพื่อดำเนินการไดรเวอร์เคอร์เนล BlackLotus ในช่วงเริ่มต้นของการเริ่มต้นระบบ
- ImgArchStartBootApplication in bootmgfw.efi or bootmgr.efi:
- ถัดไป เมื่อเคอร์เนลระบบปฏิบัติการดำเนินการ ดิสก์.ซิส จุดเริ่มต้นของไดรเวอร์ hook ที่ติดตั้งจะข้ามไปยังจุดเริ่มต้นไดรเวอร์เคอร์เนลที่เป็นอันตราย รหัสที่เป็นอันตรายจะคืนค่าเดิม ดิสก์.ซิส เพื่อให้ระบบทำงานได้อย่างถูกต้องและรอจนกว่า winlogon.exe กระบวนการเริ่มต้น
- เมื่อโปรแกรมควบคุมที่เป็นอันตรายตรวจพบว่า winlogon.exe กระบวนการเริ่มต้นขึ้นแล้ว โดยจะแทรกและเรียกใช้คอมโพเนนต์โหมดผู้ใช้ขั้นสุดท้าย ซึ่งก็คือตัวดาวน์โหลด HTTP เข้าไป
ไดรเวอร์เคอร์เนล
ไดรเวอร์เคอร์เนลมีหน้าที่หลักสี่ประการ:
- การแทรกตัวดาวน์โหลด HTTP เข้าไป winlogon.exe และฉีดซ้ำในกรณีที่เธรดถูกยกเลิก
- การป้องกันไฟล์ bootkit ที่ปรับใช้บน ESP จากการถูกลบ
- ปิดกระบวนการ Windows Defender ในโหมดผู้ใช้ MsMpEngine.exe.
- สื่อสารกับตัวดาวน์โหลด HTTP และหากจำเป็น ให้ดำเนินการตามคำสั่งใดๆ
ลองดูที่พวกเขาทีละคน
การคงอยู่ของตัวดาวน์โหลด HTTP
ไดรเวอร์เคอร์เนลมีหน้าที่รับผิดชอบในการปรับใช้ตัวดาวน์โหลด HTTP เมื่อไดรเวอร์เริ่มทำงาน จะรอจนกระทั่งกระบวนการตั้งชื่อ winlogon.exe เริ่มต้นก่อนที่จะดำเนินการอื่นใด เมื่อกระบวนการเริ่มต้นขึ้น ไดรเวอร์จะถอดรหัสไบนารีตัวดาวน์โหลด HTTP แล้วแทรกเข้าไป winlogon.exeพื้นที่ที่อยู่ของ และดำเนินการในเธรดใหม่ จากนั้นคนขับคอยตรวจสอบเป็นระยะว่าด้ายยังคงทำงานอยู่หรือไม่ และฉีดซ้ำหากจำเป็น ตัวดาวน์โหลด HTTP จะไม่ถูกปรับใช้หากโปรแกรมควบคุมตรวจพบดีบักเกอร์เคอร์เนล
การป้องกันไฟล์ bootkit บน ESP จากการลบ
เพื่อป้องกันไฟล์ของ bootkit ที่อยู่ใน ESP ไดรเวอร์เคอร์เนลใช้เคล็ดลับง่ายๆ มันเปิดไฟล์ทั้งหมดที่ต้องการปกป้อง ทำซ้ำและบันทึกแฮนเดิล และใช้ไฟล์ ObSetHandleแอตทริบิวต์ ฟังก์ชันเคอร์เนลที่ระบุ ป้องกันจากปิด ปักธงไว้ข้างใน จัดการธง (OBJECT_HANDLE_FLAG_INFORMATION) พารามิเตอร์เป็น 1 – จึงปกป้องที่จับจากการถูกปิดโดยกระบวนการอื่นๆ สิ่งนี้จะขัดขวางความพยายามในการลบหรือแก้ไขไฟล์ที่ได้รับการป้องกัน ไฟล์ต่อไปนี้ได้รับการป้องกัน:
- ESP:EFIMicrosoftBootwinload.efi
- ESP:EFIMicrosoftBootbootmgfw.efi
- ESP:EFIMicrosoftBootgrubx64.efi
หากผู้ใช้พยายามลบไฟล์ที่ได้รับการป้องกันเหล่านี้ จะเกิดสิ่งที่เหมือนกับที่แสดงไว้ในรูปที่ 15
เป็นการป้องกันอีกชั้นหนึ่ง ในกรณีที่ผู้ใช้หรือซอฟต์แวร์รักษาความปลอดภัยสามารถยกเลิกการตั้งค่าสถานะการป้องกันและปิดที่จับได้ ไดรเวอร์เคอร์เนลจะตรวจสอบอย่างต่อเนื่อง และทำให้เกิด BSOD โดยการเรียก KeBugCheck (INVALID_KERNEL_HANDLE) ฟังก์ชันหากไม่มีที่จับใด ๆ อีกต่อไป
ปิดกระบวนการ Windows Defender หลัก
ไดรเวอร์เคอร์เนลยังพยายามปลดอาวุธกระบวนการหลักของ Windows Defender - MsMpEng.exe. ทำได้โดยการลบสิทธิ์โทเค็นของกระบวนการทั้งหมดโดยการตั้งค่า SE_PRIVILEGE_REMOVED คุณลักษณะของแต่ละคน ด้วยเหตุนี้ กระบวนการ Defender จึงไม่สามารถทำงานได้ เช่น การสแกนไฟล์ อย่างถูกต้อง อย่างไรก็ตาม เนื่องจากมีการใช้งานฟังก์ชันนี้ไม่ดี จึงสามารถทำให้ใช้งานไม่ได้ผลโดยการรีสตาร์ท MsMpEng.exe กระบวนการ
การสื่อสารกับตัวดาวน์โหลด HTTP
ไดรเวอร์เคอร์เนลสามารถสื่อสารกับตัวดาวน์โหลด HTTP โดยใช้ชื่อเหตุการณ์และส่วน ชื่อของอ็อบเจกต์ที่มีชื่อที่ใช้จะถูกสร้างขึ้นตามที่อยู่ MAC ของอแดปเตอร์เครือข่ายของเหยื่อ (อีเธอร์เน็ต) หากค่าของออคเต็ตต่ำกว่า 16 ระบบจะเพิ่ม 16 เข้าไป รูปแบบของชื่อวัตถุที่สร้างขึ้นอาจแตกต่างกันไปในตัวอย่างต่างๆ ตัวอย่างเช่น ในหนึ่งในตัวอย่างที่เราวิเคราะห์ สำหรับที่อยู่ MAC 00-1c-0b-ซีดี-ef-34ชื่อที่สร้างขึ้นจะเป็น:
- BaseNamedObjects101c1b: สำหรับส่วนที่มีชื่อ (ใช้เฉพาะสามออคเต็ตแรกของ MAC เท่านั้น)
- BaseNamedObjectsZ01c1b: สำหรับเหตุการณ์ที่มีชื่อ – เหมือนกับสำหรับส่วน แต่ตัวเลขตัวแรกของที่อยู่ MAC จะถูกแทนที่ด้วย Z
ในกรณีที่ตัวดาวน์โหลด HTTP ต้องการส่งคำสั่งบางอย่างไปยังไดรเวอร์เคอร์เนล มันเพียงแค่สร้างส่วนที่มีชื่อ เขียนคำสั่งที่มีข้อมูลที่เกี่ยวข้องภายใน และรอให้คำสั่งประมวลผลโดยไดรเวอร์โดยสร้างเหตุการณ์ที่มีชื่อและรอจนกว่า คนขับเรียก (หรือส่งสัญญาณ) มัน
ไดรเวอร์รองรับคำสั่งที่อธิบายตนเองต่อไปนี้:
- ติดตั้งไดรเวอร์เคอร์เนล
- ถอนการติดตั้ง BlackLotus
ผู้อ่านที่ระมัดระวังอาจสังเกตเห็นจุดอ่อนของ BlackLotus ที่นี่ แม้ว่า bootkit จะป้องกันคอมโพเนนต์จากการลบออก แต่ไดรเวอร์เคอร์เนลอาจถูกหลอกให้ถอนการติดตั้ง bootkit โดยสิ้นเชิงโดยการสร้างออบเจกต์ที่มีชื่อข้างต้นและส่งคำสั่งถอนการติดตั้งไปให้
ตัวดาวน์โหลด HTTP
องค์ประกอบสุดท้ายมีหน้าที่รับผิดชอบในการสื่อสารกับเซิร์ฟเวอร์ C&C และดำเนินการตามคำสั่ง C&C ใดๆ ที่ได้รับจากเซิร์ฟเวอร์นั้น เพย์โหลดทั้งหมดที่เราค้นพบมีสามคำสั่ง คำสั่งเหล่านี้ตรงไปตรงมามากและตามชื่อส่วนที่แนะนำ คำสั่งส่วนใหญ่เกี่ยวกับการดาวน์โหลดและดำเนินการเพย์โหลดเพิ่มเติมโดยใช้เทคนิคต่างๆ
การสื่อสาร C&C
เพื่อสื่อสารกับ C&C ตัวโหลด HTTP ใช้โปรโตคอล HTTPS ข้อมูลทั้งหมดที่จำเป็นสำหรับการสื่อสารจะถูกฝังโดยตรงในไบนารีของตัวดาวน์โหลด รวมถึงโดเมน C&C และเส้นทางทรัพยากร HTTP ที่ใช้ ช่วงเวลาเริ่มต้นสำหรับการสื่อสารกับเซิร์ฟเวอร์ C&C ถูกตั้งค่าเป็นหนึ่งนาที แต่สามารถเปลี่ยนแปลงได้ตามข้อมูลจาก C&C แต่ละเซสชันการสื่อสารกับ C&C จะเริ่มต้นด้วยการส่งข้อความ HTTP POST บีคอนไปยัง C&C ในตัวอย่างที่เราวิเคราะห์ สามารถระบุเส้นทางทรัพยากร HTTP ต่อไปนี้ในส่วนหัว HTTP POST:
- /เครือข่าย/API/hpb_gate[.]php
- /API/hpb_gate[.]php
- /ประตู[.]php
- /hpb_gate[.]php
ข้อมูลข้อความบีคอนจะต่อท้ายด้วย เช็คอิน= สตริง ที่มีข้อมูลพื้นฐานเกี่ยวกับเครื่องที่ถูกบุกรุก – รวมถึงตัวระบุเครื่องที่กำหนดเอง (เรียกว่า ไวรัสตับอักเสบซี), สถานะ UEFI Secure Boot, ข้อมูลฮาร์ดแวร์ต่างๆ และค่าที่น่าจะเป็นหมายเลขบิลด์ของ BlackLotus ไวรัสตับอักเสบซี ถูกสร้างขึ้นจากที่อยู่ MAC ของเครื่อง (อีเธอร์เน็ต) และหมายเลขซีเรียลของวอลุ่มระบบ รูปแบบของข้อความก่อนการเข้ารหัสแสดงดังรูปที่ 16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ “HWID”:“%s”, “Session”:“%lu”, “Owner”:“%s”, “IP”:“%s”, “OS”:“%s”, “Edition”:“%s”, “CPU”:“%s”, “GPU”:“%s”, “RAM”:“%lu”, “Integrity”:“%lu”, “SecureBoot”:“%i”, “Build”:“%lu” } |
รูปที่ 16. รูปแบบของข้อความบีคอน
ก่อนส่งข้อความไปยัง C&C ข้อมูลจะถูกเข้ารหัสก่อนโดยใช้คีย์ RSA ที่ฝังไว้ จากนั้นเข้ารหัส URL-safe base64 ในระหว่างการวิเคราะห์ เราพบว่ามีการใช้คีย์ RSA สองคีย์ที่แตกต่างกันในตัวอย่าง ตัวอย่างของคำขอบีคอน HTTP ดังแสดงในรูปที่ 17
ข้อมูลที่ได้รับจาก C&C เพื่อตอบสนองต่อข้อความบีคอนควรเริ่มต้นด้วยค่าเวทย์มนตร์ HP สองไบต์; มิฉะนั้น การตอบกลับจะไม่ได้รับการดำเนินการเพิ่มเติม หากค่าเวทมนตร์ถูกต้อง ข้อมูลตามหลังค่าเวทมนตร์จะถูกถอดรหัสโดยใช้ AES 256 บิตในโหมด CBC โดยใช้สตริง HWID ที่กล่าวถึงข้างต้นเป็นคีย์
หลังจากถอดรหัส ข้อความจะคล้ายกับบีคอน ซึ่งเป็นสตริงรูปแบบ JSON และระบุตัวระบุคำสั่ง (เรียกว่า ชนิดภาพเขียน) และพารามิเตอร์เพิ่มเติมต่างๆ เช่น:
- ช่วงเวลาการสื่อสาร C&C
- วิธีการดำเนินการที่จะใช้
- ชื่อไฟล์เพย์โหลด
- ประเภทเพย์โหลดตามนามสกุลไฟล์ (.sys, exe.,หรือ dll. ได้รับการสนับสนุน)
- โทเค็นการตรวจสอบความถูกต้องที่ควรใช้ในการร้องขอการดาวน์โหลดข้อมูลเพย์โหลด
- คีย์ AES ใช้สำหรับถอดรหัสข้อมูลเพย์โหลด
คำสั่งที่รองรับทั้งหมดและคำอธิบายแสดงอยู่ในตารางที่ 2
ตารางที่ 2. คำสั่ง C&C
ประเภทคำสั่ง | คำอธิบายคำสั่ง |
---|---|
1 | ดาวน์โหลดและรันไดรเวอร์เคอร์เนล, DLL หรือไฟล์ปฏิบัติการปกติ |
2 | ดาวน์โหลดเพย์โหลด ถอนการติดตั้ง bootkit และดำเนินการเพย์โหลด ซึ่งน่าจะใช้เพื่ออัปเดต bootkit |
3 | ถอนการติดตั้ง bootkit และออก |
ในคำสั่งเหล่านี้ C&C สามารถระบุได้ว่าควรทิ้ง payload ลงในดิสก์ก่อนดำเนินการ หรือดำเนินการโดยตรงในหน่วยความจำ ในกรณีที่เกี่ยวข้องกับการวางไฟล์ลงดิสก์ ProgramData โฟลเดอร์บนไดรฟ์ข้อมูล OS ใช้เป็นโฟลเดอร์ปลายทางและชื่อไฟล์และนามสกุลที่ระบุโดยเซิร์ฟเวอร์ C&C ในกรณีเรียกใช้ไฟล์โดยตรงในหน่วยความจำ svchost.exe ใช้เป็นเป้าหมายในการฉีด เมื่อ C&C ส่งคำสั่งที่ต้องการความร่วมมือของไดรเวอร์เคอร์เนล หรือผู้ดำเนินการต้องการเรียกใช้โค้ดในโหมดเคอร์เนล กลไกที่อธิบายไว้ใน การสื่อสารกับตัวดาวน์โหลด HTTP ส่วนที่ใช้
เทคนิคต่อต้านการวิเคราะห์
เพื่อทำให้การตรวจจับและวิเคราะห์มัลแวร์ชิ้นนี้ยากขึ้น ผู้เขียนพยายามจำกัดการมองเห็นของไฟล์มาตรฐาน เช่น สตริงข้อความ การนำเข้า หรือข้อมูลที่ฝังตัวที่ไม่ได้เข้ารหัสอื่นๆ ให้น้อยที่สุด ด้านล่างนี้คือบทสรุปของเทคนิคที่ใช้
- สตริงและการเข้ารหัสข้อมูล
- สตริงทั้งหมดที่ใช้ในตัวอย่างถูกเข้ารหัสโดยใช้รหัสแบบธรรมดา
- ไฟล์ที่ฝังทั้งหมดได้รับการเข้ารหัสโดยใช้ AES 256 บิตในโหมด CBC
- คีย์การเข้ารหัสสำหรับแต่ละไฟล์อาจแตกต่างกันไปในแต่ละตัวอย่าง
- นอกจากการเข้ารหัส AES แล้ว ไฟล์บางไฟล์ยังถูกบีบอัดโดยใช้ LZMS
- ความละเอียด API รันไทม์เท่านั้น
- ในตัวอย่างทั้งหมด (หากมี) API ของ Windows จะได้รับการแก้ไขเฉพาะในระหว่างรันไทม์เสมอ และใช้แฮชของฟังก์ชันแทนชื่อฟังก์ชันเพื่อค้นหาที่อยู่ของฟังก์ชัน API ที่ต้องการในหน่วยความจำ
- ในบางกรณีโดยตรง ซิสคอล การเรียกใช้คำสั่งใช้เพื่อเรียกใช้ฟังก์ชันระบบที่ต้องการ
- เครือข่ายการสื่อสาร
- สื่อสารโดยใช้ HTTPS
- ข้อความทั้งหมดที่ส่งไปยัง C&C โดยโปรแกรมดาวน์โหลด HTTP นั้นได้รับการเข้ารหัสโดยใช้รหัสสาธารณะ RSA ที่ฝังไว้
- ข้อความทั้งหมดที่ส่งจาก C&C ไปยังโปรแกรมดาวน์โหลด HTTP จะถูกเข้ารหัสโดยใช้คีย์ที่ได้รับจากสภาพแวดล้อมเครื่องของเหยื่อหรือใช้คีย์ AES ที่ C&C ให้มา
- เทคนิค Anti-debug และ anti-VM – หากใช้ มักจะวางไว้ที่จุดเริ่มต้นของจุดเริ่มต้น จะใช้เฉพาะทริคการตรวจจับแซนด์บ็อกซ์ทั่วไปหรือดีบักเกอร์เท่านั้น
การบรรเทาผลกระทบและการแก้ไข
- ก่อนอื่น การรักษาระบบและผลิตภัณฑ์รักษาความปลอดภัยให้ทันสมัยอยู่เสมอเป็นสิ่งที่จำเป็น เพื่อเพิ่มโอกาสที่ภัยคุกคามจะหยุดลงตั้งแต่เริ่มต้น ก่อนที่จะสามารถคงอยู่ได้ก่อนระบบปฏิบัติการ
- จากนั้น ขั้นตอนสำคัญที่จำเป็นต้องดำเนินการเพื่อป้องกันการใช้งานไบนารี UEFI ที่มีช่องโหว่ที่รู้จักสำหรับการข้าม UEFI Secure Boot คือการเพิกถอนในฐานข้อมูลการเพิกถอน UEFI (DBX) – บนระบบ Windows DBX ควรเผยแพร่การอัปเดตโดยใช้ Windows Updates
- ปัญหาคือการเพิกถอนไบนารี Windows UEFI ที่ใช้กันอย่างแพร่หลายอาจทำให้ระบบที่ล้าสมัย อิมเมจการกู้คืน หรือการสำรองข้อมูลหลายพันระบบไม่สามารถบู๊ตได้ ดังนั้น การเพิกถอนจึงมักใช้เวลานานเกินไป
- โปรดทราบว่าการเพิกถอนแอปพลิเคชัน Windows ที่ใช้โดย BlackLotus จะป้องกันการติดตั้ง bootkit แต่เนื่องจากตัวติดตั้งจะแทนที่ bootloader ของเหยื่อด้วยตัวที่ถูกเพิกถอน อาจทำให้ระบบไม่สามารถบูตได้ ในการกู้คืนในกรณีนี้ การติดตั้งระบบปฏิบัติการใหม่หรือเพียงการกู้คืน ESP จะช่วยแก้ปัญหาได้
- หากการเพิกถอนเกิดขึ้นหลังจากตั้งค่าการคงอยู่ของ BlackLotus แล้ว bootkit จะยังคงใช้งานได้ เนื่องจากใช้ shim ที่ถูกต้องพร้อมคีย์ MOK แบบกำหนดเองเพื่อการคงอยู่ ในกรณีนี้ วิธีแก้ปัญหาที่ปลอดภัยที่สุดคือการติดตั้ง Windows ใหม่และลบรหัส MOK ที่ลงทะเบียนของผู้โจมตีโดยใช้ โมกุติล ยูทิลิตี้ (ต้องมีสถานะทางกายภาพเพื่อดำเนินการนี้เนื่องจากการโต้ตอบที่จำเป็นกับผู้ใช้กับ MOK Manager ระหว่างการบู๊ต)
Takeaways
ช่องโหว่ที่สำคัญจำนวนมากที่ส่งผลกระทบต่อความปลอดภัยของระบบ UEFI ถูกค้นพบในช่วงไม่กี่ปีที่ผ่านมา น่าเสียดาย เนื่องจากความซับซ้อนของระบบนิเวศ UEFI ทั้งหมดและปัญหาห่วงโซ่อุปทานที่เกี่ยวข้อง ช่องโหว่จำนวนมากเหล่านี้ทำให้ระบบจำนวนมากมีช่องโหว่แม้เวลาผ่านไปนานหลังจากที่มีการแก้ไขช่องโหว่ หรืออย่างน้อยหลังจากที่เราได้รับแจ้งว่าได้รับการแก้ไขแล้ว เพื่อภาพลักษณ์ที่ดีขึ้น ต่อไปนี้คือตัวอย่างบางส่วนของแพตช์หรือความล้มเหลวในการเพิกถอนที่อนุญาตให้ UEFI Secure Boot ข้ามจากปีที่แล้ว:
- ประการแรก CVE-2022-21894 – ช่องโหว่ที่ BlackLotus ใช้ประโยชน์ หนึ่งปีนับตั้งแต่มีการแก้ไขช่องโหว่ ไบนารี UEFI ที่มีช่องโหว่ยังคงไม่ถูกเพิกถอน ทำให้ภัยคุกคามเช่น BlackLotus สามารถดำเนินการอย่างลับๆ บนระบบที่เปิดใช้งาน UEFI Secure Boot ซึ่งจะทำให้ผู้ที่ตกเป็นเหยื่อรู้สึกถึงความปลอดภัยที่ผิดพลาด
- ในช่วงต้นปี 2022 เราได้เปิดเผยช่องโหว่ UEFI หลายรายการที่อนุญาตให้ปิดใช้งาน UEFI Secure Boot เหนือสิ่งอื่นใด อุปกรณ์จำนวนมากที่ได้รับผลกระทบไม่ได้รับการสนับสนุนจาก OEM อีกต่อไป ดังนั้นจึงไม่ได้รับการแก้ไข (แม้ว่าอุปกรณ์เหล่านี้จะไม่เก่ามากก็ตาม เช่น 3-5 ปี ณ เวลาที่เปิดเผยช่องโหว่) อ่านเพิ่มเติมในบล็อกโพสต์ของเรา: เมื่อ "ปลอดภัย" ไม่ปลอดภัยเลย: พบช่องโหว่ UEFI ที่มีผลกระทบสูงในแล็ปท็อปสำหรับผู้บริโภคของ Lenovo
- ต่อมาในปี 2022 เราได้ค้นพบ ช่องโหว่ UEFI อื่น ๆ อีกเล็กน้อยซึ่งการแสวงหาผลประโยชน์จะทำให้ผู้โจมตีสามารถปิดใช้งาน UEFI Secure Boot ได้อย่างง่ายดาย ตามที่เพื่อนนักวิจัยได้ชี้ให้เห็นจาก ไบนารี่, อุปกรณ์หลายรายการในรายการ ที่ปรึกษา ถูกปล่อยทิ้งไว้โดยไม่มีการแพตช์หรือแพตช์ไม่ถูกต้อง แม้กระทั่งไม่กี่เดือนหลังจากคำแนะนำ ทำให้อุปกรณ์มีความเสี่ยง ไม่จำเป็นต้องพูด เช่นเดียวกับกรณีก่อนหน้านี้ อุปกรณ์บางอย่างจะอยู่ในช่องโหว่ตลอดไปเนื่องจากถึงวันที่สิ้นสุดการสนับสนุน
เป็นเพียงเรื่องของเวลาก่อนที่จะมีคนใช้ประโยชน์จากความล้มเหลวเหล่านี้และสร้างบูทคิท UEFI ที่สามารถทำงานบนระบบที่เปิดใช้งาน UEFI Secure Boot ตามที่เราแนะนำเมื่อปีที่แล้วในของเรา การนำเสนอ RSAทั้งหมดนี้ทำให้การย้ายไปยัง ESP เป็นไปได้มากขึ้นสำหรับผู้โจมตีและเป็นหนทางที่เป็นไปได้สำหรับภัยคุกคาม UEFI – การมีอยู่ของ BlackLotus เป็นการยืนยันสิ่งนี้
ไอโอซี
ไฟล์
SHA-1 | ชื่อไฟล์ | การตรวจพบ | รายละเอียด |
---|---|---|---|
05846D5B1D37EE2D716140DE4F4F984CF1E631D1 | N / A | Win64/BlackLotus.A | โปรแกรมติดตั้ง BlackLotus |
A5A530A91100ED5F07A5D74698B15C646DD44E16 | N / A | Win64/BlackLotus.A | โปรแกรมติดตั้ง BlackLotus |
D82539BFC2CC7CB504BE74AC74DF696B13DB486A | N / A | Win64/BlackLotus.A | โปรแกรมติดตั้ง BlackLotus |
16B12CEA54360AA42E1120E82C1E9BC0371CB635 | N / A | Win64/BlackLotus.A | โปรแกรมติดตั้ง BlackLotus |
DAE7E7C4EEC2AC0DC7963C44A5A4F47D930C5508 | N / A | Win64/BlackLotus.A | โปรแกรมติดตั้ง BlackLotus |
45701A83DEC1DC71A48268C9D6D205F31D9E7FFB | N / A | Win64/BlackLotus.A | โปรแกรมติดตั้ง BlackLotus |
2CE056AE323B0380B0E87225EA0AE087A33CD316 | N / A | EFI/BlackLotus.B | ชุดบูต BlackLotus UEFI |
5A0074203ABD5DEB464BA0A79E14B7541A033216 | N / A | EFI/BlackLotus.B | ชุดบูต BlackLotus UEFI |
5DC9CBD75ABD830E83641A0265BFFDDD2F602815 | N / A | EFI/BlackLotus.B | ชุดบูต BlackLotus UEFI |
97AEC21042DF47D39AC212761729C6BE484D064D | N / A | EFI/BlackLotus.B | ชุดบูต BlackLotus UEFI |
ADCEEC18FF009BED635D168E0B116E72096F18D2 | N / A | EFI/BlackLotus.B | ชุดบูต BlackLotus UEFI |
DBC064F757C69EC43517EFF496146B43CBA949D1 | N / A | EFI/BlackLotus.B | ชุดบูต BlackLotus UEFI |
06AF3016ACCDB3DFE1C23657BF1BF91C13BAA757 | N / A | Win64/BlackLotus.B | เครื่องมือดาวน์โหลด BlackLotus HTTP |
0C0E78BF97116E781DDE0E00A1CD0C29E68D623D | N / A | Win64/BlackLotus.B | เครื่องมือดาวน์โหลด BlackLotus HTTP |
6D8CEE28DA8BCF25A4D232FEB0810452ACADA11D | N / A | Win64/BlackLotus.B | เครื่องมือดาวน์โหลด BlackLotus HTTP |
74FF58FCE8F19083D16DF0109DC91D78C94342FA | N / A | Win64/BlackLotus.B | เครื่องมือดาวน์โหลด BlackLotus HTTP |
ACC74217CBE3F2E727A826B34BDE482DCAE15BE6 | N / A | Win64/BlackLotus.B | เครื่องมือดาวน์โหลด BlackLotus HTTP |
111C4998F3264617A7A9D9BF662D4B1577445B20 | N / A | Win64/BlackLotus.B | เครื่องมือดาวน์โหลด BlackLotus HTTP |
17FA047C1F979B180644906FE9265F21AF5B0509 | N / A | Win64/BlackLotus.C | ไดรเวอร์เคอร์เนล BlackLotus |
1F3799FED3CF43254FE30DCDFDB8DC02D82E662B | N / A | Win64/BlackLotus.C | ไดรเวอร์เคอร์เนล BlackLotus |
4B882748FAF2C6C360884C6812DD5BCBCE75EBFF | N / A | Win64/BlackLotus.C | ไดรเวอร์เคอร์เนล BlackLotus |
91F832F46E4C38ECC9335460D46F6F71352CFFED | N / A | Win64/BlackLotus.C | ไดรเวอร์เคอร์เนล BlackLotus |
994DC79255AEB662A672A1814280DE73D405617A | N / A | Win64/BlackLotus.C | ไดรเวอร์เคอร์เนล BlackLotus |
FFF4F28287677CAABC60C8AB36786C370226588D | N / A | Win64/BlackLotus.C | ไดรเวอร์เคอร์เนล BlackLotus |
71559C3E2F3950D4EE016F24CA54DA17D28B9D82 | N / A | EFI/BlackLotus.C | ที่เก็บข้อมูลการกำหนดค่าการบูต BlackLotus (BCD) ลดลงโดยโปรแกรมติดตั้ง BlackLotus |
D6D3F3151B188A9DA62DEB95EA1D1ABEFF257914 | N / A | EFI/BlackLotus.C | ที่เก็บข้อมูลการกำหนดค่าการบูต BlackLotus (BCD) ลดลงโดยโปรแกรมติดตั้ง BlackLotus |
547FAA2D64B85BF883955B723B07635C0A09326B | N / A | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 ตัวโหลดเพย์โหลดการเอารัดเอาเปรียบ |
D1BBAA3D408E944C70B3815471EED7FA9AEE6425 | N / A | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 ตัวโหลดเพย์โหลดการเอารัดเอาเปรียบ |
0E6DD7110C38464ECAA55EE4E2FA303ADA0EDEFB | N / A | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 เพย์โหลดการหาประโยชน์ – แอป MokInstaller EFI |
D6BB89D8734B3E49725362DAE9A868AE681E8BD6 | N / A | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 เพย์โหลดการหาประโยชน์ – แอป MokInstaller EFI |
164BB587109CFB20824303AD1609A65ABB36C3E9 | N / A | Win64/BlackLotus.D | ตัวติดตั้ง BlackLotus โมดูลบายพาส UAC |
ใบรับรอง
หมายเลขซีเรียล | 570B5D22B723B4A442CC6EEEBC2580E8 |
รหัสประจำตัว | C8E6BF8B6FDA161BBFA5470BCC262B1BDC92A359 |
หัวเรื่อง ช.น | เมื่อพวกเขาร้องไห้ CA |
เรื่อง อ | N / A |
เรื่อง L | N / A |
เรื่อง ส | N / A |
เรื่อง ค | N / A |
มีผลตั้งแต่ | 2022-08-13 17:48:44 |
ใช้ได้กับ | 2032-08-13 17:58:44 |
เครือข่าย
IP | โดเมน | ผู้ให้บริการโฮสติ้ง | เห็นครั้งแรก | รายละเอียด |
---|---|---|---|---|
N / A | xrepositoryx[.]ชื่อ | N / A | 2022-10-17 | แบล็คโลตัส ซี แอนด์ ซี https://xrepositoryx[.]name/network/API/hpb_gate.php |
N / A | myrepositoryx[.] คอม | N / A | 2022-10-16 | แบล็คโลตัส ซี แอนด์ ซี https://myrepositoryx[.]com/network/API/hpb_gate.php |
104.21.22[.]185 | erdjknfweklsgwfmewfgref[.]com | คลาวด์แฟลร์ อิงค์ | 2022-10-06 | แบล็คโลตัส ซี แอนด์ ซี https://erdjknfweklsgwfmewfgref[.]com/API/hpb_gate.php |
164.90.172[.]211 | แฮรี่ห่วยแตก[.]com | บริษัท ดิจิตอลโอเชี่ยน จำกัด | 2022-10-09 | แบล็คโลตัส ซี แอนด์ ซี https://harrysucksdick[.]com/API/hpb_gate.php |
185.145.245[.]123 | heikickn[.]คอม frassirishiproc[.]com |
เสี่ยเวสป | 2022-10-12 | แบล็คโลตัส ซี แอนด์ ซี https://heikickgn[.]com/API/hpb_gate.php https://frassirishiproc[.]com/API/hpb_gate.php |
185.150.24[.]114 | ที่เก็บของฉัน[.]ชื่อ | สกายลิงค์ ดาต้า เซ็นเตอร์ บีวี | 2022-10-14 | แบล็คโลตัส ซี แอนด์ ซี ที่เก็บของฉัน[.]ชื่อ/เครือข่าย/API/hpb_gate.php |
190.147.189[.]122 | egscorp[.]สุทธิ | Telmex โคลอมเบีย SA | 2022-08-24 | แบล็คโลตัส ซี แอนด์ ซี https://egscorp[.]net/API/hpb_gate.php |
เทคนิค MITER ATT&CK
ตารางนี้ถูกสร้างขึ้นโดยใช้ 12 รุ่น ของกรอบงาน MITER ATT&CK.
ชั้นเชิง | ID | Name | รายละเอียด |
---|---|---|---|
การพัฒนาทรัพยากร | T1587.002 | พัฒนาความสามารถ: ใบรับรองการลงนามรหัส | ตัวอย่าง BlackLotus บางตัวอย่างได้รับการลงนามด้วยใบรับรองที่ลงนามด้วยตนเอง |
T1588.005 | ได้รับความสามารถ: Exploits | BlackLotus ใช้ช่องโหว่ที่เป็นที่รู้จักทั่วไปเพื่อหลีกเลี่ยง UEFI Secure Boot | |
การกระทำ | T1203 | การแสวงหาผลประโยชน์สำหรับการดำเนินการของลูกค้า | โปรแกรมติดตั้ง BlackLotus สามารถใช้ประโยชน์จาก CVE-2022-21894 เพื่อดำเนินการรหัสโดยอำเภอใจบนระบบที่เปิดใช้งาน UEFI Secure Boot |
T1559 | การสื่อสารระหว่างกระบวนการ | ตัวดาวน์โหลด BlackLotus HTTP ใช้ส่วนที่มีชื่อเพื่อส่งคำสั่งไปยังคอมโพเนนต์โหมดเคอร์เนล | |
T1106 | API ดั้งเดิม | เครื่องมือดาวน์โหลด BlackLotus HTTP ใช้ Windows API ดั้งเดิมหลายตัวเพื่อให้โค้ดถูกเรียกใช้บนเครื่องที่ถูกบุกรุก | |
T1129 | โมดูลที่ใช้ร่วมกัน | โปรแกรมดาวน์โหลด BlackLotus HTTP สามารถโหลดและเรียกใช้งาน DLLs ที่ได้รับจากเซิร์ฟเวอร์ C&C | |
การติดตา | T1542.003 | บูตก่อน OS: Bootkit | ชุดบู๊ต BlackLotus ถูกปรับใช้บนพาร์ติชันระบบ EFI และดำเนินการระหว่างการบู๊ต |
การเลื่อนระดับสิทธิ์ | T1548.002 | กลไกการควบคุมระดับความสูงในทางที่ผิด: ข้ามการควบคุมบัญชีผู้ใช้ | โปรแกรมติดตั้ง BlackLotus พยายามเพิ่มระดับสิทธิ์โดยข้ามการควบคุมบัญชีผู้ใช้ |
T1134.002 | การจัดการโทเค็นการเข้าถึง: สร้างกระบวนการด้วยโทเค็น | เครื่องมือดาวน์โหลด BlackLotus HTTP สามารถใช้ WTSQueryUserToken และ CreateProcessAsUserW เพื่อดำเนินการเพย์โหลดที่ดาวน์โหลดมาภายในกระบวนการใหม่ด้วยสิทธิ์พิเศษของระบบภายในเครื่อง | |
การหลบหลีกการป้องกัน | T1622 | การหลีกเลี่ยงดีบักเกอร์ | ส่วนประกอบของ BlackLotus ใช้เทคนิคต่างๆ เพื่อตรวจสอบว่าดีบักเกอร์โหมดเคอร์เนลหรือโหมดผู้ใช้ทำงานบนเหยื่อหรือไม่ |
T1574 | ขั้นตอนการดำเนินการจี้ | BlackLotus bootkit ทำการจี้คอมโพเนนต์ต่าง ๆ ที่รวมอยู่ในขั้นตอนการบูต Windows รุ่นแรก ๆ (Windows Boot Manager, Windows OS loader, เคอร์เนล Windows และไดรเวอร์เฉพาะ) เพื่อหลีกเลี่ยงการตรวจจับโดยปิดใช้งานคุณลักษณะด้านความปลอดภัยต่าง ๆ ของ Windows (VBS, Windows Defender) และดำเนินการโหมดเคอร์เนลอย่างลับๆ และส่วนประกอบโหมดผู้ใช้ | |
T1562 | ทำให้เสียการป้องกัน | ส่วนประกอบของ BlackLotus สามารถปิดใช้งาน BitLocker และ Windows Defender เพื่อหลีกเลี่ยงการตรวจจับ | |
T1070.004 | การลบตัวบ่งชี้: การลบไฟล์ | โปรแกรมติดตั้ง BlackLotus จะลบตัวเองหลังจากปรับใช้ไฟล์ไปยังพาร์ติชันระบบ EFI สำเร็จ หลังจากการแสวงประโยชน์ CVE-2022-21894 ที่ประสบความสำเร็จ BlackLotus จะลบร่องรอยของการแสวงประโยชน์โดยการลบไฟล์ทั้งหมดที่อยู่ในสายการแสวงหาประโยชน์จาก EFI System Partition | |
T1070.009 | การลบตัวบ่งชี้: การคงอยู่ที่ชัดเจน | BlackLotus สามารถถอนการติดตั้งตัวเองได้โดยการลบไฟล์ bootkit ทั้งหมดออกจาก ESP และกู้คืน Windows Boot Manager ของเหยื่อเดิม | |
T1036.005 | การปลอมแปลง: จับคู่ชื่อหรือสถานที่ที่ถูกต้องตามกฎหมาย | BlackLotus พยายามซ่อนไฟล์ที่ติดตั้งบน ESP โดยใช้ชื่อไฟล์ที่ถูกต้อง เช่น grubx64.efi (หากเปิดใช้งาน UEFI Secure Boot บนเครื่องที่ถูกบุกรุก) หรือ bootmgfw.efi (หากปิดใช้งาน UEFI Secure Boot บนเครื่องที่ถูกบุกรุก) | |
T1112 | แก้ไขรีจิสทรี | โปรแกรมติดตั้ง BlackLotus แก้ไขรีจิสทรีของ Windows เพื่อปิดใช้งานคุณสมบัติความปลอดภัยของ Windows HVCI | |
T1027 | ไฟล์หรือข้อมูลที่ทำให้สับสน | สตริงที่ฝังเกือบทั้งหมดในคอมโพเนนต์ของ BlackLotus ได้รับการเข้ารหัสโดยใช้รหัสรวมที่กำหนดเองและถอดรหัสเมื่อจำเป็นเท่านั้น | |
T1027.007 | ไฟล์หรือข้อมูลที่สับสน: ความละเอียด API แบบไดนามิก | คอมโพเนนต์ของ BlackLotus ใช้ความละเอียด API แบบไดนามิกในขณะที่ใช้แฮชของชื่อ API แทนชื่อ | |
T1027.009 | ไฟล์หรือข้อมูลที่สับสน: เพย์โหลดที่ฝังไว้ | ไฟล์ฝังตัวเกือบทั้งหมดในส่วนประกอบของ BlackLotus ได้รับการเข้ารหัสโดยใช้ AES | |
T1542.003 | บูตก่อน OS: Bootkit | ชุดบู๊ต BlackLotus ถูกปรับใช้บนพาร์ติชั่นระบบ EFI และดำเนินการในช่วงเริ่มต้นของ OS ระยะเริ่มต้น ดังนั้นจึงสามารถควบคุมกระบวนการบู๊ต OS และหลบเลี่ยงการตรวจจับได้ | |
T1055.012 | การฉีดกระบวนการ: การฉีดไดนามิกลิงก์ไลบรารี | ตัวดาวน์โหลด BlackLotus HTTP สามารถใส่ DLL ลงในไฟล์ที่สร้างขึ้นใหม่ได้ svchost.exe กระบวนการโดยใช้กระบวนการกลวง | |
T1055.002 | การฉีดกระบวนการ: การฉีดปฏิบัติการแบบพกพา | ไดรเวอร์ BlackLotus ฉีดตัวดาวน์โหลด HTTP แบบพกพาที่สามารถเรียกใช้งานได้ในไฟล์ winlogon.exe กระบวนการ | |
T1014 | รูทคิท | ไดรเวอร์เคอร์เนล BlackLotus ปกป้องไฟล์ bootkit บน ESP จากการลบ | |
T1497.001 | Virtualization/Sandbox Evasion: การตรวจสอบระบบ | BlackLotus ใช้การตรวจสอบระบบต่างๆ รวมถึงการตรวจสอบค่ารีจิสทรีเฉพาะของแซนด์บ็อกซ์ เพื่อตรวจจับและหลีกเลี่ยงสภาพแวดล้อมเสมือนจริงและการวิเคราะห์ | |
การค้นพบ | T1622 | การหลีกเลี่ยงดีบักเกอร์ | ส่วนประกอบของ BlackLotus ใช้เทคนิคต่างๆ เพื่อตรวจสอบว่าดีบักเกอร์โหมดเคอร์เนลหรือโหมดผู้ใช้ทำงานบนเหยื่อหรือไม่ |
T1082 | การค้นพบข้อมูลระบบ | BlackLotus รวบรวมข้อมูลระบบ (IP, GPU, CPU, หน่วยความจำ, เวอร์ชันระบบปฏิบัติการ) บนโฮสต์ที่ถูกบุกรุก | |
T1614 | การค้นหาตำแหน่งระบบ | BlackLotus สามารถออกได้หากมีการระบุโลแคลของระบบอย่างใดอย่างหนึ่งต่อไปนี้บนโฮสต์ที่ถูกบุกรุก: ro-MD, ru-MD, ru-RU, สหราชอาณาจักร-UA, be-BY, hy-AM, kk-KZ. | |
T1016 | การค้นพบการกำหนดค่าเครือข่ายระบบ | เครื่องมือดาวน์โหลด BlackLotus HTTP สามารถกำหนด IP สาธารณะของโฮสต์ที่ถูกบุกรุกโดยการร้องขอ api.ipify[.] องค์กร บริการ | |
T1016.001 | การค้นพบการกำหนดค่าเครือข่ายระบบ: การค้นพบการเชื่อมต่ออินเทอร์เน็ต | ตัวดาวน์โหลด BlackLotus HTTP ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตโดยการสืบค้นของ Microsoft www.msftncsi[.]com/ncsi[.]txt | |
T1497.001 | Virtualization/Sandbox Evasion: การตรวจสอบระบบ | BlackLotus ใช้การตรวจสอบระบบต่างๆ รวมถึงการตรวจสอบค่ารีจิสทรีเฉพาะของแซนด์บ็อกซ์ เพื่อตรวจจับและหลีกเลี่ยงสภาพแวดล้อมเสมือนจริงและการวิเคราะห์ | |
ควบคุมและสั่งการ | T1071.001 | Application Layer Protocol: โปรโตคอลเว็บ | BlackLotus ใช้ HTTPS เพื่อสื่อสารกับ C&C |
T1132.001 | การเข้ารหัสข้อมูล: การเข้ารหัสมาตรฐาน | BlackLotus เข้ารหัสข้อมูลที่เข้ารหัสในการสื่อสาร C&C ด้วย URL-safe base64 | |
T1573.001 | ช่องที่เข้ารหัส: Symmetric Cryptography | BlackLotus ใช้ AES 256 บิตในโหมด CBC เพื่อถอดรหัสข้อความที่ได้รับจาก C&C | |
T1573.002 | ช่องที่เข้ารหัส: การเข้ารหัสแบบอสมมาตร | BlackLotus ใช้รหัสสาธารณะ RSA ในตัวเพื่อเข้ารหัสข้อความที่ส่งไปยัง C&C |
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตบล็อคเชน Web3 Metaverse ข่าวกรอง ขยายความรู้. เข้าถึงได้ที่นี่.
- ที่มา: https://www.welivesecurity.com/2023/03/01/blacklotus-uefi-bootkit-myth-confirmed/
- 000
- 1
- 10
- 11
- 2018
- 2020
- 2022
- 7
- 9
- a
- สามารถ
- เกี่ยวกับเรา
- ข้างบน
- การล่วงละเมิด
- เข้า
- สามารถเข้าถึงได้
- การเข้าถึง
- ลงชื่อเข้าใช้
- บรรลุ
- ประสบความสำเร็จ
- กระทำ
- การปฏิบัติ
- นักแสดง
- การกระทำ
- ที่เพิ่ม
- นอกจากนี้
- เพิ่มเติม
- ที่อยู่
- ที่อยู่
- ผู้ดูแลระบบ
- สูง
- ความได้เปรียบ
- โฆษณา
- ที่ปรึกษา
- AES
- น่าสงสาร
- หลังจาก
- กับ
- อาคา
- ทั้งหมด
- จัดสรร
- การจัดสรร
- การอนุญาต
- ช่วยให้
- แล้ว
- แม้ว่า
- เสมอ
- เอเอ็มดี
- ในหมู่
- การวิเคราะห์
- วิเคราะห์
- และ
- อะนิเมะ
- อื่น
- API
- APIs
- app
- เหมาะสม
- การใช้งาน
- การใช้งาน
- เหมาะสม
- APT
- เอกสารเก่า
- รอบ
- บทความ
- การประเมินผล
- ที่เกี่ยวข้อง
- ความพยายามในการ
- ความสนใจ
- สิงหาคม
- ผู้เขียน
- ใช้ได้
- สำรอง
- การสำรองข้อมูล
- ตาม
- ขั้นพื้นฐาน
- ข้อมูลพื้นฐานเกี่ยวกับ
- กระโจมไฟ
- เพราะ
- ก่อน
- การเริ่มต้น
- หลัง
- กำลัง
- เบลารุส
- เชื่อ
- ด้านล่าง
- ดีกว่า
- ระหว่าง
- BleepingComputer
- ปิดกั้น
- สีน้ำเงิน
- โบนัส
- บู๊ทส์
- บ็อตเน็ต
- ทำลาย
- หมดสภาพ
- ความก้าวหน้า
- นำมาซึ่ง
- การนำ
- แต้
- นำ
- กันชน
- สร้าง
- สร้าง
- built-in
- โทรศัพท์
- โทร
- โทร
- ความสามารถในการ
- สามารถ
- ซึ่ง
- ระมัดระวัง
- กรณี
- กรณี
- ไม่เป็นทางการ
- จับ
- ที่เกิดจาก
- สาเหตุที่
- การก่อให้เกิด
- ศูนย์
- ใบรับรอง
- โซ่
- โอกาส
- เปลี่ยนแปลง
- ช่อง
- การตรวจสอบ
- การตรวจสอบ
- ตัวเลข
- การเรียกร้อง
- ชัดเจน
- ไคลเอนต์
- ปิดหน้านี้
- ปิด
- ใกล้ชิด
- ปิด
- รหัส
- เพื่อนร่วมงาน
- โคลอมเบีย
- การผสมผสาน
- รวม
- อย่างไร
- แสดงความคิดเห็น
- ร่วมกัน
- อย่างธรรมดา
- สื่อสาร
- การติดต่อสื่อสาร
- การสื่อสาร
- เมื่อเทียบกับ
- การเปรียบเทียบ
- ความเข้ากันได้
- อย่างสมบูรณ์
- ซับซ้อน
- ความซับซ้อน
- ส่วนประกอบ
- ส่วนประกอบ
- การประนีประนอม
- ที่ถูกบุกรุก
- แนวคิด
- เกี่ยวข้อง
- ความมั่นใจ
- องค์ประกอบ
- ยืนยัน
- การเชื่อมต่อ
- พิจารณา
- ผู้บริโภค
- บรรจุ
- มี
- เนื้อหา
- ต่อ
- อย่างต่อเนื่อง
- อย่างต่อเนื่อง
- ควบคุม
- การควบคุม
- ความร่วมมือ
- แกน
- ตรงกัน
- ได้
- คอร์ส
- ครอบคลุม
- สร้าง
- ที่สร้างขึ้น
- สร้าง
- การสร้าง
- หนังสือรับรอง
- วิกฤติ
- ปัจจุบัน
- ขณะนี้
- ประเพณี
- Dangerous
- ข้อมูล
- ศูนย์ข้อมูล
- ฐานข้อมูล
- วันที่
- ปิดการใช้งาน
- การซื้อขาย
- ความตาย
- ถอดรหัส
- ลึก
- ลึก
- ค่าเริ่มต้น
- กำหนด
- อย่างแน่นอน
- ขึ้นอยู่กับ
- ปรับใช้
- นำไปใช้
- ปรับใช้
- การใช้งาน
- Deploys
- ที่ได้มา
- บรรยาย
- อธิบาย
- ที่ต้องการ
- แม้จะมี
- ปลายทาง
- รายละเอียด
- รายละเอียด
- รายละเอียด
- ตรวจพบ
- การตรวจพบ
- กำหนด
- การกำหนด
- พัฒนา
- ผู้พัฒนา
- นักพัฒนา
- เครื่อง
- อุปกรณ์
- DID
- ความแตกต่าง
- ต่าง
- DIG
- โดยตรง
- โดยตรง
- ไดเรกทอรี
- พิการ
- การเปิดเผย
- ค้นพบ
- ค้นพบ
- การค้นพบ
- กระจาย
- การกระจาย
- การกระจาย
- การทำ
- โดเมน
- Dont
- ดาวน์โหลด
- ขับรถ
- คนขับรถ
- ไดรเวอร์
- หล่น
- ปรับตัวลดลง
- ลดลง
- ที่ซ้ำกัน
- ในระหว่าง
- พลวัต
- แต่ละ
- ก่อน
- ง่ายดาย
- อย่างง่ายดาย
- ระบบนิเวศ
- ฉบับ
- มีประสิทธิภาพ
- ความพยายาม
- องค์ประกอบ
- ยกระดับ
- สูง
- ที่ฝัง
- พนักงาน
- เปิดการใช้งาน
- ที่มีการเข้ารหัส
- การเข้ารหัสลับ
- ชั้นเยี่ยม
- พอ
- ลงทะเบียนแล้ว
- ทำให้มั่นใจ
- การเข้า
- สิ่งแวดล้อม
- สภาพแวดล้อม
- จำเป็น
- การสร้าง
- ฯลฯ
- ประเมิน
- แม้
- เหตุการณ์
- เหตุการณ์
- ทุกๆ
- หลักฐาน
- ตัวอย่าง
- ตัวอย่าง
- โดยเฉพาะ
- ดำเนินการ
- รัน
- การดำเนินงาน
- การปฏิบัติ
- ที่มีอยู่
- ทางออก
- อธิบาย
- คำอธิบาย
- เอาเปรียบ
- การแสวงหาผลประโยชน์
- ใช้ประโยชน์
- การหาประโยชน์
- สำรวจ
- นามสกุล
- ภายนอก
- เป็นไปได้
- ลักษณะ
- ที่โดดเด่น
- คุณสมบัติ
- มนุษย์
- สองสาม
- สาขา
- รูป
- เนื้อไม่มีมัน
- ไฟล์
- กรอง
- สุดท้าย
- หา
- หา
- ชื่อจริง
- การแก้ไข
- แฟลช
- ไหล
- ปฏิบัติตาม
- ดังต่อไปนี้
- ดังต่อไปนี้
- ตลอดไป
- ฟอร์ม
- รูป
- อดีต
- ฟอรั่ม
- ข้างหน้า
- พบ
- ราคาเริ่มต้นที่
- เต็ม
- อย่างเต็มที่
- ฟังก์ชัน
- การทำงาน
- ฟังก์ชั่น
- ฟังก์ชั่น
- ต่อไป
- เกม
- เกตเวย์
- สร้าง
- ได้รับ
- กำหนด
- จะช่วยให้
- เป้าหมาย
- GPU
- สีเขียว
- กลุ่ม
- ยาม
- แฮ็ค
- จัดการ
- มือ
- เกิดขึ้น
- ที่เกิดขึ้น
- ฮาร์ดแวร์
- มี
- ส่วนหัว
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- ซ่อน
- จุดสูง
- ฮิต
- ตะขอ
- เจ้าภาพ
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- อย่างไรก็ตาม
- HTTPS
- ร้อย
- ระบุ
- ระบุ
- แยกแยะ
- ภาพ
- ภาพ
- ทันที
- ส่งผลกระทบ
- การดำเนินการ
- การดำเนินการ
- การนำเข้า
- เป็นไปไม่ได้
- in
- รวม
- รวมทั้ง
- เป็นรายบุคคล
- ข้อมูล
- ให้ข้อมูล
- แรกเริ่ม
- ติดตั้ง
- การติดตั้ง
- แทน
- แบบบูรณาการ
- ความสมบูรณ์
- อินเทล
- Intelligence
- ปฏิสัมพันธ์
- อินเทอร์เน็ต
- การเชื่อมต่ออินเทอร์เน็ต
- บทนำ
- การสอบสวน
- ร่วมมือ
- IP
- ปัญหา
- IT
- ตัวเอง
- มกราคม
- การสัมภาษณ์
- กระโดด
- Kaspersky
- คาซัคสถาน
- การเก็บรักษา
- คีย์
- กุญแจ
- ที่รู้จักกัน
- ชื่อสกุล
- ปีที่แล้ว
- ปลาย
- ล่าสุด
- เปิดตัว
- ชั้น
- นำ
- นำไปสู่
- การออกจาก
- เลอโนโว
- Li
- ห้องสมุด
- น่าจะ
- LIMIT
- ลินุกซ์
- รายการ
- จดทะเบียน
- รายการ
- น้อย
- โหลด
- loader
- โหลด
- โหลด
- ในประเทศ
- ที่ตั้งอยู่
- ที่ตั้ง
- นาน
- เวลานาน
- ดู
- สูญเสีย
- ต่ำ
- Mac
- เครื่อง
- เครื่อง
- ทำ
- มายากล
- หลัก
- สำคัญ
- ทำ
- ทำให้
- การทำ
- มัลแวร์
- การจัดการ
- ผู้จัดการ
- การจัดการ
- ด้วยมือ
- หลาย
- การจับคู่
- เรื่อง
- ความกว้างสูงสุด
- ความหมาย
- กลไก
- หน่วยความจำ
- กล่าวถึง
- แค่
- ข่าวสาร
- ข้อความ
- วิธี
- ไมโครซอฟท์
- อาจ
- ขั้นต่ำ
- นาที
- การบรรเทา
- โหมด
- การแก้ไข
- แก้ไข
- โมดูล
- ขณะ
- การตรวจสอบ
- จอภาพ
- เดือน
- ข้อมูลเพิ่มเติม
- มากที่สุด
- แรงจูงใจ
- ย้าย
- หลาย
- ชื่อ
- ที่มีชื่อ
- ชื่อ
- พื้นเมือง
- จำเป็น
- จำเป็นต้อง
- ไม่มีความจำเป็น
- ความต้องการ
- เครือข่าย
- ใหม่
- ถัดไป
- ปกติ
- จำนวน
- ตัวเลข
- วัตถุ
- ได้รับ
- ตุลาคม
- เสนอ
- ออฟไลน์
- เก่า
- ONE
- ออนไลน์
- เปิด
- ทำงาน
- การดำเนินงาน
- การดำเนินการ
- ผู้ประกอบการ
- ตัวเลือกเสริม (Option)
- Options
- ใบสั่ง
- เป็นต้นฉบับ
- OS
- อื่นๆ
- มิฉะนั้น
- เอาชนะ
- ภาพรวม
- ของตนเอง
- เป็นเจ้าของ
- เจ้าของ
- พารามิเตอร์
- พารามิเตอร์
- ส่วนหนึ่ง
- ส่วน
- ปะ
- แพทช์
- ปะ
- เส้นทาง
- แบบแผน
- รูปแบบ
- รูปแบบไฟล์ PDF
- สมบูรณ์
- ดำเนินการ
- ที่มีประสิทธิภาพ
- วิริยะ
- กายภาพ
- ชิ้น
- เวที
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- PoC
- จุด
- จุด
- นโยบาย
- เป็นไปได้
- โพสต์
- โพสต์
- ที่มีศักยภาพ
- ที่มีประสิทธิภาพ
- การมี
- นำเสนอ
- ป้องกัน
- ก่อน
- ก่อนหน้านี้
- หลักการ
- ส่วนตัว
- คีย์ส่วนตัว
- สิทธิ์
- ปัญหา
- ปัญหาที่เกิดขึ้น
- เงินที่ได้
- กระบวนการ
- แปรรูปแล้ว
- กระบวนการ
- ผลิตภัณฑ์
- โครงการ
- โดดเด่น
- พิสูจน์
- พิสูจน์แนวคิด
- อย่างถูกต้อง
- ป้องกัน
- การป้องกัน
- ปกป้อง
- การป้องกัน
- โปรโตคอล
- ให้
- การให้
- สาธารณะ
- คีย์สาธารณะ
- สิ่งพิมพ์
- สาธารณชน
- การตีพิมพ์
- วัตถุประสงค์
- ยก
- แรม
- สุ่ม
- อย่างรวดเร็ว
- ถึง
- อ่าน
- ผู้อ่าน
- การอ่าน
- จริง
- ความจริง
- ตระหนักถึง
- เหตุผล
- เหมาะสม
- ที่ได้รับ
- เมื่อเร็ว ๆ นี้
- กู้
- การฟื้นตัว
- การอ้างอิง
- เรียกว่า
- ไม่คำนึงถึง
- ลงทะเบียน
- รีจิสทรี
- ปกติ
- ที่เกี่ยวข้อง
- ยังคง
- การกำจัด
- เอาออก
- ลบออก
- ลบ
- แทนที่
- แทนที่
- รายงาน
- กรุ
- ขอ
- จำเป็นต้องใช้
- การวิจัย
- นักวิจัย
- นักวิจัย
- ความละเอียด
- ได้รับการแก้ไข
- ทรัพยากร
- คำตอบ
- รับผิดชอบ
- REST
- การฟื้นฟู
- ผล
- กลับ
- ย้อนกลับ
- บทบาท
- ราก
- อาร์เอส
- ประชุมสภา
- วิ่ง
- วิ่ง
- รัสเซีย
- ปลอดภัยที่สุด
- เดียวกัน
- Sandbox
- การหลอกลวง
- การสแกน
- โครงการ
- จอภาพ
- ค้นหา
- ที่สอง
- วินาที
- Section
- ส่วน
- ปลอดภัย
- ความปลอดภัย
- ดูเหมือนว่า
- การส่ง
- ความรู้สึก
- อนุกรม
- ชุด
- บริการ
- บริการ
- เซสชั่น
- ชุด
- ชุดอุปกรณ์
- การตั้งค่า
- หลาย
- Share
- สั้น
- น่า
- แสดง
- แสดงให้เห็นว่า
- ลงชื่อ
- สัญญาณ
- ลงนาม
- การลงชื่อ
- สัญญาณ
- คล้ายคลึงกัน
- ง่าย
- ที่เรียบง่าย
- ง่ายดาย
- ตั้งแต่
- หก
- ขนาด
- So
- จนถึงตอนนี้
- อ่อน
- ซอฟต์แวร์
- ขาย
- ทางออก
- บาง
- บางคน
- บางสิ่งบางอย่าง
- แหล่งที่มา
- ช่องว่าง
- โดยเฉพาะ
- สเปค
- ที่ระบุไว้
- การแพร่กระจาย
- ระยะ
- ขั้นตอน
- สแตนด์อโลน
- มาตรฐาน
- ยืน
- เริ่มต้น
- ข้อความที่เริ่ม
- เริ่มต้น
- การเริ่มต้น
- Status
- เข้าพัก
- ขั้นตอน
- ขั้นตอน
- ยังคง
- หยุด
- จัดเก็บ
- เก็บไว้
- ซื่อตรง
- โครงสร้าง
- ส่ง
- ภายหลัง
- ที่ประสบความสำเร็จ
- ประสบความสำเร็จ
- อย่างเช่น
- ชี้ให้เห็นถึง
- สรุป
- สรุป
- สนับสนุน
- ที่สนับสนุน
- ที่สนับสนุน
- รองรับ
- ควร
- ที่ถูกระงับ
- เครื่องหมาย
- วากยสัมพันธ์
- ระบบ
- ระบบ
- ตาราง
- เอา
- ใช้เวลา
- การ
- การพูดคุย
- เป้า
- งาน
- ทีม
- วิชาการ
- เทคนิค
- ชั่วคราว
- พื้นที่
- ข้อมูลพื้นฐานเกี่ยวกับ
- ข้อมูล
- ของพวกเขา
- ดังนั้น
- สิ่ง
- สิ่ง
- พัน
- การคุกคาม
- ตัวแสดงภัยคุกคาม
- ภัยคุกคาม
- สาม
- ตลอด
- เวลา
- ไทม์ไลน์
- ชนิด
- ไปยัง
- ในวันนี้
- ร่วมกัน
- โทเค็น
- เกินไป
- เครื่องมือ
- หัวข้อ
- ทริกเกอร์
- ที่เชื่อถือ
- กลับ
- หัน
- การหมุน
- ตามแบบฉบับ
- ประเทศยูเครน
- ภายใต้
- ความเข้าใจ
- ทันเหตุการณ์
- บันทึก
- ให้กับคุณ
- การปรับปรุง
- us
- การใช้
- ใช้
- ผู้ใช้งาน
- มักจะ
- ประโยชน์
- ความคุ้มค่า
- ความคุ้มค่า
- ต่างๆ
- การตรวจสอบ
- การตรวจสอบแล้ว
- ตรวจสอบ
- รุ่น
- ผ่านทาง
- เหยื่อ
- ผู้ที่ตกเป็นเหยื่อ
- การละเมิด
- การละเมิด
- ความชัดเจน
- ปริมาณ
- ไดรฟ์
- ช่องโหว่
- ความอ่อนแอ
- อ่อนแอ
- ที่รอ
- วิธี
- เว็บ
- โด่งดัง
- อะไร
- ความหมายของ
- ว่า
- ที่
- ในขณะที่
- ทั้งหมด
- กว้าง
- วิกิพีเดีย
- ป่า
- จะ
- หน้าต่าง
- หน้าต่าง 11
- ภายใน
- ไม่มี
- งาน
- โรงงาน
- แย่ที่สุด
- จะ
- การเขียน
- เขียน
- ปี
- ปี
- คุณ
- ของคุณ
- ลมทะเล
- เป็นศูนย์