Мастер-ключ ко всем компьютерам. Создаем мультизагрузочную флешку с набором полезностей

Мастер-ключ ко всем компьютерам. Создаем мультизагрузочную флешку с набором полезностей

Эксплойт

Мультизагрузочный накопитель помогает выполнять проверку железа, готовить компьютеры к установке ОС, бэкапить данные и удалять любые зловреды. А также ломать пароли и копаться в системе сколько душе угодно.

Ошибки при работе с GRUB и многими утилитами могут привести к утрате данных или невозможности загрузить ОС. Делай бэкапы! Ни канал, ни автор не несут ответственности за любой возможный вред.

Когда в BIOS появилась опция загрузки с USB-накопителей, жизнь хакеров навсегда изменилась. С тех пор при помощи крохотного устройства за любым компьютером стало можно делать что угодно, не вскрывая его корпус и не привлекая внимания. Получить полный контроль над системой можно, только выйдя за ее пределы.


Multiboot

Сегодня с флешки может загрузиться практически любая операционка. Многие ОС вообще создают слой аппаратных абстракций HAL прямо в процессе инсталляции или тестовой установки на RAM drive. Начиная с Windows XP доступна удобная среда предустановки — WinPE. Сейчас она доросла до версии 5.1 и базируется на Windows Kits 8.1 Update. После некоторых модификаций WinPE позволяет делать почти все то же, что и установленная Windows. Например, устанавливать драйверы не только в процессе загрузки, но и после нее.

От живых CD к ожившим флешкам

Мультизагрузку можно сделать и на CD/DVD, но это устаревший неудобный вариант. Одного DVD-R(W) мало на что хватает. Приходится делить сборку на части и носить пачку дисков. Файлы на них нельзя перезаписывать в процессе работы. На время сеанса все помещается в виртуальный раздел (RAM drive), который тоже не резиновый. К тому же обычно требуется сохранить что-то именно на физическом разделе.

Обновилась версия программы или база антивируса — приходится пересобирать и прожигать заново весь образ. Скорость чтения получается низкая, особенно когда нужно запускать портативные утилиты и считывать много мелких файлов. Надежность современных DVD не выдерживает критики, а в неттопах и многих ноутбуках оптического привода давно нет.

Приверженцы «старой школы» наверняка оценят FreeDOS. Она достаточно всеядна — ей подойдет любая платформа x86. В этой операционке доступны даже браузер и медиаплеер. Современные дистрибутивы Linux легко запускаются в режиме Live, а некоторые даже имеют функцию сохранения изменений после перезагрузки — USB persistence. Многие программы для восстановления данных и антивирусной защиты сами создают образы загрузочных дисков, которые можно поместить на флешку. Словом, выбор компонентов для мультизагрузки очень большой.

Загрузившись в режиме WinPE, ты сможешь с помощью соответствующих утилит менять в установленной ОС Windows пароли, системные файлы и настройки реестра, которые заблокированы даже для админа. Системы со сквозным шифрованием и дополнительной защитой так просто не одолеть, но рядовой домашний или офисный компьютер — легко. Отдельные программы позволяют получить полный контроль над железом, также невозможный в обычных условиях из-за ограничений на уровне прав, драйверов и служб. Весь этот набор инструментов часто записывают на разные носители, поскольку они отличаются по требованиям и конфликтуют друг с другом, но есть способы объединить многие из них в универсальную сборку. Этим мы и займемся.

Нам понадобятся:

  • флешка емкостью от 8 Гбайт;
  • загрузчик GRUB;
  • набор образов с желаемыми программами и операционными системами;
  • утилита WinConfig;
  • программа WinSetupFromUSB (опционально).

 

Как выбрать флешку до покупки

В первую очередь стоит исходить из того, что на флешке с мультизагрузкой и портативным софтом будет перезаписываться большой объем данных, поэтому важна как скорость ее работы, так и ресурс. Найти соответствующую информацию помогут обзоры и отзывы, но помни про маркетинговую хитрость: внутри двух одинаковых с виду флешек могут стоять разные чипы памяти и даже разные контроллеры. Поэтому смотрим только свежие тесты.

