Статья Как настроить Kali Linux в плане безопасности и анонимности

f010c2c0875b97ab74dec7bda52.jpg


Приветствую форумчане!

Решил накатать небольшую статейку для тех, кто только решил освоить .

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

436536536.jpg


Все манипуляции, описанные в статье, проводились на Kali 64 bit с графическим окружением Gnome 3.

За работоспособность на другой разрядности или окружении я не ручаюсь. Все делаете на свой страх и риск!

Для начала узнаем какая разрядность у вашей системы:
Код:
grep -qP ’^flags\s*:.*\blm\b’ /proc/cpuinfo && echo 64-bit || echo 32-bit
Снимок экрана от 2017-12-04 23-07-06.png


Затем качаем образ только и сверяем контрольные суммы методом:
Код:
sha256sum kali-linux-2017.3-amd64.iso
Записываем его на флешку обьемом от 4 Gb с помощью утилиты
Будем устанавливать Kali Linux на полностью зашифрованную файловую систему.
Как это сделать написано в статье на форуме. Более развернутого гайда я не встречал.
Прелести именно этой установки я обьяснять не буду :) Возможно вы поймете это позже.

102117_1217_Kali30.png

После первого входа в систему отключим swap через Меню-Утилиты-Диски. Это самый быстрый способ:

Снимок экрана от 2017-12-04 23-02-50.png


Не надо пользоваться моей инструкцией с перезаписью swap из этой темы.
Она для уже юзанной системы, а на свежеустановленной достаточно указанного выше!
Отключен ли swap, можно посмотреть в Системном мониторе:

Снимок экрана от 2017-12-05 01-50-31.png


Проверяем, чтобы репозитории в /etc/apt/sources.list имели вид:
Код:
deb http://http.kali.org/kali kali-rolling main contrib non-free
# deb-src http://http.kali.org/kali kali-rolling main contrib non-free
Сделаем, чтобы при каждом подключении к сети mac менялся на рандомный.
(Спасибо@z3RoTooL за прекрасную подсказку в своей статье)
Для этого содержимое файла /etc/NetworkManager/NetworkManager.conf меняем на:
Код:
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[connection]
wifi.cloned-mac-address=random

[connection]
ethernet.cloned-mac-address=random
Теперь правильно и безопасно настроим ssh, ведь без него никуда:
Код:
update-rc.d -f ssh remove
update-rc.d -f ssh defaults
cd /etc/ssh/
mkdir insecure_original_default_kali_keys
mv ssh_host_* insecure_original_default_kali_keys/
dpkg-reconfigure openssh-server
В файле конфигурации /etc/ssh/sshd_config меняем:
Код:
# Port 22
# PermitRootLogin without-password
на
Код:
Port 2282
PermitRootLogin no
Порт 22 меняем на любой нестандартный (в нашем случае 2282) для защиты от брутфорса.
PermitRootLogin no запрещает другим машинам подключаться к root пользователю на нашей машине.
Возможно в дальнейшем вы обзаведетесь своим VPS. Поэтому советую подключаться к нему не по паролю, а создать ключ, так как это безопасней:
Код:
ssh-keygen -t rsa
Жмем Enter несколько раз. Сгенерированный ключ /root/.ssh/id_rsa.pub потом поместите на свой сервер.
Так же не советую добавлять службу ssh в автозагрузку, а стартовать/выключать командами:
Код:
service ssh start
service ssh stop
Теперь важный момент в статье. Сделаем пароль самоуничтожения заголовков зашифрованного диска.
По сути без них он превращается просто в кирпич. По этой теме есть прекрасная статья на форуме.
Позволю себе сократить этот процесс до минимума:
Код:
cryptsetup luksAddNuke /dev/sda5
Enter any existing passphrase: Ваша фраза шифрования
Enter new passphrase for key slot: Пароль самоуничтожения
Verify passphrase: Повтор пароля самоуничтожения

cryptsetup luksHeaderBackup --header-backup-file luksheader.back /dev/sda5

file luksheader.back

openssl enc -aes-256-cbc -salt -in luksheader.back -out luksheader.back.enc
enter aes-256-cbc encryption password: Пароль для зашифрованного заголовка
Verifying - enter aes-256-cbc encryption password: Повтор пароля для зашифрованного заголовка

ls -lh luksheader.back*

