Categories: Thủ thuật IT

I.T. in Legal

Published by

Cho một số người, Thứ Sáu ngày 13 chỉ là một ngày bình thường, nhưng đối với những người khác…

TL;DR: Chỉ cần kịch bản?

Vào Thứ Sáu, ngày 13 tháng 1 năm 2023, Microsoft đã cập nhật dịch vụ Bảo mật Windows và Microsoft Defender cho Endpoint, dẫn đến một loạt các phát hiện tích cực sai cho quy tắc Giảm diện tích tấn công (ASR) “Chặn cuộc gọi API Win32 từ macro Office”. Cập nhật này đã làm cho nhiều tệp shortcut của Windows (.lnk) phù hợp với mẫu phát hiện, dẫn đến việc xóa tệp này một cách vĩnh viễn. Điều đặc biệt là có một Menu Start gần như trống trơn và các phím tắt khác mất đi ngoài vị trí đó bao gồm nhưng không giới hạn:

  • C:Users%username%AppDataRoamingMicrosoftWindowsRecent
  • C:Users%username%AppDataRoamingMicrosoftOfficeRecent
  • C:Users%username%AppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedTaskBar
  • C:Users%username%AppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedImplicitAppShortcuts

Bạn có thể đọc tất cả thông tin về nó tại đây #ASRmageddon tại Trung tâm quản trị Microsoft 365 (https://admin.microsoft.com/Adminportal/Home?#/servicehealth/:/alerts/MO497128) và theo dõi câu chuyện trên Twitter.

Microsoft đã đăng một kịch bản để tạo lại các phím tắt trên GitHub ở đây:

