• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Статья Установка Arch Linux с шифрованием и ключом на флешке

  • Автор темы SNIPERSON
  • Дата начала
arch.png

Установка Arch Linux с шифрованием и ключом на флешке.

----------------------------------------------------------------------------------------------------

План

  1. Введение
  2. Железо и софт
  3. Установка
  4. Заключение
----------------------------------------------------------------------------------------------------

Введение


Начнем с того что данные должны находиться на шифрованном жестком диске. Это как минимум. Лучше диск должен быть съемным, причем быстро. Хорошо если ключ шифрования имеет большую длину и вводиться без ошибок. Да, нужно иметь 2 ос, одну для работы а вторую для остальных дел. Вторая ос, это Linux которая находится на шифрованном съемном диске, лучше всего SSD. В данное время некоторые ноутбуки все еще оснащаются DVD приводом, так вот его лучше снять и поставить вот такую штуку DVD HDD


Если необходим будет привод для чтения дисков то он вставляется за 5 сек. В основной ос не храним ничего противозаконного, стандартный набор софта. А вот вторая Ос шифрованная и быстросъемная. Вводить каждый раз пароль длинной 255 символов это для мазохистов, поэтому ключ будем хранить на флешке, которая вставляется только при загрузке ос, а дальше вынимается и прячется. Самый маленький размер имеет карта флеш-памяти M2, Достаточно будет и 2х гигов. В качестве флешки используем вот такой переходник


На microSD флешке храниться ключ от жесткого диска. Если что то microSD ломается и данные не востановишь. Тут можно сделать два пути, или у нас есть резервный ключ (да-да те 255 символов что брутом не осилишь) или простой пароль, который сносит все шифрование нафиг. 255 символов лучше спрятать в картинке в помощь стенография, и закинуть в инет ))). Ну или нацарапать на стене + пару символов спереди и сзади чтоб наверняка. Тк если диск изымут при обыске то никто не будет загружать ноут с ним. Делают дамп и с дампом работают. Флешка должна быть всегда вдалеке от компа, и рядом только в случае его включения. Жесткий диск лучше хранить в тайнике и только при работе вынимать его. Да и не забудь про бронированную дверь, пока ее будут вскрывать у тебя есть несколько секунд чтоб прожевать флешку и вырубить ноут, максимум разбить SSD. Если же все-таки тебя застали с работающим ноутом, то он должен выключаться автоматически через какое-то время простоя. Еще лучше если у тебя будет скрипт, который вырубит ноут. Затрет рандомом заголовок диска.

----------------------------------------------------------------------------------------------------

Необходимое железо и софт


Все ясно, оборудование которое понадобится
  1. Ноут
  2. Флешка (На нее запилю установочный образ Arch Linux)
  3. Жесткий диск (Arch на шифрованном разделе + /boot на отдельном разделе этого диска)
  4. Карта microSD для записи ключа шифрования
  5. Второй ноут с которого буду ставить все через сеть (Ну лень мне набивать команды вручную, легче копировать через буфер).
Сливаю образ арча . И программу для записи ее на флешку . Запиливаю образ на флешку. Вставляю в ноут жесткий диск на который ставлю Arch, Флеш-карточку microSD и флешку с установочным образом.

----------------------------------------------------------------------------------------------------

Установка


Гружусь с флешки.

1566386504849.png


Когда загрузил ноут с флешки

Wifi-menu - Подключаюсь к wi-fi
ping -c4 ya.ru — Проверяю пинг
Ifconfig -a - Смотрю адрес интерфейса
passwd root - Задаю пароль суперпользователя
systemctl start sshd.service - запуск SSH демона

----------------------------------------------------------------------------------------------------

На другом ноуте подключаюсь к wi-fi и подключаюсь к серверу
Код:
ssh root@IP_ADRESS_SERVER
----------------------------------------------------------------------------------------------------


Смотрю все разделы которые определились
Код:
fdisk -l
----------------------------------------------------------------------------------------------------


/dev/sda — Флешка образом Arch (с нее ставим Arch Linux)
/dev/sdb — Жесткий диск на который ставлю систему
/dev/sdc — Флешка для хранения ключа

----------------------------------------------------------------------------------------------------

Затру рандомом весь жесткий, да это очень долго так что лучше на ночь закинуть.
Код:
shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sdb
----------------------------------------------------------------------------------------------------
Код:
cfdisk /dev/sdb
1566386528982.png


Выбираю DOS

1566386556917.png


И вот таким образом разбиваю хард (Вместо sda у нас sdb, я делал на виртуалке, так что немного различаются названия)

----------------------------------------------------------------------------------------------------

Шифрую жесткий диск
Код:
cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sdb2
Тут небольшое отступление, здесь необходимо сгенерировать хороший стойкий пароль, который лучше закинуть в картинку с помощью стенографии или нацарапать в подвале )))

можно использовать другой генератор, этот как пример.

----------------------------------------------------------------------------------------------------

Подключаю шифрованный раздел
Код:
cryptsetup open --type luks /dev/sdb2 cryptroot
----------------------------------------------------------------------------------------------------


Далее форматирую диски.

mkfs.ext2 /dev/sdb1 - /boot раздел
mkfs.ext4 /dev/mapper/cryptroot - /root раздел
mkfs.ext2 /dev/sdc - флешка, на которой находится ключ

----------------------------------------------------------------------------------------------------