file luksheader.back*
Файлы luksheader.back и luksheader.back.enc храним на зашифрованной с помощью LUKS
(можно сделать с помощью Меню-Утилиты-Диски) microsd флешке где нибудь вне дома.
Идеально подойдет какое нибудь гнездо в лесу.

Вот теперь пора бы нам обновить систему:
Код:
apt-get update && apt-get dist-upgrade
Так же скорее всего запросит, поэтому удаляем ненужные пакеты:
Код:
apt autoremove
Если в будущем хотим получать обновления по https, то выполняем:
Код:
apt install apt-transport-https
Проверяем, чтобы репозитории в /etc/apt/sources.list имели вид:
Код:
deb https://http.kali.org/kali kali-rolling main non-free contrib
# deb-src https://http.kali.org/kali kali-rolling main non-free contrib
И снова обновим систему:
Код:
apt-get update && apt-get dist-upgrade
Софт. Почему именно такой? Дальше будет описание, зачем нужен каждый инструмент:
Код:
apt-get install mat steghide network-manager-openvpn-gnome secure-delete keepassx pidgin pidgin-otr etherape irssi tor lighttpd virtualbox
mat - удаление метаданных в файлах
steghide - позволяет скрывать информацию методом стеганографии
network-manager-openvpn-gnome - нужен для настройки VPN
secure-delete - предназначен для безвозвратного удаления данных и удаления остаточной информации
keepassx - для безопасного хранение паролей
pidgin и pidgin-otr - джаббер клиент с шифрованием. Это вам не телега!
etherape - анализатор пакетов/инструмент для трафика
irssi - консольный IRC-клиент
tor и lighttpd - в представлении не нуждается. Пригодится, как начиная от банального использования утилиты torsocks, так и до подьема своего ресурса в сети Tor.
virtualbox - виртуальная машина, которая может пригодиться для установки ...

jedi_linux.jpg


Так же думаю не лишним будет установить и донастроить еще кое что:
Bluetooth. Он нормально не работает, поэтому пользуемся мануалом по настройке.
Ram wiping. Очишает дамп оперативной памяти при перезагрузке.
VPN. Написал статью с примером на сервисе riseup, но на другом ресурсе тоже сработает команда:
Код:
openvpn --client --dev tun --config ВАША_КОНФИГУРАЦИЯ.ovpn --proto tcp
Уже закупились вай-фай адаптером ALFA или только думаете? Тогда пишем скрипт /bin/wlan1 с содержимым:
Код:
#!/bin/sh

ifconfig wlan1 down
macchanger -r wlan1
iw reg set BZ
iwconfig wlan1 txpower 30
ifconfig wlan1 up
echo "MAC updated..."
exit 0
и делаем его исполняемым:
Код:
chmod +x /bin/wlan1
Теперь при подключении ALFA и вводе в терминале команды wlan1 будет не только меняться mac, но и повышаться мощность.
Возможно вам пригодится Tor browser?
Не забудьте добавить в путь_до/tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc в самый низ строки:
Код:
ExcludeNodes {ru},{ua},{by}
Это исключит подключение к неблагополучным нодам. Если провайдер блокирует доступ:


Вот собственно и все. Конечно я могу продолжать бесконечно :) но это же для новичков.

Всем спасибо за внимание.

По материалам статьи записали ролик с обновленной информацией на момент публикации ролика:

 

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
Пользуйтесь

history -c чистит в самом терминале но следы есть в bash_history
> ~/.bash_history чистим историю окончательно
> ~/.zsh_history когда установлен zsh чистим историю

Также для параноиков кидайте в cron
PredatorGXG, верно подмечено... Но перестает оставлять следы с того момента, как мы модифицируем ~/.bashrc
~/.bash_history
чистим ручками и все ;) ничего не оставляет
 

MLNK

Mod. Ethical Hacking
Red Team
23.01.2018
560
706
BIT
7
Отличная статья, приятно читать!
пару мелочей заметил:

Код:
NetworkManager.conf
[main]
plugins=ifupdown,keyfile

NetworkManager.conf внутри конфига NetworkManager.conf неособо нужен

с репозиториев кали уже не устанавливается.

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

Кстати всё что здесь сделанно посути монжо запихнуть в скрипт так сказать "afterNewKaliInstall.sh"

ещё раз спасибо за статью и удачи в развитии!
 
  • Нравится
Реакции: ghost

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
Отличная статья, приятно читать!
пару мелочей заметил:



NetworkManager.conf внутри конфига NetworkManager.conf неособо нужен


с репозиториев кали уже не устанавливается.

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

Кстати всё что здесь сделанно посути монжо запихнуть в скрипт так сказать "afterNewKaliInstall.sh"
По etherape я уже сделал статью...


ещё раз спасибо за статью и удачи в развитии!
Не за что. Рад стараться. Для развития свободного программного обеспечения.
Да. NetworkManager.conf - это опечатка. Стоит убрать для предотвращения путаницы.
Насчёт статьи подумываю. Но почему бы не дополнять эту а не плодить темы?
Насчёт скрипта для ленивых всё верно. )) С какой то точки зрения...
Прости за дерзость. Сисадмин сам? Просто похожие точки соприкосновения...
 

MLNK

Mod. Ethical Hacking
Red Team
23.01.2018
560
706
BIT
7
Прости за дерзость. Сисадмин сам? Просто похожие точки соприкосновения...
я вообще противник любого вида субординации так что со всеми говору на ты, кроме стариков которых не знаю.
я сам пертестер ака консультант по ИБ. (офф проффесия).

Насчёт статьи подумываю. Но почему бы не дополнять эту а не плодить темы?
давно о подобном думал, как-то к своей статье хотел добавить комментарий, а прав на редактирование не было уже. Это приводит к проблеме что вся полезная инфа разскидана на 10-100 страницах комментариев.

Можно узнать у админов @WebWare Team будет ли возможность автору дополнять статью самостоятельно. и тогда уже просто интересные комменты докидывать статье как доп материалы
 
  • Нравится
Реакции: ghost

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
я вообще противник любого вида субординации так что со всеми говору на ты, кроме стариков которых не знаю.
я сам пертестер ака консультант по ИБ. (офф проффесия).
Я к тому сказал, что только у сисадминов на 90% привычка автоматизировать всё скриптами.
Не плохая кстати...
 

MLNK

Mod. Ethical Hacking
Red Team
23.01.2018
560
706
BIT
7
Я к тому сказал, что только у сисадминов на 90% привычка автоматизировать всё скриптами.
Не плохая кстати...
та нет, я просто ленивый дожути. лучше час посижу скрипт накатаю чем каждый раз руками. да и по правилам переда началом каждого проекта должен быть полный вайп рабочей тачки. так что ты понимашь :)
 
  • Нравится
Реакции: shooter и ghost

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
та нет, я просто ленивый дожути. лучше час посижу скрипт накатаю чем каждый раз руками. да и по правилам переда началом каждого проекта должен быть полный вайп рабочей тачки. так что ты понимашь :)
Да в курсе
 
  • Нравится
Реакции: MLNK

shooter

Green Team
25.10.2016
184
146
BIT
0
@5h3ll вот вы все тестеры отличные, было бы пипец как интересно почитать о рабочем процессе, как вы все это делаете, с чего начинаете, как ведете и чем все заканчивается с вытекающими последствиями.
 

MLNK

Mod. Ethical Hacking
Red Team
23.01.2018
560
706
BIT
7
@5h3ll вот вы все тестеры отличные, было бы пипец как интересно почитать о рабочем процессе, как вы все это делаете, с чего начинаете, как ведете и чем все заканчивается с вытекающими последствиями.
в каждой фирме своя организация процессов. опятьже вопрос в том кактой род пентеста. в крации всё сводится к пунктам
  1. сбор инфы (самая долгая часть если речь идёт о блэкбокс тесте)
  2. поиск уязвимости
  3. проверка уязвимости(эксплуатация невсегда разрешена ибо может повредить продакшн системе)
  4. написание отчёта (технического и общего )
  5. сдача проекта рекомендации и тд.
опять же каждый работник подписывает DNA и говорить подробно о рабочих процессах я не могу. только в общих чертах.
 
  • Нравится
Реакции: ghost и shooter

MLNK

Mod. Ethical Hacking
Red Team
23.01.2018
560
706
BIT
7
@5h3ll вот вы все тестеры отличные, было бы пипец как интересно почитать о рабочем процессе, как вы все это делаете, с чего начинаете, как ведете и чем все заканчивается с вытекающими последствиями.
добавлю немного.
всё это в итоге опыт. каждый вырабатывает организацию процесса тестирования так как ему удобно. ученики как правило перенимаю её от учителя и потом также дорабатывают под себя или перерабатывают.
вообще хакинг по хорошему это исскуство, нет конкретного алгоритма или программы с кнопкой "взломать всё". важен конечный результат, как он достигнут интересно только в целях обучения.
 
  • Нравится
