Установка Kali - Джедайский вариант

Discussion in 'Linux, Freebsd, *nix' started by ckpunmkug, 4 Jun 2019.

  1. ckpunmkug

    ckpunmkug Member

    Joined:
    20 Mar 2017
    Messages:
    72
    Likes Received:
    72
    Reputations:
    10
    Предупреждение для тех кто привык к оконным интерфейсам и боится терминала: Вы можете испытать нервное потресение, глубокое непонимание и сильное раздражение. Если вы неуверенны в своей психике закройте данный текст немедленно.

    У нас уже есть флэшка с Kali Live и мы с неё загрузились.

    Запускаем gparted и разбиваем диск. Понадобится два раздела: один в ext4 для корня и второй в swap для свопа. Однажды я компилил исходники к андроиду, после этого делаю своп на 16Gb. Отдельно разделы под home, usr или var не выделяю.

    Запускаем терминал. Можно в иксах, а можно нажать Ctrl+Alt+F1

    Для тех кто переключился в консоль


    НАСТРОЙКА КОНСОЛИ

    Настройка локали
    Code:
    apt install locales
    dpkg-reconfigure locales
    То что выбрал я

    Locales to be generated:
    [*] en_US.UTF-8 UTF-8
    [*] ru_RU.UTF-8 UTF-8
    Default locale for the system environment = en_US.UTF-8

    Настройка клавы
    Code:
    apt install keyboard-configuration
    dpkg-reconfigure keyboard-configuration
    То что выбрал я

    Keyboard model = Generic 105-key PC (intl.)
    Keyboard layout = Russian
    Method for toggling between national and Latin mode = Caps Lock - привыкнув использовать капслок начинаешь понимать насколько неудобно переключаться используя Alt+Shift, когда приходится работать в винде (хвала создателю приходится это делать раз в полгода).
    Method for temporarily toggling between national and Latin input = No temporary switch - Служит для временного переключения между языками, может пригодится например если печатаете в vim кирилицей, а нужно использовать латинский что бы написать слово или нажать комбу.
    Key to function as AltGr = No AltGr key
    Compose key = No compose key - Назначение этого параметра для меня загадка.
    Use Control+Alt+Backspace to terminate the X server? = Yes - удобная фигня для прибивания иксов, может пригодится во время эксперементов с настройками.

    Настройка шрифтов
    Code:
    apt install console-setup
    dpkg-reconfigure console-setup
    То что выбрал я

    Encoding to use on the console = UTF-8
    Character set to support = # Cyrillic - KOI8-R and KOI8-U
    Font for the console = TerminusBold
    - Самый лучший из моноширных шрифтов
    Font size = 10x20 (framebuffer only) - Самый лучший размер для букв
    УСТАНОВКА СИСТЕМЫ

    Установим установщик
    Code:
    apt install debootstrap
    man 8 debootstrap - для пытливых умов

    Посмотрим как называется дистрибутив и откуда нам качать пакеты (debian packages)
    Code:
    cat /etc/apt/sources.list
    имя (SUITE) - kali-rolling
    хранилище (MIRROR) - http://http.kali.org/kali

    Монтируем корень будущей системы (у меня корень /dev/sda6) в /mnt (TARGET)
    Code:
    mount /dev/sda6 /mnt
    Устанавливаем базовый набор програм
    Code:
    debootstrap kali-rolling /mnt http://http.kali.org/kali
    Отправляем данные для монтировки разделов (они понадобятся позже)
    Code:
    lsblk -o NAME,LABEL,FSTYPE,UUID /dev/sda >> /mnt/etc/fstab
    Монтируем виртуальные фс для будущего корня
    Code:
    mount -B /dev /mnt/dev
    mount -t devpts devpts /mnt/dev/pts
    mount -t proc proc /mnt/proc
    mount -t sysfs sys /mnt/sys
    Сделаем корнем нашу систему
    Code:
    chroot /mnt
    Подправим source.list
    Code:
    vim.tiny /etc/apt/sources.list
    source.list
    Code:
    deb http://http.kali.org/kali kali-rolling main non-free contrib
    Обновим список пакетов
    Code:
    apt update
    Настроим консоль (смотреть выше)

    Установим пароль руту (постоянно зыбывал это делать, загружаешь свежую систему, а попасть в неё не можешь)
    Code:
    passwd
    Настроим монтировку корня и свопа
    Code:
    vim.tiny /etc/fstab
    /etc/fstab
    Code:
    # sda1 swap   swap
    UUID=2dca7465-8c29-49a5-ac04-6991a0a66fd5       none    swap    sw                      0       0
    # sda6 ext4   root
    UUID=84526d7f-0363-4171-bdf7-6a8a690e80ee       /       ext4    errors=remount-ro       0       1
    Установим ядро и дрова
    Code:
    apt install linux-image-amd64 firmware-linux-free firmware-linux-nonfree
    Установим загрузчик
    Code:
    apt install grub2
    Выходим из chroot
    Code:
    exit
    Отмонтируем систему
    Code:
    umount /mnt/sys
    umount /mnt/proc
    umount /mnt/dev/pts
    umount /mnt/dev
    umount /mnt
    Установка завершена. Перегружаемся.
    Code:
    reboot
     
    #1 ckpunmkug, 4 Jun 2019
    Last edited: 4 Jun 2019
    fandor9, CKAP and Payer like this.
  2. ckpunmkug

    ckpunmkug Member

    Joined:
    20 Mar 2017
    Messages:
    72
    Likes Received:
    72
    Reputations:
    10
    КОНСОЛЬ
    После того как мы перезагрузились в свежую систему мы оказались в пустом линуксе. Что бы наполнить его прогами нужно подключится к инэту. Но во время установки я не стал добавлять нужные пакеты поэтому придётся перезагрузится в Kali Live смонтировать как в инструкции по установке и сделать chroot.

    Устанавливаем то что нужно для соединения с инетом.
    Code:
    apt install net-tools wpasupplicant
    После того как установили перегружаем машину

    Смотрим какие сетевухи в системе
    Code:
    ifconfig -a
    Настроим их подключение /etc/network/interfaces
    Code:
    iface enp2s0 inet dhcp
    iface wlp8s0 inet dhcp
        wpa-ssid SSIDName
        wpa-psk WiFiPassword
    Что бы не прочитали пароль от WiFi
    Code:
    chmod 600 /etc/network/interfaces
    Подключаюсь и отключаюсь по езэрнэту
    Code:
    ifup enp2s0
    ifdown enp2s0
    По вайфаю
    Code:
    ifup wlp8s0
    ifdown wlps0
    Установим собственный розолвер имён
    Code:
    apt install bind9 dnsutils
    Добавим в /etc/bind/named.conf.options
    Code:
            recursion yes;
            allow-query { 127.0.0.1; };
            listen-on { 127.0.0.1; };
    Изменим /etc/default/bind9
    Code:
    OPTIONS="-4 -u bind"
    Запустим
    Code:
    systemctl enable bind9
    systemctl start bind9
    Сделаем так что бы dhclient не брал сервера имён провайдера
    Добавим строчку в /etc/dhcp/dhclient.conf
    Code:
    supersede domain-name-servers 127.0.0.1;
    Отключимся от инета
    Оставим в /etc/resolv.conf только
    Code:
    nameserver 127.0.0.1
    Подключимся к инэту и проверим преобразование имён
    Code:
    cat /etc/resolv.conf
    netstat -antup
    nslookup forum.antichat.ru
     
    #2 ckpunmkug, 4 Jun 2019
    Last edited: 6 Jun 2019
    fandor9 and CKAP like this.
  3. ckpunmkug

    ckpunmkug Member

    Joined:
    20 Mar 2017
    Messages:
    72
    Likes Received:
    72
    Reputations:
    10
    ИКСЫ
    Подправим конфиг /etc/hostname
    Code:
    localhost
    Установим иксы
    Code:
    apt install xorg xfwm4 xfce4 xfce4-terminal mousepad
    Перезагружаем комп, а после перезагрузки жмём Ctrl+Alt+F1 и работаем в консоли

    Найдём прогу которая показывает окошко входа
    Code:
    ps ax
    Это прога /usr/sbin/lightdm

    Удалим её
    Code:
    systemctl stop lightdm
    systemctl disable lightdm
    apt purge lightdm
    apt autoremove
    Перезагрузимся

    Добавим пользователя
    Code:
    adduser --ingroup users --gecos "" user
    chmod 700 /home/user
    Нажмём Alt+F6 и залогинемся им

    Запустим иксы
    Code:
    startx
    Выберите Use default config

    Переключимся обратно к руту Ctrl+Alt+F1

    Настроим звук
    Code:
    apt install alsa-utils
    alsactl -L init
    adduser user audio
    После перезагрузки появится звук, и он не будет прерываться при переключении в консоль

    Добавим возможность запускать в иксах приложения от имени других пользователей
    Code:
    addgroup --gid 99 xusers
    addgroup user xusers
    touch /var/local/Xauthority
    chown user:xusers /var/local/Xauthority
    chmod 640 /var/local/Xauthority
    У юзера в терминале выполняем
    Code:
    xauth extract /var/local/Xauthority $DISPLAY
    echo $DISPLAY
    Добавим экстракт в автозагрузку юзеру
    Выбираем Applications -> Settings -> Session and Startup -> Application Autostart -> Add
    Name = xshare
    Description = share xuathority
    Command = xauth extract /var/local/Xauthority :0.0


    В консоле рута
    Code:
    export DISPLAY=":0.0"
    export XAUTHORITY="/var/local/Xauthority"
    xfce4-terminal
    Переключаемся в иксы Alt+F6 и пользуемся рутовым терминалом

    Добавим возможность запускать торнутый браузер от имени тора
    Code:
    apt install tor
    Подправим /etc/passwd
    Code:
    debian-tor:x:109:115::/var/lib/tor:/bin/bash
    Загрузим браузер
    Code:
    apt install lynx
    su -l debian-tor
    lynx https://torproject.org
    tar -xvf ./tor-browser-linux64-8.5.1_en-US.tar.xz
    exit
    Распоковали и вышли в рута

    Создадим тору стартер /usr/local/bin/tor-browser
    Code:
    export DISPLAY=":0.0"
    export XAUTHORITY="/var/local/Xauthority"
    cd /var/lib/tor/tor-browser_en-US/Browser
    ./start-tor-browser
    Последние штрихи
    Code:
    chmod 755 /usr/local/bin/tor-browser
    addgroup debian-tor xusers
    apt install ntpdate
    ntpdate us.pool.ntp.org
    Запускаем
    Code:
    su -c /usr/local/bin/tor-browser -l debian-tor
     
    #3 ckpunmkug, 4 Jun 2019
    Last edited: 6 Jun 2019
    fandor9 and CKAP like this.
  4. ckpunmkug

    ckpunmkug Member

    Joined:
    20 Mar 2017
    Messages:
    72
    Likes Received:
    72
    Reputations:
    10
    СЕРВЕР
    Установим web набор
    Code:
    apt install apache2 default-mysql-server php php-mysql chromium
    Добавим почтовик
    Code:
    apt install postfix
    Мой выбор:
    General type of mail configuration = Local only
    System mail name = localhost.localdomain


    Отредактируем /etc/hosts
    Code:
    127.0.0.1       localhost.localdomain
    ::1             ip6-localhost ip6-loopback
    Далее изолируем виртуальный хост
    Подправим /etc/apache2/ports.conf
    Code:
    Listen 127.0.0.1:80
    ServerName localhost
    Изолируем файловую систему средствами php
    Добавим в /etc/apache2/sites-available/000-default.conf
    Code:
            <IfModule mod_php7.c>
                    php_admin_value open_basedir "/var/www/html:/tmp"
            </IfModule>
    Изолируем сеть
    Code:
    ip netns add isolator
    ip netns exec isolator ifconfig lo up 127.0.0.1/8
    Зайдём в изолятор
    Code:
    ip netns exec isolator /bin/bash
    Запустим postfix
    Code:
    postfix start
    Запустим apache2
    Code:
    . /etc/apache2/envvars
    export APACHE_STARTED_BY_SYSTEMD=false
    /usr/sbin/apachectl start
    Запустим mysql
    Code:
    mkdir -p /var/run/mysqld
    chown -R mysql:mysql /var/run/mysqld
    mysqld --user=mysql --pid-file=/var/run/mysqld/mysql.pid &
    Проверим
    Code:
    netstat -antup
    Далее запустим браузер
    Подправим /etc/passwd
    Code:
    www-data:x:33:33:www-data:/home/www-data:/bin/bash
    Создадим домашний каталог что бы браузер мог класть туда файло
    Code:
    mkdir /home/www-data
    chown www-data:www-data /home/www-data
    chmod 700 /home/www-data
    Разрешим запускать проги в иксах
    Code:
    adduser www-data xusers
    Логинимся юзером запускаем иксы и переключаемся обратно в консоль

    Создадим стартер /usr/local/bin/www-browser
    Code:
    export DISPLAY=":0.0"
    export XAUTHORITY="/var/local/Xauthority"
    /usr/bin/chromium --password-store=basic
    Code:
    chmod 755 /usr/local/bin/www-browser
    Находясь в изоляторе запускаем
    Code:
    su -c /usr/local/bin/www-browser -l www-data &
    Переключаемся в иксы и проверяем http://localhost/index.html

    Назад в изолятор и тушим систему
    Выключаем mysql
    Code:
    kill -SIGTERM `cat /var/run/mysqld/mysql.pid`
    Выключаем apache
    Code:
    /usr/sbin/apachectl stop
    Выключаем postfix
    Code:
    postfix stop
    Выходим и удаляем изолятор
    Code:
    exit
    ip netns delete isolator
     
    #4 ckpunmkug, 4 Jun 2019
    Last edited: 6 Jun 2019
    fandor9 and CKAP like this.
  5. ckpunmkug

    ckpunmkug Member

    Joined:
    20 Mar 2017
    Messages:
    72
    Likes Received:
    72
    Reputations:
    10
    БОНУС
    В иксах выбираем в меню Settings -> Accessibility -> Mouse -> Use mouse emulation
    Acceleration delay = 50
    Repeat interval = 10
    Acceleration time = 1000
    Maximum speed = 2000


    Теперь мышиный курсор управляется с Num Pad кнопок.
    Можно мышь убирать в шкаф. Моя там давно лежит.

    Избавляемся от назойливой панельки
    Запускаем терминал
    Code:
    ps ax | grep xfce4-panel
    kill -SIGTERM 1231
    Закрываем терминал

    Нажимаем Alt+F4 и выходим с сохранением.
    Снова запусаем иксы и выходим без сохранения

    Что бы вызвать меню нажмите Ctrl+Esc

     
    #5 ckpunmkug, 6 Jun 2019
    Last edited: 6 Jun 2019
  6. CKAP

    CKAP Well-Known Member

    Joined:
    9 Oct 2015
    Messages:
    653
    Likes Received:
    2,865
    Reputations:
    8
    Норм.. а своп потом нужно убивать? :oops:
    Ну или шифровать хз..
     
  7. ckpunmkug

    ckpunmkug Member

    Joined:
    20 Mar 2017
    Messages:
    72
    Likes Received:
    72
    Reputations:
    10
    Лично мне, без надобности шифровать или очищать, специально, раздел подкачки.
    Тем не менее по теме: Encrypted swap partition on Debian/Ubuntu
     
    CKAP likes this.
  8. 3TON

    3TON Member

    Joined:
    18 Feb 2020
    Messages:
    11
    Likes Received:
    7
    Reputations:
    1
    Спасибо ТС, все четко и понятно расписано)
    за своп тоже слышал, что лучше его удалять, правда так и не понял зачем(