Для создания мультизагрузочной флешки лучше выбрать модель с металлическим корпусом. Он лучше рассеивает тепло, а в интенсивной работе его будет выделяться много — отдельные операции выполняются часами. По той же причине стоит выбирать модели с крупным корпусом — у него больше площадь рассеивания и выше шанс, что внутри объем занят чем-то полезным.Может возникнуть желание записать на флешку как можно больше, но за рекордными объемами гнаться не стоит. Очень вероятно, что возникнут проблемы при загрузке на старых компьютерах, да и накопитель с меньшей емкостью обычно работает надежнее. Самые жадные до объемов могут в тех же целях использовать внешний винчестер.

Для самых запасливых

Вместо флешки можно использовать любой другой внешний накопитель. Им может быть карта памяти, внешний жесткий диск или даже старый SSD. С карточки удобно загружать ноутбук — USB останется свободным. Внешний винчестер обрадует желающих носить с собой весь набор программ. На него же можно записывать резервные копии, разворачивать бэкапы для тестов и устанавливать дополнительные ОС — места много не бывает.

 

Как выбрать флешку из имеющихся

Узнать наверняка, что находится внутри конкретной флешки, можно только после покупки. Обойтись без вскрытия ее корпуса помогает база данных iFlash и утилиты для идентификации по VID/PID. Среди многих аналогов бесплатная утилита Flash Drive Information Extractor производства компании ANTSpec Software — единственная, корректно работающая с USB 3.0 и новыми контроллерами.

Каждая перезапись уменьшает ресурс памяти, поэтому модели с чипами TLC лучше не использовать. Современные чипы NAND MLC делятся по ресурсу на два класса: 3K (до 3000 циклов перезаписи) и 5K (до 5000 циклов перезаписи). Последние ставят в дорогие SSD, и обнаружить такой чип внутри флешки маловероятно. Память SLC с ресурсом до 100K циклов и сейчас выпускается, только для SSD корпоративного класса и буферов гибридных накопителей. Флешки с такой памятью перестали делать много лет назад.

Найти сегодня флешку с SLC так же сложно, как цветок папоротника

В окне Flash Drive Information Extractor отображается тип чипов памяти, их предположительный производитель и максимальная сила тока. По ней можно судить о потребляемой мощности, а значит — прогнозировать степень нагрева флешки и ее способность длительно работать в проблемных условиях. На заре производства USB-Flash они оснащались качественным термоинтерфейсом, схемой стабилизации питания, защиты от помех и даже от переполюсовки. Современные модели, как правило, совершенно беззащитны. Теперь флешки — это не высокие технологии, а расходный материал.

Некоторые старые компьютеры не поддерживают загрузку с USB-накопителей, хотя и оснащены портами USB. Использовать на них мультизагрузочную флешку можно при помощи своеобразного костыля — менеджера загрузки PLoP на загрузочном CD. Процесс загрузки начинается с него и уже затем перенаправляется в меню на флешке.


GRUB — GRand Unified Bootloader

Загрузчик GRUB далеко не единственный, но очень удобный вариант создания мультизагрузки. Он универсален, поддерживает как старые, так и все современные технологии загрузки. К тому же синтаксис команд для других загрузчиков (в частности, Syslinux) легко переписывается в строчки меню GRUB.

GRUB, как и многие опенсорсные проекты, за годы своего существования разделился на разные варианты. Есть WinGRUB, Grub2Win, GRUB4DOS и прочие форки. Наиболее простой и безопасный для нашей задачи — Grub4DOS USB Installer, написанный на Visual C++ в конце 2012 года. Эвристический анализатор некоторых антивирусов может на него ругаться из-за использования API DeviceIOControl, необходимой для записи бут-сектора. Подробнее смотри отчет VirusTotal.

Превратить флешку в мультизагрузочную сегодня крайне просто — ручные операции сведены к минимуму, есть множество готовых утилит, отработанных методик, и давно реализована поддержка новых файловых систем. Если нет нужды работать с чистым досовским окружением и старыми программами непосредственно на разделе флешки, то можно смело форматировать ее в NTFS. Для установки Windows 8, 8.1, 10 и некоторых других операций это вообще обязательное условие. Изначально все флешки продаются с разделом FAT32. Создать раздел NTFS может сам инсталлятор GRUB — главное, не ошибиться при выборе диска. Предварительно нужно очистить флешку, переписав все данные на другой носитель.

Теперь остается выбрать ее из списка в окне Grub4DOS USB Installer и нажать «Установка». Через несколько секунд все операции будут завершены, подтверждением чему станет файл menu.lst в корне флешки. Это лишь пример меню, который мы скоро будем править.

 

Создаем набор

Перед началом работы советую прочесть статью полностью и заранее скачать все необходимое по указанным в тексте ссылкам. Каждая из них была проверена, как и процедура мультизагрузки. Начнем с простого: скачаем программу для диагностики оперативной памяти MemTest86 Free . Ее целесообразно поместить сверху списка будущего меню, так как первый пункт выбирается автоматически через несколько секунд. Если пропустишь момент, то просто нажмешь Esc, избегая долгого ожидания загрузки чего-то более тяжелого. Для современных компьютеров с DDR4 понадобится версия 6.1.0 или новее. Она же включает релиз 4.3.7, который автоматически загрузится при определении старых типов памяти.

Утилита MemTest с автозагрузкой версии для старых типов памяти

Утилиту можно найти на официальном сайте PassMark и запускать с одной флешки вместе с последней версией MemTest86+. Это форк, который прекратил развитие, но до сих пор имеет некоторые преимущества.

 

Записываем свое меню

Открываем файл menu.lst «Блокнотом» и пишем строки:

timeout=20
default 0
splashimage (hd0,0)/Boot/gfx/cooltheme.xpm 


Первая строка задает время ожидания выбора пункта в секундах. Если ничего не выбрано, то автоматически загружается пункт, указанный во второй строчке. Третья строка — путь до картинки в формате XPM, на фоне которой отображается меню. Далее идут непосредственно вызовы других загрузчиков для запуска разных утилит и операционок. Название каждого пункта произвольное и записывается после ключевого слова title. Затем указывается метод загрузки и путь до образа ISO относительно корня флешки. Подробнее синтаксис рассматривается в объемном руководстве.

title MemTest86 v.6.1.0
map /img/MemTest86-610.iso (0xFF) || map --mem /img/MemTest86-610.iso (0xFF)
map --hook
chainloader (0xFF)


Здесь и далее все образы будут размещаться в каталоге /img/, но можно указать любой путь (желательно покороче). Аналогично прописываем загрузку MemTest86+.

title MemTest86+ v.5.01
map /img/MemTest86p-501.iso (0xFF) || map --mem /img/MemTest86p-501.iso (0xFF)
map --hook
chainloader (0xFF)


Меняется только название и ссылка на образ, однако далеко не все ISO можно загружать таким простым методом. Зато, помимо ISO, на флешку можно поместить образы в формате IMA. Ради эксперимента добавим набор утилит от Active@, среди которых есть программа для сброса пароля любой учетной записи и разблокировки аккаунтов в Windows. В среде WinPE она работает с Windows от версии 2000 до 8.1 включительно, а также Windows Server (2000–2012). Релиз для DOS гораздо старее и официально поддерживает только сброс паролей в XP, хотя файлы SAM порой находит и в более свежих версиях Windows. Скачивается утилита все так же в виде образа ISO, но внутри него есть файл floppy_2.88.00.ima, который ради экономии места можно извлечь, переименовать и загружать напрямую. Способ здесь уже другой — эмуляция FDD.

title Active@ toolkit with Password Changer
find --set-root /IMG/active.ima
map --mem /IMG/active.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)


Набор утилит Active@ для DOS запускается с NTFS

Продолжить ностальгировать можно будет позже в среде FreeDOS, а сейчас мы займемся более актуальными вещами. Интегрируем в мультизагрузку набор средств диагностики и восстановления — Microsoft DaRT. Подписчики программы Software Assurance могут его создать с помощью комплекта Microsoft Desktop Optimization Pack, а остальные — попросить у знакомого админа или найти в интернете. Получив образ, просто откроем его и скопируем каталог \ERDC\ в корень флешки. В меню добавим следующие строчки:

title MS DaRT
map --unmap=0:0xff
map --unhook
root (hd0,0)
chainloader /ERDC/bootmgr


Запуск Microsoft DaRT

Альтернативный вариант — ничего не распаковывать, а загружать версии дисков восстановления x86- и x64-систем прямо из образов, созданных на своем компьютере:

title Win 7 x86 Recovery
find --set-root /img/W7-x86-Repair.iso
map /img/W7-x86-Repair.iso (hd32)
map --hook
root (hd32)
chainloader (hd32)

title Win 7 x64 Recovery
find --set-root /img/W7-x64-Repair.iso
map /img/W7-x64-Repair.iso (hd32)
map --hook
root (hd32)
chainloader (hd32)


Создание диска восстановления штатными средствами

Способ с распаковкой надежнее и менее требователен к объему оперативной памяти. Второй способ удобнее и быстрее для интеграции.

Установка Windows с USB-накопителей имеет свои особенности. Для Windows 7 достаточно скопировать все файлы из образа на флешку (например, с помощью UltraISO) и написать простую команду в меню GRUB:

title Windows 7 Setup
root (hd0,0)
chainloader /bootmgr
boot


Ручная интеграция нескольких установочных дистрибутивов Windows на одной флешке — тема для отдельной статьи, как и пошаговое создание сборок на основе WinPE. Здесь же мы возьмем для примера готовые и сосредоточимся на режиме Live USB.

На следующем шаге добавим самый универсальный инструмент — сборку на основе WinPE. Для старых компьютеров подойдет Alkid Live CD, а для новых — Xemom1. Разумеется, можно взять и другие — механизм их загрузки типовой. Главное, не допускать конфликтов на уровне общих имен каталогов и разных версий файлов. Например, каталог \BOOT\ встречается во многих сборках, а \EFI\ нужен для установки последних версий Windows.

Интеграция Alkid Live CD проходит в три простых этапа. Сначала распаковываем из образа в корень флешки файлы bootfont.bin и \A386\ntdetect.com, а также каталог \PLOP. Затем копируем на флешку каталоги \A386\ и \PROGRAMS\ целиком, после чего переименовываем \A386\ в \miniNT. В меню добавляем следующие строки:

title Alkid Live USB Full
find --set-root /MININT/setupldr.bin
chainloader /MININT/setupldr.bin


Загрузка Alkid Live USB

Добавление сборок на основе последних версий WinPE происходит подобным образом. В них всегда есть каталог с образами WIM, который надо скопировать в корень флешки целиком. В нем же будет находиться загрузчик BOOTMGR. Его мы и вызовем через меню.

title Win PE 5.0 (Xemom1, unpacked)
find --set-root /W81X/bootmgr
chainloader /W81X/bootmgr


Загрузка WinPE 5.0 с поддержкой 32/64-разрядных систем

Переборщик паролей и Kali Linux

Установленный локально GRUB сам по себе имеет функцию руткита. Он всегда загружается до операционной системы, выполняет заданный набор команд, а затем вызывает штатный загрузчик ОС либо тот, который ты сам ему укажешь.

Сброс пароля — быстрый, но грубый метод. Если надо скрыть следы проникновения, то придется потрудиться над подбором. Для этого в любом случае понадобятся файлы SAM и SYSTEM, которые без труда копируются при загрузке с флешки любой операционки, понимающей NTFS. Добавленные в сборку WinPE утилиты Elcomsoft помогут справиться с защитой BitLocker и другими недоразумениями.

Записав на флешку две версии WinPE, ориентированные на старые (x86, BIOS, MBR) и новые (x86-64, UEFI, GPT) компьютеры, ты получишь универсальную среду для запуска хакерского софта. Без ограничений установленной системы можно править файл hosts, подменять драйверы и библиотеки, а в редакторе реестра — убирать команды автозагрузки хитрых троянов или добавлять свои.

Как бы ни была удобна WinPE, у хакера остается масса задач, которые можно решить только в Linux. Со второй версии в Kali Linux появился удобный инструмент создания кастомных образов ISO — с любыми пакетами, иксами и подключением скриптов в процессе сборки. Как и прежде, их можно запускать с флешки в режиме Live или Persistence. В документации описано, как записать Kali на отдельную флешку, а мы добавим его в мультизагрузку.

title Kali 2.0 Lite
set ISO=/img/kali-linux-light-2.0-i386.iso
partnew (hd0,3) 0x00 %ISO%
map %ISO% (0xff) || map --mem %ISO% (0xff) || map --mem --heads=0 --sectors-per-track=0 %ISO% (0xff)
map --hook
root (0xff) || rootnoverify (0xff)
chainloader (0xff)


Варианты загрузки Kali Linux
Kali Linux v.2.0. Lite в режиме Live


Антивирус

Разработчики антивирусов часто предлагают бесплатные образы своих загрузочных дисков. Нужны они в первую очередь для избавления от зловредов, уже поразивших установленную ОС. Если раньше такие образы можно было просто скачать и добавить на флешку, вызывая их командой map, то сейчас структура загрузочных дисков сильно усложнилась. Для их гарантированной работы приходится создавать временные файловые метки, считывать идентификаторы тома и выполнять кучу проверок. К тому же дисковая подсистема компьютера может быть сложной, и на очередном этапе загрузчик антивируса потеряется при сдвиге разделов.

Запись образа с антивирусом на чистую флешку обычно выполняется элементарно — отдельной программой с сайта разработчика или какой-либо универсальной утилитой, например UNetbootin. При этом ручное добавление антивируса в мультизагрузку требует неплохих познаний GRUB, общих навыков программирования и серии тестов. Поэтому мы воспользуемся утилитой WinSetupFromUSB, которая делает большую часть рутинных операций автоматически.

Добавление Kaspersky Rescue Disk через WinSetupFromUSB

Здесь надо определиться: будешь ли ты использовать только ее или хочешь сделать кастомную флешку вручную. Ниже я привожу строки для ручной интеграции, но если лень разбираться — просто последовательно добавляй образы через утилиту. Порядок не имеет значения.

Для примера возьмем образ Kaspersky Rescue Disk. При интеграции образа его можно поместить вместе с другими (у нас это каталог \img). В menu.lst добавляем следующие строки:

title KAV Rescue Disk
set /a dev=*0x8280&0xff
root (%dev%,0)
set ISO=/img/kav_rescue_10.iso
map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff)
set /a dev=*0x82a0&0xff
debug 1
parttype (%dev%,3) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO%
if not "%check%"=="0x00" echo Error!
map --rehook
root (0xff)
chainloader (0xff)


Запуск Kaspersky Rescue Disk с раздела NTFS на мультизагрузочной флешке

Теоретически вместо проверок и отладки можно сразу загружать, как в примере с Kali (partnew (hd0,3) 0x00 %ISO%...), но слегка избыточный вариант записи обеспечивает лучшую совместимость с разными компьютерами. Программа WinSetupFromUSB записывает еще больше строк в каждый пункт меню, поскольку содержит дополнительные проверки, а также систему вложенных списков и механизм автонумерации.

 

Утилиты для работы с диском

С загрузочной флешки можно клонировать жесткий диск или восстановить его из образа. Сделать это можно одной из платных программ или с помощью свободной утилиты Clonezilla. Если надо запустить ее на компьютере с UEFI, то потребуется скачать дистрибутив Clonezilla на основе Ubuntu x64, а не Debian x86.

title Clonezilla
set /a dev=*0x8280&0xff
root (%dev%,0)
set ISO=/img/clonezilla.iso
map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff)
map --rehook
root (0xff)
chainloader (0xff)


Загрузка Clonezilla

Clonezilla уже содержит FreeDOS, поэтому можно не добавлять его отдельным пунктом.

В состав Clonezilla входит FreeDOS

В конце меню оставим автоматически создаваемые элементы: поиск и загрузку установленной ОС, ее запуск со скрытого раздела, загрузку с оптического привода, с первого (в BIOS) жесткого диска, выход в режим командной строки GRUB, перезагрузку и выключение.

Основное меню мультизагрузочной флешки

Перед проверкой созданной флешки необходимо дефрагментировать все записанные в \img\ образы утилитой WinContig, иначе они не будут корректно работать при вызове командой map.

Дефрагментация ISO в WinContig

Бесплатные программы, не требующие установки. Могут запускаться в среде WinPE

Антивирусная утилита AVZ. Добавляется на флешку простым копированием и загружается в WinPE




Report Page