(MDE-PowerBI-Templates/AddShortcutsV1.ps1 at master · microsoft/MDE-PowerBI-Templates · GitHub) [https://github.com/microsoft/MDE-PowerBI-Templates/blob/master/ASR_scripts/AddShortcutsV1.ps1]

Nhưng nó chỉ tạo lại một số phím tắt và nó không đầy đủ 100%. Trên thực tế, tôi nghĩ mọi giải pháp trên mạng đều tuân theo cùng quy trình cơ bản:

Mặc dù tôi thích những chiến lược trên nói chung – thật công bằng, kết quả ròng của chúng WAY tốt hơn không có điều gì cả! – nhưng không có một giải pháp nào là hoàn chỉnh và trong một số trường hợp, các phím tắt được tạo lại tại thư mục gốc của chương trình (C:ProgramDataMicrosoftWindowsStart MenuPrograms) thay vì nơi chúng thuộc về (ví dụ: C:ProgramDataMicrosoftWindowsStart MenuPrograms7-Zip). Mặc dù không quan trọng lắm nhưng tôi có một số thư mục dưới Start MenuPrograms trống rỗng ngay cả sau khi chạy các giải pháp này, điều này đồng nghĩa với việc tôi và nhóm của tôi phải điền vào những khoảng trống đó.

Nếu bạn có một giải pháp sao lưu nào đó, bạn có thể dễ dàng tạo một cái gì đó từ đó. Trong môi trường mới của tôi, chúng tôi không có điều đó vì hầu hết mọi thứ đều ở trên đám mây và chỉ lưu trữ một ít trên máy cục bộ. Đó là lý do tại sao chúng tôi cần một giải pháp thay thế cho Druva.

Trên trang cộng đồng Kỹ thuật của Microsoft, họ đã đăng một trang có tiêu đề “Khôi phục từ việc xóa phím tắt quy tắc Giảm diện tích tấn công” mà, để thành thật, không hữu ích lắm, ngay cả khi có liên kết đến kịch bản của họ trên GitHub. Tuy nhiên, Matt Rouse đã đưa ra một ý kiến ​​hay về việc tận dụng Dịch vụ VSS (Volume Shadow Copy Service) để khôi phục các tệp bị xóa! Tôi ngay lập tức nhớ lại công việc mà tôi đã làm với các máy ảo dựa trên Citrix chạy trên VMware, nơi việc thao tác VSS là phổ biến! Tôi nhanh chóng thử nghiệm điều này trên máy của mình, sau đó chạy nó trên toàn bộ nhóm của mình, và nhận được phản hồi rằng nó rất hứa hẹn. Miễn là có một bản sao VSS, nó chắc chắn là giải pháp tốt nhất mà chúng tôi đã thấy vì nó cho phép khôi phục hoàn toàn Menu Start!

Chúng tôi đã đóng gói kịch bản khôi phục dựa trên VSS của chúng tôi thành một ứng dụng để chúng tôi có thể dễ dàng đo lường thời gian thực hiện, thành công, v.v. và triển khai nó trên hơn 6k thiết bị của chúng tôi. Sau khi để nó chế biến một lúc, tôi kiểm tra một số máy ngẫu nhiên, bao gồm cả những người dùng đã từng gọi để phàn nàn về Menu Start trống rỗng, và tôi rất vui khi nhìn thấy nó hoạt động tốt!

Một lần nữa, cảm ơn Matt Rouse.

Xác nhận bạn có một bản sao vss có thể tìm dữ liệu từ đó

Lưu ý: Tôi KHÔNG phải là một chuyên gia về Volume Shadow Copy Service. Đây chỉ là học và nghiên cứu “đúng lúc” để giải quyết một vấn đề điên rồ mà bất ngờ khuấy đảo mọi người toàn cầu trong một đêm..

Điều này nên hoạt động cho hầu hết mọi người vì Microsoft không khuyến nghị vô hiệu hóa VSS. Vì vậy, giả sử nó có chức năng, hãy khởi chạy lệnh gõ dấu lệnh được nâng cao để thực hiện lệnh sau để xem các bản sao shadow có sẵn:

vssadmin list shadows

Nếu bạn có nhiều ổ đĩa, thêm /for=%SystemDrive% hoặc /for=C: hoặc bất kỳ ổ đĩa nào chứa thư mục ProgramData của bạn:

vssadmin list shadows /for=%SystemDrive%

Tôi thích phương pháp này vì nó làm cho mục “Thời gian tạo” (trong PowerShell, đó là ngày cài đặt) dễ đọc.

Bạn có thể làm tương tự từ phiên PowerShell được nâng cao bằng cách chạy một trong hai lệnh sau:

Get-CIMInstance -Class Win32_ShadowCopy
Get-WMIObject -Class Win32_ShadowCopy

Tìm một đối tượng Thiết bị có InstallDate từ trước phiên bản cập nhật trí tuệ bảo mật (1.381.2140.0), mà theo tôi biết là 9 giờ sáng UTC vào ngày 13 tháng 1 năm 2023.

Trong trường hợp của tôi, tôi sẽ sử dụng DeviceObject: ?GLOBALROOTDeviceHarddiskVolumeShadowCopy1 vì InstallDate khôi phục chỉ xảy ra trước khoảng thời gian khi bản cập nhật được phát hành.

Bây giờ, chúng ta cần “gắn kết” Shadow Copy, và để làm điều đó, chúng ta sẽ tạo một liên kết tượng trưng (hay còn gọi là symlink) để truy cập vào nó thông qua thư mục trông giống như một thư mục nằm trong gốc ổ C. Vì vậy, từ cùng một dấu lệnh gõ lệnh được nâng cao đó, hãy chạy lệnh này:

mklink /d c:ShadowCopy1 ?GLOBALROOTDeviceHarddiskVolumeShadowCopy1

Lưu ý: Hãy đảm bảo bạn thay thế đường dẫn đến DeviceObject của bạn! nó có thể là Copy2, hoặc Copy3 hoặc CopyN

Ngoài ra, có thể tạo ra một symlink trong PowerShell nhưng tôi gặp khó khăn trong việc sắp xếp nó và với hơn 6k máy/người dùng cần phải giải quyết, tôi đi theo con đường dễ dàng nhất. Nếu ai đó có thể chỉ cho tôi cách làm đúng, tôi rất biết ơn!

Bây giờ khi tôi duyệt đến C:ShadowCopy1, tôi sẽ thực sự xem nội dung của Shadow Copy trong ?GLOBALROOTDeviceHarddiskVolumeShadowCopy1.

Từ đó, chỉ cần sao chép từ bản sao VSS “đã gắn kết” sang %ProgramData%MicrosoftWindowsStart MenuPrograms. Sơ là tôi muốn sao chép theo kiểu gương lại:

robocopy /E /MIR "C:ShadowCopy1ProgramDataMicrosoftWindowsStart MenuPrograms" "C:ProgramDataMicrosoftWindowsStart MenuPrograms"

Để khắc phục bất kỳ vấn đề nào có thể xảy ra với các sửa chữa thủ công. Nhưng đồng nghiệp của tôi thuyết phục tôi về khả năng rằng ai đó đã cài đặt một cái gì đó giữa bản sao VSS cuối cùng và ngày thực hiện kịch bản khôi phục, vì vậy tôi chọn biện pháp cẩn trọng và quyết định không sao chép gương lại.

Kịch bản của chúng tôi cuối cùng dài hơn so với những gì được hiển thị ở dưới để giải quyết các tình huống mà không có bản sao VSS hợp lý, nhưng đây là một điểm khởi đầu tốt để giúp bạn tìm đúng hướng.

Cảnh báo thông báo và các Điều khoản từ chuẩn:

  • Sử dụng theo nguyện vọng của bạn
  • Tôi không chịu trách nhiệm nếu điều này làm hỏng máy tính hoặc môi trường của bạn
  • Kết quả có thể khác nhau (YMMV)
  • V.v.

Mọi người đã ký? Có? Thật tốt, tiến lên!

Một thứ Sáu đáng nhớ nhỉ [Thứ Sáu ngày 13], và hy vọng đó là vấn đề kỹ thuật điên rồ cuối cùng cho năm nay.

Cảm ơn vì đã đồng hành cùng tôi trong quá trình này. Tôi hy vọng điều này hữu ích và nếu bạn có bất kỳ câu hỏi nào khác, hãy cho tôi biết trong phần bình luận.

Chúc bạn may mắn!

This post was last modified on Tháng Năm 8, 2024 6:59 sáng

Đinh Thái Hoàng

Đinh Thái Hoàng - tác giả của Laptrinhc.edu.vn, chuyên sâu trong lĩnh vực lập trình. Trang web chia sẻ kiến thức, hướng dẫn và tin tức về lập trình, giúp bạn khám phá thế giới mã nguồn và nâng cao kỹ năng coder.

Published by

Bài đăng mới nhất

Tổng hợp app bán hàng online uy tín nhất tại Việt Nam

Tổng hợp app bán hàng online uy tín nhất tại Việt Nam

Khám phá và tận dụng tiềm năng kinh doanh trên nhiều nền tảng là điều…

5 ngày ago

HỌC THIẾT KẾ MOBILE APP Ở ĐÂU UY TÍN?

Mobile App đang trở thành một phần thiết yếu trong cuộc sống hiện đại. Với…

5 ngày ago

Cách phá mật khẩu Windows bằng DLC Boot

Bạn đã bao giờ quên mật khẩu máy tính và không biết phải làm sao?…

5 ngày ago

Cách kiểm tra và cài đặt Driver cho Windows 10 chuẩn nhất

Driver chính là phần mềm giúp hệ điều hành nhận diện phần cứng trên máy…

5 ngày ago

Top 10 công cụ viết phần mềm tốt nhất

Hiện nay, lập trình viên không cần phải thực hiện toàn bộ công việc lập…

5 ngày ago

Những Công Ty Lập Trình Ứng Dụng Cho IOS Hàng Đầu Việt Nam

Lập trình ứng dụng cho iOS không chỉ đơn thuần là một quyết định khó…

5 ngày ago