Реакции: ghost, shooter и Djon253

shooter

Green Team
25.10.2016
184
146
BIT
0
Понимаю что все сводится к рабочему процессу, с активными фазами и пассивными, типа написание 10ти листового отчета) Было бы очень интересно почитать про какие-то случаи, не стандартные ситуации, про большие и тяжелые проекты, бывают же конторы которые не совсем дырявые, чтиво типа баек)) но с техническими особенностями.
И еще, у нас же ИБ ресурс, так вот статей по безопасности у нас ну не очень много, я понимаю, базовая защита сводится тоже к нескольким пунктам (пароли, фаер, права, обновления безопасности...), но интересно почитать конкретнее, как придти к успеху)) и защитить свой офис на 100\300 юзеров.
Хм:unsure:
Можно даже опрос запустить среди тестеров, "чем вы протыкали офис чаще всего".
 

valerian38

Grey Team
20.07.2016
662
764
BIT
81
нет конкретного алгоритма или программы с кнопкой "взломать всё"
Есть!!!!!! Теперь все юные хацкеры могут делать всё что хотят, не надо ничему учиться, всё уже написано и сделано. Специально для тех кто хочет всё взломать.

 
  • Нравится
Реакции: Vertigo

Глюк

Red Team
03.01.2018
1 185
1 879
BIT
177
Есть!!!!!! Теперь все юные хацкеры могут делать всё что хотят, не надо ничему учиться, всё уже написано и сделано. Специально для тех кто хочет всё взломать.

думаю этой проге можно доверять. ведь разрабатывал её 18 летний программист с 25 летним стажем программирования...
 

valerian38

Grey Team
20.07.2016
662
764
BIT
81
думаю этой проге можно доверять. ведь разрабатывал её 18 летний программист с 25 летним стажем программирования...
Эта прога заслуживает 100% доверия, 18 летний возраст - это маскировка от разоблачения, все спецслужбы мира охотятся за этим программистом. Смайлики не ставлю чтобы не спалиться.
 
  • Нравится
Реакции: vainah, Vertigo и Глюк

MLNK

Mod. Ethical Hacking
Red Team
23.01.2018
560
706
BIT
7
После первого входа в систему отключим swap через Меню-Утилиты-Диски. Это самый быстрый способ:
к слову есть ещё пару способов отключения может комуто пригодится.

Временный (до ребута)
Код:
sudo swapoff -a

И перманентрый
Код:
sudo nano /etc/fstab

после в файле конфига закоментировать строку со swap.
 

Mitistofel

Green Team
03.06.2018
264
151
BIT
0
В файле конфигурации /etc/ssh/sshd_config меняем:
Какую из этих двух строчек менять?

#PermitRootLogin prohibit-password
# the setting of "PermitRootLogin without-password".

Поменял эту:
#PermitRootLogin prohibit-password
вроде всё работает, значит её менять надо было...
 
Последнее редактирование:

Mitistofel

Green Team
03.06.2018
264
151
BIT
0
Не фига не работает, щас такая проблема "E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен) E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); он уже используется другим процессом?". Ищу в поисковике как исправить...

Решил это по этой статье

Но всё равно чё то не то, потому что не один сайт не пингуется после того как делал по рекомендациям ТСа...
Кто знает как решить?
 
Последнее редактирование:
  • Нравится
Реакции: ghost

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
Какую из этих двух строчек менять?

#PermitRootLogin prohibit-password
# the setting of "PermitRootLogin without-password".

Поменял эту:
#PermitRootLogin prohibit-password
вроде всё работает, значит её менять надо было...
# $OpenBSD: sshd_config,v 1.102 2018/02/16 02:32:40 djm Exp $

# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.

Port 2282
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
#Banner none

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
Надеюсь так понятней))
Не фига не работает, щас такая проблема "E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен) E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); он уже используется другим процессом?". Ищу в поисковике как исправить...

Решил это по этой статье

Но всё равно чё то не то, потому что не один сайт не пингуется после того как делал по рекомендациям ТСа...
Кто знает как решить?
Как один из вариантов исправить ошибку с /var/lib/dpkg/lock
 
  • Нравится
Реакции: Vertigo
Мы в соцсетях:

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