У меня есть случай, когда вирус проник через интранет и переписал MBR 12.000 машин.

Теперь я знаю, как вручную восстановить MBR, но меня просят предоставить решение для автоматизации этого процесса путем создания загрузочного USB-носителя, который будет восстанавливать MBR без вмешательства пользователя.

Таким образом, мы могли бы распространять несколько копий этого загрузочного образа и ускорить восстановление такого количества машин.

Насколько мне известно, все эти машины имеют свои загрузочные разделы в /dev /sda1, но сектора для восстановления должны быть идентифицированы с использованием шаблона, который является следом вируса.

Итак, возможно ли вообще выполнить, скажем, dd при загрузке, без какого-либо взаимодействия с пользователем?

2 ответа2

1

Если они вообще не загружаются:

Настройте загрузку PXE для загрузки пользовательского ISO с linux и MBR на нем. Сделайте так, чтобы он автоматически переписывал MBR и перезагружался.

Вот дистрибутив 11/16 МБ, в который вы можете добавить свой MBR и dd.

http://distro.ibiblio.org/tinycorelinux/downloads.html

Вы захотите, чтобы это помогло настроить загрузочную ОС Linux https://www.tecmint.com/auto-execute-linux-scripts-during-reboot-or-startup/

Windows PE ISO также является хорошим вариантом.

Добавьте запись на сервер DHCP, чтобы помочь в этом процессе. Некоторые компьютеры к этому как автоматическое условие отказа при сбое. Тогда никакого вмешательства пользователя не потребуется.

Остальным кто-то должен нажать F11 или т.д. Для загрузки из сети. Порядок загрузки в BIOS также может быть изменен для автоматического сбоя при загрузке PXE.

Linux

редактировать dhcpd.conf

vi /etc/dhcp/dhcpd.conf

и добавить следующие записи:

#option 66
option tftp-server-name "w.x.y.z";

#option 67
option bootfile-name "test.cfg";

Затем перезапустить DHCP-сервер.

sudo service isc-dhcp-server restart

Также эта ссылка для более подробных инструкций:https://www.thegeekstuff.com/2010/07/tftpboot-server

1

Да, возможно запускать dd без взаимодействий, и вы можете использовать сетевую загрузку Linux со службами systemd, но это также очень плохая идея - слепо выделять столько серверов.

Вот лучшая идея - использовать полезную нагрузку PXE для цепной загрузки загрузчика Windows, и как только ваши серверы будут загружены, вы можете отправить им всю команду для обновления их MBR из Windows с помощью команды bootsect .

Вы можете загрузить GRUB по сети и настроить его для загрузки ОС. https://www.gnu.org/software/grub/manual/grub/grub.html#Network

С вашего сервера Linux, который будет использоваться для обслуживания PXE (я предлагаю просто создать для него новую виртуальную машину):

Настройте DHCP и TFTP для PXE.

grub-mknetdir --net-directory=/srv/tftp --subdir=/boot/grub -d /usr/lib/grub/i386-pc

nano /srv/tftp/boot/grub/grub.cfg и добавьте:

search -s root -f /Boot/BCD
ntldr /bootmgr
boot

Системы должны загрузить grub, затем найти разделы, содержащие BCD ntldr, и затем загрузить bootmgr.

После того, как ваши серверы будут готовы, вы можете прочитать о том, как исправить MBR, здесь:https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/bootsect-command-line-options, вероятно, просто bootsect /nt60 SYS

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .