Инструкции по Continent

Материал из EWiki
Перейти к навигации Перейти к поиску

Общее

Инструкции для Continent

Фиксация MAC адресов в PNetLab

ВАЖНО: Подключение флешки, как и другие манипуляции с настройками машин PNetLab и их связями, заново генерируют MAC адреса для сетевых карт. Это приводит к изменению названий сетевых интерфейсов и ломает настройки сети в Continent. Что бы это избежать, необходимо заполнить поле First MAC в настройках каждой виртуальной машины уникальными значениями.


Cоответсвие MAC адресов и названий интерфейсов храняться в файле /etc/udev/rules.d/70-persistent-net.rules (ссылка)

Монтирование виртуального диска в хостовую ОС

Предусловия:

  1. Установлены пакеты qemu-utils и lvm2

Монтирование:

  1. Загрузить модуль ядра nbd
    sudo modprobe nbd max_part=8
    
    В виртульной машине PNetLab эта команда может вызывать ошибку. Тогда необходимо загрузить модуль командой:
    insmod /lib/modules/$(uname -r)/kernel/drivers/block/nbd.ko max_part=8
    
  2. Отключить виртуальную машину (ВАЖНО: виртульную машину можно будет включить только после отключения диска из хостовой ОС!)
  3. Подключить виртуальный диск
sudo qemu-nbd -c /dev/nbd1 <путь к виртуальному диску vdi или qcow2>
sudo mount /dev/mapper/vg00-lv_root /mnt
sudo mount /dev/nbd1p1 /mnt/boot # при необходимости доступа к boot разделу

Команда lsblk показывает подключенные диски.

Отключение

  1. Отключить диск
    sudo umount /mnt/boot # если был примонтирован
    sudo umount /mnt
    sudo vgchange -a n vg00
    sudo qemu-nbd -d /dev/nbd1
    
  2. Включить виртуальную машину
  3. Выгрузить модуль ядра nbd, если в нем больше нет необходимости
    modprobe -r nbd
    

Монтирование виртуальной флешки в Continent на PNetLab

Предусловия:

  1. Установлен пакет qemu-utils

Создание виртуальной флешки

sudo modprobe nbd max_part=8
#или insmod /lib/modules/$(uname -r)/kernel/drivers/block/nbd.ko max_part=8
qemu-img create -f raw myflash.img 512M
sudo qemu-nbd -c /dev/nbd2 -f raw ./myflash.img
fdisk /dev/nbd2
# ввести n
# соглашаться со всеми значениями по-умолчанию
# ввести w
sudo mkfs -t vfat /dev/nbd2p1

sudo qemu-nbd -d /dev/nbd2

Подключение флешки в виртуальную машину с Continent

ВАЖНО: Следующий действия могут сломать виртуальную машину с Continent (см. инструкцию "Фиксация MAC адресов в PNetLab")

  1. ВАЖНО: Убедиться, что флешка не подключена к другой виртуальной машине или хосту!
  2. В настройки виртуальной машины PNetLab в поле Qemu Options добавить:
    -drive if=none,id=stick,format=raw,file=<ПУТЬ К ФАЙЛУ С ВИРТУАЛЬНОЙ ФЛЕШКОЙ> -device nec-usb-xhci,id=xhci -device usb-storage,bus=xhci.0,drive=stick
  3. Перезагрузить Continent

Получение root доступа к Continent 4 на виртуальной машине

  1. Отключить виртуальную машину с Continent
  2. Примонтировать виртуальный диск к хостовой машине (см. Монтирование виртуального диска в хостовую ОС)
  3. Заменить файл /mnt/boot/integrity на программу, которая всегда безусловно возвращает 0.
    int main(int argc, char **argv) {
       return 0;
    }
    
    Медиа:Integrity.txt (файл сохранить под именем integrity и дать права на запуск командой chmod +x integrity)
  4. В файл настроек ограниченной консоли /etc/clish/misc.xml добавить bash. Для примера можно скопировать раздел настроек для команды uptime и заменить uptime на bash. В атрибут help написать Back door.
  5. Включить виртуальную машину с Continent. Через локальное меню Continent запустить ограниченную консоль (Инструменты - Диагностика - Командная строка) и выполнить команду bash. Получаем полный доступ к Linux под root.