Можно ли исправить MBR без взаимодействия с пользователем?

278
amenadiel

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

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

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

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

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

0
Клиенты Windows, Linux или смешанные? Поскольку MBR выгружается, они загружаются в Windows или ОС? cybernard 6 лет назад 0
насколько мне известно, это Windows-машины. Похоже, вымогатель не распространяется на машины Linux. Я не понимаю вторую часть вашего вопроса. Вы спрашиваете, могут ли (после ручного восстановления MBR) снова загружаться в Windows? amenadiel 6 лет назад 0
Нет, я спрашиваю прямо сейчас, там в нарушенном состоянии MBR они загружаются в Windows? cybernard 6 лет назад 0
они не загружаются вообще. Из того, что я читаю, загрузочные флешки не имеют доступа к выполнению команд как sudo ... amenadiel 6 лет назад 0
Загрузка PXE (произносится как pixie) - это, вероятно, самая скрытая вещь, которую вы получите. cybernard 6 лет назад 0
"загрузочные флешки не могут получить sudo" это ЛОЖЬ. Я только что сделал это сегодня. Фактически я смонтировал раздел NTFS из linux и очистил все пароли Windows. cybernard 6 лет назад 0
Похоже, они нашли способ сделать что-то похожее прошлой ночью amenadiel 6 лет назад 0
Кстати, предположение о sudo возникло из руководства по созданию собственного liveCD, в котором говорилось: это не сработает, если вы попытаетесь добавить команды, которым требуется sudo, перед запуском X. Поэтому я не пробовал. Возможно, любой live cd iso можно было бы вручную изменить для запуска такой команды, добавив ее в `/ etc / rc.local`. Я не мог попробовать это, потому что другой консультант придумал рабочее решение, использующее загрузочную флешку. Я не знаю, какую процедуру он использовал amenadiel 6 лет назад 0

2 ответа на вопрос

1
cybernard

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

Настройте загрузку 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.

enter image description here

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

Мне понравилось ваше предложенное решение, и я попробую это у себя дома. Однако мне сказали, что у этой компании нет доступной интранета. Я не знаю, какая часть сети зависела от слоя Windows-машин, которые также были заражены. Зачем? бьет меня amenadiel 6 лет назад 0
@amenadiel Если у всех компьютеров нет статического IP, где-то есть DHCP-сервер. Даже если нет, вы можете легко загрузить ISO с USB-накопителя, который содержит DHCP-сервер. cybernard 6 лет назад 0
1
jdwolf

Да, можно запускать 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

Это предполагает, что этот вирус также не попал в Windows BCD. Но он не делает никаких предположений об устройстве, загрузочном коде, коде активного раздела. Он обнаруживает и отправляется прямо в менеджер загрузки Windows. jdwolf 6 лет назад 0
Спасибо за ваш ответ. К сожалению, интранет этой компании был основан на Windows-серверах, которые также были заражены. Я предложил вручную починить несколько из них, чтобы заставить некоторые части интрасети работать, но в промежутке между прочим другой консультант сделал загрузочную флешку, которая вроде работала, как просили. Я согласен, такую ​​загрузочную флешку можно было бы использовать, чтобы невольно заполнить машину нулями amenadiel 6 лет назад 0
@amenadiel Больше сил для исправления этого беспорядка. Но что я не понимаю, так это если все компьютеры заражены вредоносным ПО, почему они просто не перекомпоновывают все новые серверы? jdwolf 6 лет назад 0
Я не уверен, что серверы заражены, поскольку внешним консультантам так много говорят. Возможно, внутренняя сеть была временно отключена, чтобы предотвратить дальнейшее распространение вредоносного ПО. Нам только сказали, что интранет также не работает и, следовательно, нет PXE. Но теперь, когда вы упомянули об этом, я подумаю, что если есть какие-либо серверы Windows, они должны быть повторно подготовлены. Вирус инфекции, однако, исходил от сотрудника отдела продаж, который работал с приложением электронной почты. Опять же, мы не уверены в этом факте и, вероятно, не будем проинформированы amenadiel 6 лет назад 0