full

full

Х а к е р

Готовим систему к "работе".

//


В наше время анонимность очень важна, даже если вы обычный пользователь, но как не странно, подключаясь к VPN или сетям TOR, пользователь лишь привлекает на себя лишнее внимание. Что же получается, в нашем мире нет возможности скрыться от всевидящего ока ? Возможность есть, но для обычного пользователя она сложно реализуема. Я не раз был свидетелем как люди забивали на свою анонимность, после того как пытались перейти на Linux. Ну, а если тебе не наплевать на свою анонимность, то подрубай виртуалку и набирайся терпения, мы начинаем !!!

Я не разделяю уровни анонимности, не зависит от того чем вы занимаетесь, будь то взлом или карж или банальный сёрфинг, анонимность одна и не существует никаких уровней !

Итак, наша небольшая программа обучения разделена на 3 части и все они важны и взаимосвязаны между собой. Поэтому я заставляю вас прочесть всё от начала и до конца и не пропускать ни единого шага, если вы только не хотите сесть на " бутылку ".

Для начала выберем нашу среду для перебивания. Ясное дело что никакой речи о Windows идти не может. Наш выбор это Linux. Я выбрал из семейства Arch, а именно Manjaro. Это достаточно новый и красивый дистрибутив, особенно если вы только недавно познакомились с Linux. Вам будет очень удобно им пользоваться. В выборе оболочки я предпочитаю Deepin и Gnome. Почему Arch ? Несмотря на то что Arch очень старый, и на нём до сих пор собирают другие дистрибутивы, он славится красивым окружением и идеально подходит для обычного пользования системой.


Итак, нужное вам окружение для Manjaro вы сможете найти на разных форумах или на официальном сайте.


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


Первым делом создадим и настроим машину

Далее выделим место под виртуалку.

После настраиваем

Мощность процессора
Приоритет загрузки
Видеопамять
Выбираем наш образ
Наше сетевое подключение

Теперь запускаем

Запускаем Manjaro и нас приветсвует стартовое окно

Далее смотрим наш раздел в GParted и в терминале вводим строку для заполнения жёсткого диска случайными данными.

dd if=/dev/urandom of=dev/sda bs=8 status=progress

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

Запускаем установщик

Часовой формат выбираем левый
Язык ввода
Ручное разделение

Создаём новую таблицу

Создаём раздел

Выбираем раздел boot и выделяем ему 500 mb. Ставим пароль.

Далее создаём ещё раздел, под root, на всё свободное место. Ставим пароль высокой сложности. Для этого воспользуемся gpg

gpg --gen-random armor 1 20

С разделами закончили.

После окончания нам потребуется перезагрузить нашу систему. Сразу после перезагрузки система спросит у нас для расшифровки пароль (A) от раздела /boot. Вас тут же спросят пароль от второго диска, мы ничего не вводим и просто нажимаем Enter. Cистема загружается. Почему не надо вводить второй пароль? Потому что во время установки был создан файл-ключ (crypto_keyfile.bin) и добавлен к каждому диску как ключ. При создании загрузчика этот файл был помещен на первый раздел /boot. Мы расшифровали первый диск, а дальше расшифровка пройдет при помощи этого файл-ключа.

Но мы это поменяем, удалим возможность расшифровки второго диска (с системой - /dev/sda2) при помощи этого файл-ключа. В итоге, расшифровать диск с системой можно будет только по нашему паролю (B). Далее, мы добавим Nuke-пароль к диску с системой (/dev/sda2). Собственно, зачем нужно, чтобы нас спрашивали оба пароля, зачем делать два раздела, почему не установить всё на один зашифрованный раздел и к нему добавить Nuke-пароль?

Дело в том, что Nuke-пароль сработает (удалит все заголовки и ключи на диске) если будет введён на этапе инициализации системы, а не на этапе инициализации grub (загрузчика системы). Поэтому мы создаём зашифрованный раздел для загрузчика, что бы он инициализировался и начал загружать систему. Тогда у нас и спросят пароль для расшифровки диска с системой, и на этом этапе, если мы введем Nuke- пароль, то он сработает.

Открываем терминал и выполняем команду:

# cryptsetup luksDump /dev/sda
мы видим, что у нашего диска /dev/sda2 есть два ключа (Key Slot), по которым можно расшифровать его:

Теперь удаляем привязку файла-ключа "crypto_keyfile.bin" к диску /dev/sda2, где расположена наша система

sudo cryptsetup -v --debug luksRemoveKey /dev/sda2 /crypto_keyfile.bin

Проверяем:

cryptsetup luksDump /dev/sda2

Также поправим файл crypttab. Для этого выполняем в терминале:

sudo nano /etc/crypttab вводим пароль от учетной записи

Нам в самом файле требуется удалить выделенную строку /crypto_keyfile.bin

Перезагружаем компьютер и проверяем изменения. Теперь, вначале grub спрашивает пароль от раздела /boot (hd0,msdos1), вводим его (A), затем появляется запрос пароля от второго диска - просто нажимаем Enter. Появляется меню grub, если ничего не выбрать, то через пару секунд начнётся загрузка manjaro и нас спросят пароль (B) от второго раздела /dev/sda2. Вводим пароль для расшифровки и система загружается. Последняя вещь, которую нам сейчас потребуется сделать - это обновить систему. Для этого открываем пакетный менеджер pamac и переходим в раздел Updates. По окончанию обновления перезагружаемся.

Чтобы в дальнейшем не сталкиваться с ошибками при попытке выполнения команд, нам потребуется доустановить в систему следующие пакеты, а именно: git, gcc, binutils, fakeroot, patch, pkgconf.

Теперь осталось подключить патч Nuke-keys для Cryptsetup, обновить Cryptsetup и установить Nuke пароль.

Копируем себе Nuke патч и переходим в скачанную папку:

git clone https://github.com/archlinuxpersonal/cryptsetup-2.0.1-luksAddNuke.git && cd cryptsetup-2.0.1-luksAddNuke

Скачиваем PKGBUILD:

wget https://git.archlinux.org/svntogit/packages.git/plain/trunk/PKGBUILD?h=packages/cryptsetup && mv PKGBUILD?h=packages%2Fcryptsetup PKGBUILD

Скачиваем (не собираем) cryptsetup:

makepkg –o
==>ERROR: hooks-encypt... в конце нам выдаст ошибку. Не переживаем - это мы добавим позже.

Распаковываем архив в папку src:

tar -xJvf cryptsetup-2.2.1.tar.xz -C src

Скачиваем недостающие элементы (скопировать все эти строчки и вставить как единое целое):

wget https://git.archlinux.org/svntogit/packages.git/plain/repos/core-x86_64/hooks-encrypt?h=packages/cryptsetup && mv hooks-encrypt?h=packages%2Fcryptsetup hooks-encrypt && wget https://git.archlinux.org/svntogit/packages.git/plain/repos/core-x86_64/install-encrypt?h=packages/cryptsetup && mv install-encrypt?h=packages%2Fcryptsetup install-encrypt && wget https://git.archlinux.org/svntogit/packages.git/plain/repos/core-x86_64/install-sd-encrypt?h=packages/cryptsetup && mv install-sd-encrypt?h=packages%2Fcryptsetup install-sd-encrypt

Перекидываем файлы и патчи в папку src:

cp -t src libcryptsetup.h.patch keymanage.c.patch setup.c.patch cryptsetup.c.patch hooks-encrypt install-encrypt install-sd-encrypt

Правим файл PKGBUILD:

nano PKGBUILD
Вначале файла, в строчку source, нужно добавить:
'cryptsetup.c.patch'
'keymanage.c.patch'
'libcryptsetup.h.patch'
'setup.c.patch'

В этом же документе перед строчкой: make DESTDIR=”${pkgdir}” install

Надо добавить:
msg "Patching source to enable luksAddNuke"
patch -p1 < ../libcryptsetup.h.patch
patch -p1 < ../keymanage.c.patch
patch -p1 < ../setup.c.patch
patch -p1 < ../cryptsetup.c.patch

Сохраняем Ctrl+O, затем Enter и выходим Ctrl+X.

Также нужно поправить патч:
cd src/
nano keymanage.c.patch
Нужно в данной строке:
if (!r)
log_verbose(ctx, _("Key slot %d unlocked.\n"), keyIndex);
Убрать лишь \n
В итоге получим:
if (!r)
log_verbose(ctx, _("Key slot %d unlocked."), keyIndex);

Сохраняем файл Ctrl+O, затем Enter и выходим Ctrl+X.

Выполним:

updpkgsums

Устанавливаем пропатченный cryptsetup:

makepkg -ei
Ждём окончания установки и затем вводим:
libtool --finish /usr/lib

Чтобы при последующих обновлениях не слетела наша версия Cryptsetup,

нужно установить запрет на обновление этого пакета в файле pacman.conf:

sudo nano /etc/pacman.conf

Находим строчку:

IgnorePkg =

Убираем знак комментирования "#" и вписываем cryptsetup, в итоге получаем:

IgnorePkg = cryptsetup

Сохраняем Ctrl+O, затем Enter и выходим Ctrl+X.


Устанавливаем Nuke ключ для второго диска (там где у нас система):

sudo cryptsetup -v --debug luksAddNuke /dev/sda2

Вводим существующий пароль для расшифровки диска с системой.

Затем два раза вводим Nuke пароль.

Теперь у нас два ключа: пароль "B" - для расшифровки диска с системой Manjaro (/dev/sda2) пароль "A" - который у нас используется для расшифровки Grub загрузчика (/dev/sda1), а также используется как Nuke-пароль для уничтожения заголовков с диска Manjaro (/dev/sda2).

Мы разобрались с установкой и настройкой дистрибутива, теперь нас ждёт приключение с настройкой машины и сети.


Report Page