Монтирую файловую систему
Код:
mount -t ext4 /dev/mapper/cryptroot /mnt
mkdir -p /mnt/boot
mkdir -p /mnt/key
mount -t ext2 /dev/sdb1 /mnt/boot 
mount -t ext2 /dev/sdc /mnt/key
----------------------------------------------------------------------------------------------------


Ставлю систему
Код:
pacstrap -i /mnt base base-devel sudo mc htop glances dialog wpa_supplicant grub
----------------------------------------------------------------------------------------------------


Генерация fstab
Код:
genfstab -U -p /mnt >> /mnt/etc/fstab
----------------------------------------------------------------------------------------------------


Chroot
Код:
arch-chroot /mnt
----------------------------------------------------------------------------------------------------


Ставлю локали
Код:
sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
----------------------------------------------------------------------------------------------------


Ставлю время
Код:
rm -v /etc/localtime
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
hwclock --systohc —utc
----------------------------------------------------------------------------------------------------


Имя хоста
Код:
echo HostName > /etc/hostname
----------------------------------------------------------------------------------------------------


Добавлю простого пользователя
Код:
useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash User_Name
Пароль User_Name
Код:
passwd User_Name
и пароль root
Код:
paswd root
В права в sudo
Код:
nano /etc/sudoers -> %wheel ALL=(ALL)
----------------------------------------------------------------------------------------------------


Записываю рандомные данные в файл ключа
Код:
dd if=/dev/urandom of=/boot/boot.bin bs=1024 count=2
----------------------------------------------------------------------------------------------------


Добавляю файл ключа на криптованный раздел
Код:
cryptsetup luksAddKey /dev/sdb2 /boot/boot.bin
----------------------------------------------------------------------------------------------------


Добавляю вот такую строчку в /etc/mkinitcpio.conf
Код:
HOOKS=(base udev autodetect modconf block encrypt lvm2 filesystems keyboard fsck)
----------------------------------------------------------------------------------------------------


Смотрим uuid флеш-карточки microSD, команда blkid

Записывавем в файл /etc/default/grub вот такую строчку

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdb2:main cryptkey=/dev/disk/by-uuid/uuid_раздела_флеш_карты:ext2:/boot.bin"

+ еще пару строчек
Код:
GRUB_ENABLE_CRYPTODISK=y
GRUB_CRYPTODISK_ENABLE=y
----------------------------------------------------------------------------------------------------


Последние штрихи, надо поставить grub и сконфигурировать начальный загрузочный диск системы.
Код:
mkinitcpio -p linux
grub-install --recheck /dev/sdb
grub-mkconfig --output /boot/grub/grub.cfg
----------------------------------------------------------------------------------------------------

Заключение


Выходим и ребутим ноут. В BIOS выбираем загрузку с быстросьемного SSD. После того как проскочил GRUB вставляю флеш карту, и когда появляеться приглашение на Login в системе вынимаем ее. Сейчас я установил базовую систему, без репозиториев BlackArch и графического интерфейса и русификации. Это сделаем в других статьях (если у меня будет время и желание, и посмотрю зайдет ли эта статья ?)
 
Последнее редактирование модератором:

ne.0n

Green Team
01.11.2018
10
5
BIT
0
Отлично зашла! Хотелось бы увидеть продолжение
 

Obelisk

Green Team
26.11.2019
13
63
BIT
0
Отлично написанный материал, всё разложено по местам. Хоть я и всё это умею, но читать было очень приятно
 

evacrob

Green Team
23.04.2019
28
1
BIT
0
Спасибо за статью.

А могли бы усложнить схему и доработать мануал чуть-чуть? :) Было бы хорошо задать смещение. И на карте памяти завернуть ключ в контейнер (на случай, если не успел ее скушать).
 

werty

Member
27.02.2020
12
0
BIT
0
Сейчас я установил базовую систему, без репозиториев BlackArch и графического интерфейса и русификации. Это сделаем в других статьях (если у меня будет время и желание, и посмотрю зайдет ли эта статья ?)
Вероятнее всего, аффтар уже не планирует отягощать себя продолжением статьи.
Статью об установке графического интерфейса можно прочитать здесь

Обсуждение BlackArch Linux в этой теме.
Официальный сайт
Гайд на русском языке расположен тут: BlackArch Linux полное руководство

Локализация
В файле /etc/locale.gen раскомментировать (убрать знак '#') эту строчку:
ru_RU.UTF-8 UTF-8

Создать локаль:
/usr/sbin/locale-gen

Теперь нужно установить шрифты с поддержкой русского языка
pacman -S kbd-ru-keymaps terminus-font

Отредактировать файл /etc/rc.conf:
Код:
LOCALE="ru_RU.UTF-8"
CONSOLEFONT=ter-v16f
Установить пакеты со шрифтами для иксов:
pacman -S ttf-ms-fonts ttf-dejavu ttf-liberation

Note: Можно ограничиться одним или несоклькими пакетами, на ваш выбор
Создать файл /etc/X11/xorg.conf.d/20-evdev.conf. Это нужно для переключения раскладок:

Код:
Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
    Option "XkbLayout" "us,ru(winkeys)"
    Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
EndSection


В XkbOptions задаётся аккорд для переключения раскладки. grp_led:scroll включает индикацию раскладки лампочкой ScrollLock на клавиатуре.
 
Последнее редактирование:

mlynx

New member
07.06.2018
1
0
BIT
0
Возник вопрос. Ключ смонтирован в /key а файл лежит в /boot/boot.bin И как оно будет работать????
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!