Тестеры на проникновение и хакеры Black Hat превыше всего ценят конфиденциальность и анонимность. Такой дистрибутив, как Kali Linux, инструмент, который предпочитают исследователи безопасности и тестеры на проникновение, может не предоставлять их постоянно, особенно в общественных местах, где запуск кода и открытие нескольких терминалов могут легко привлечь к себе ненужное внимание.
Offensive Security учел это и включил в Kali Linux 2019.4 режим, известный как режим под прикрытием.
Режим под прикрытием в Kali Linux — это набор скриптов, которые позволяют имитировать среду Windows 10 в Kali Linux. Он преобразует весь интерфейс в эквивалент Windows 10, ограничивая внимание, которое вы могли бы привлечь, если бы вы запускали XFCE с различными запущенными терминалами и драконом Kali в фоновом режиме.
Чтобы включить и использовать скрытый режим Kali Linux, вам потребуется Kali Linux 2019.4 или новее.
Обновление до версии 2019.4 или более поздней
Начните с обновления вашего дистрибутива с помощью команд:
sudo apt update
sudo apt -y full-upgrade
Вам также может потребоваться использовать среду рабочего стола XFCE.
Включение режима Kali под прикрытием
Чтобы запустить скрытый режим, откройте терминал и введите команду:
kali-undercover
Если вы предпочитаете использовать графический интерфейс, запустите меню приложения и найдите Kali Linux Undercover.
Возврат в нормальный режим
Чтобы вернуться в режим по умолчанию, введите команду:
20 команд netstat для управления сетью Linux и Windows
Этот инструмент очень важен и полезен для сетевых администраторов Linux/Windows для мониторинга и устранения неполадок, связанных с сетью, и определения производительности сетевого трафика. В этой статье показано использование команды netstat с примерами, которые могут быть полезны при ежедневной работе.
1. Перечисление всех портов для соединений TCP и UDP
Список всех портов (как TCP, так и UDP) с использованием опции netstat -a.
# netstat -a | more
2. Перечисление соединений TCP-портов
Список соединений TCP (Transmission Control Protocol) с использованием опции netstat -at.
# netstat -at
3. Спикок соединений портов UDP
Список соединений UDP (User Datagram Protocol) с использованием опции netstat -au.
# netstat -au
4. Список всех открытых входящих портов
Список всех открытых входящих портов с использованием опции netstat -l.
# netstat -l
5. Список всех активных входящих портов TCP
Список всех активных TCP-портов прослушивания с использованием опции netstat -lt.
# netstat -lt
6. Список всех активных входящих портов UDP
Список всех активных входящих портов UDP с использованием опции netstat -lu.
# netstat -lu
7. Список всех активных входящих сокетов UNIX
Список всех активных входящих сокетов UNIX с помощью опции netstat -lx.
# netstat -lx
8. Отображение статистики по всем протоколам
По умолчанию для протоколов TCP, UDP, ICMP и IP показаны статистические данные. Параметр -s может использоваться для указания набора протоколов.
# netstat -s
9. Отображение статистики по протоколу TCP
Отображение статистики TCP-протокола с использованием опции netstat -st.
# netstat -st
10. Отображение статистики по протоколу UDP
Отображение статистики UDP-протокола с использованием опции netstat -su.
# netstat -su
11. Отображение имени службы с PID
Ниже приведен пример отображения имени службы с её номером PID. Для этого необходимо использовать опцию netstat -tp, которая отобразит «PID / Program Name».
# netstat -tp
12. Отображение режима Promiscuous
Promiscuous mode или promisc mode — так называемый «неразборчивый» режим, в котором сетевая плата позволяет принимать все пакеты независимо от того, кому они адресованы.
Отображая режим Promiscuous с переключателем -ac, netstat выводит выбранную информацию на экран и обновляет её каждые пять секунд. По умолчанию экран обновляется каждую секунду.
# netstat -ac 5 | grep tcp
13. Отображение маршрутизации IP-адреса ядра
Отображение таблицы IP-маршрутизации ядра с помощью команды netstat.
# netstat -r
14. Отображение транзакций сетевого интерфейса
Отображение транзакций пакетов сетевого интерфейса, включая как отправляемые, так и принимаемые пакеты с размером MTU.
# netstat -i
15. Отображение таблицы интерфейса ядра
Команда отображает таблицу интерфейса ядра, аналогично команде ifconfig.
# netstat -ie
16. Отображение информации IPv4 и IPv6
Отображает информацию о членстве в многоадресной группе для IPv4 и IPv6.
# netstat -g
17. Циклический вывод информации Netstat
Чтобы получать информацию netstat каждые несколько секунд, используйте команду приведенную ниже. Она будет непрерывно выводить информацию, через каждые несколько секунд.
# netstat -c
18. Поиск не поддерживаемых адресов
Команда выводит список не настроенных семейств адресов с некоторой полезной информацией.
# netstat --verbose
19. Поиск программ прослушивания
Узнайте, сколько программ прослушивает работу на портов.
Иногда может понадобится найти файл, в котором содержится определённая строка или найти строку в файле, где есть нужное слово. В Linux всё это делается с помощью одной очень простой, но в то же время мощной утилиты grep. С её помощью можно искать не только строки в файлах, но и фильтровать вывод команд, и много чего ещё.
В этой инструкции мы рассмотрим, как выполняется поиск текста в файлах Linux, подробно разберём возможные опции grep, а также приведём несколько примеров работы с этой утилитой.
Что такое grep?
Команда grep (расшифровывается как global regular expression print) — одна из самых востребованных команд в терминале Linux, которая входит в состав проекта GNU. Секрет популярности — её мощь, она даёт возможность пользователям сортировать и фильтровать текст на основе сложных правил.
Утилита grep решаем множество задач, в основном она используется для поиска строк, соответствующих строке в тексте или содержимому файлов. Также она может находить по шаблону или регулярным выражениям. Команда в считанные секунды найдёт файл в с нужной строчкой, текст в файле или отфильтрует из вывода только пару нужных строк. А теперь давайте рассмотрим, как ей пользоваться.
Синтаксис grep
Синтаксис команды выглядит следующим образом:
$ grep [опции] шаблон [имя файла…]
Или:
$ команда | grep [опции] шаблон
Опции — это дополнительные параметры, с помощью которых указываются различные настройки поиска и вывода, например количество строк или режим инверсии.
Шаблон — это любая строка или регулярное выражение, по которому будет вестись поиск
Файл и команда — это то место, где будет вестись поиск. Как вы увидите дальше, grep позволяет искать в нескольких файлах и даже в каталоге, используя рекурсивный режим.
Возможность фильтровать стандартный вывод пригодится,например, когда нужно выбрать только ошибки из логов или найти PID процесса в многочисленном отчёте утилиты ps.
Опции
Давайте рассмотрим самые основные опции утилиты, которые помогут более эффективно выполнять поиск текста в файлах grep:
-b — показывать номер блока перед строкой;
-c — подсчитать количество вхождений шаблона;
-h — не выводить имя файла в результатах поиска внутри файлов Linux;
-i — не учитывать регистр;
— l — отобразить только имена файлов, в которых найден шаблон;
-n — показывать номер строки в файле;
-s — не показывать сообщения об ошибках;
-v — инвертировать поиск, выдавать все строки кроме тех, что содержат шаблон;
-w — искать шаблон как слово, окружённое пробелами;
-e — использовать регулярные выражения при поиске;
-An — показать вхождение и n строк до него;
-Bn — показать вхождение и n строк после него;
-Cn — показать n строк до и после вхождения;
Все самые основные опции рассмотрели и даже больше, теперь перейдём к примерам работы команды grep Linux.
Примеры использования
С теорией покончено, теперь перейдём к практике. Рассмотрим несколько основных примеров поиска внутри файлов Linux с помощью grep, которые могут вам понадобиться в повседневной жизни.
Поиск текста в файлах
В первом примере мы будем искать пользователя User в файле паролей Linux. Чтобы выполнить поиск текста grep в файле /etc/passwd введите следующую команду:
grep User /etc/passwd
В результате вы получите что-то вроде этого, если, конечно, существует такой пользователь:
User:x:1000:1000:User,,,:/home/User:/bin/bash
А теперь не будем учитывать регистр во время поиска. Тогда комбинации ABC, abc и Abc с точки зрения программы будут одинаковы:
grep -i "user" /etc/passwd
Вывести несколько строк
Например, мы хотим выбрать все ошибки из лог-файла, но знаем, что в следующей строчке после ошибки может содержаться полезная информация, тогда с помощью grep отобразим несколько строк. Ошибки будем искать в Xorg.log по шаблону «EE»:
grep -A4 "EE" /var/log/xorg.0.log
Выведет строку с вхождением и 4 строчки после неё:
grep -B4 "EE" /var/log/xorg.0.log
Выведет целевую строку и 4 строчки до неё:
grep -C2 "EE" /var/log/xorg.0.log
Выведет по две строки с верху и снизу от вхождения.
Регулярные выражения в grep
Регулярные выражения grep — очень мощный инструмент в разы расширяющий возможности поиска текста в файлах. Для активации этого режима используйте опцию -e. Рассмотрим несколько примеров:
Поиск вхождения в начале строки с помощью спецсимвола «^», например, выведем все сообщения за ноябрь:
grep "^Nov 10" messages.1
Nov 10 01:12:55 gs123 ntpd[2241]: time reset +0.177479 s
Nov 10 01:17:17 gs123 ntpd[2241]: synchronized to LOCAL(0), stratum 10
Вообще, регулярные выражения grep — это очень обширная тема, в этой статье я лишь показал несколько примеров. Как вы увидели, поиск текста в файлах grep становиться ещё эффективнее. Но на полное объяснение этой темы нужна целая статья, поэтому пока пропустим её и пойдем дальше.
Рекурсивное использование grep
Если вам нужно провести поиск текста в нескольких файлах, размещённых в одном каталоге или подкаталогах, например в файлах конфигурации Apache — /etc/apache2/, используйте рекурсивный поиск. Для включения рекурсивного поиска в grep есть опция -r. Следующая команда займётся поиском текста в файлах Linux во всех подкаталогах /etc/apache2 на предмет вхождения строки mydomain.com:
Когда вы ищете строку abc, grep будет выводить также kbabc, abc123, aafrabc32 и тому подобные комбинации. Вы можете заставить утилиту искать по содержимому файлов в Linux только те строки, которые выключают искомые слова с помощью опции -w:
grep -w "abc" имя_файла
Поиск двух слов
Можно искать по содержимому файла не одно слово, а два сразу:
egrep -w 'word1|word2' /path/to/file
Количество вхождений строки
Утилита grep может сообщить, сколько раз определённая строка была найдена в каждом файле. Для этого используется опция -c (счетчик):
grep -c 'word' /path/to/file
C помощью опции -n можно выводить номер строки, в которой найдено вхождение, например:
grep -n 'root' /etc/passwd
Получим:
1:root:x:0:0:root:/root:/bin/bash
Инвертированный поиск в grep
Команда grep Linux может быть использована для поиска строк в файле, которые не содержат указанное слово. Например, вывести только те строки, которые не содержат слово пар:
grep -v пар /path/to/file
Вывод имени файла
Вы можете указать grep выводить только имя файла, в котором было найдено заданное слово с помощью опции -l. Например, следующая команда выведет все имена файлов, при поиске по содержимому которых было обнаружено вхождение primary:
grep -l 'primary' *.c
Цветной вывод в grep
Также вы можете заставить программу выделять другим цветом вхождения в выводе:
grep --color root /etc/passwd
Получится:
Выводы
Вот и всё. Мы рассмотрели использование команды grep для поиска и фильтрации вывода команд в операционной системе Linux. При правильном применении эта утилита станет мощным инструментом в ваших руках. Если у вас остались вопросы, пишите в комментариях!
Очень важно уметь вовремя и очень быстро найти нужную информацию в системе. Конечно, все современные файловые менеджеры предлагают отличные функции поиска, но им не сравнится с поиском в терминале Linux. Он намного эффективнее и гибче обычного поиска, вы можете искать файлы не только по имени, но и по дате добавления, содержимому, а также использовать для поиска регулярные выражения. Кроме того, с найденными файлами можно сразу же выполнять необходимые действия.
В этой статье мы поговорим о поиске с помощью очень мощной команды find Linux, подробно разберем ее синтаксис, опции и рассмотрим несколько примеров.
Основная информация о FIND
Find — это одна из наиболее важных и часто используемых утилит системы Linux. Это команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям.
Утилита find предустановлена по умолчанию во всех Linux дистрибутивах, поэтому вам не нужно будет устанавливать никаких дополнительных пакетов. Это очень важная находка для тех, кто хочет использовать командную строку наиболее эффективно.
Параметры — дополнительные параметры, например, глубина поиска, и т д
Критерий — по какому критерию будем искать: имя, дата создания, права, владелец и т д.
Шаблон — непосредственно значение по которому будем отбирать файлы.
Основные параметры команды find
Я не буду перечислять здесь все параметры, рассмотрим только самые полезные.
-P никогда не открывать символические ссылки
-L — получает информацию о файлах по символическим ссылкам. Важно для дальнейшей обработки, чтобы обрабатывалась не ссылка, а сам файл.
-maxdepth — максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1.
-depth — искать сначала в текущем каталоге, а потом в подкаталогах
-mount искать файлы только в этой файловой системе.
-version — показать версию утилиты find
-print — выводить полные имена файлов
-type f — искать только файлы
-type d — поиск папки в Linux
Критерии
Критериев у команды find в Linux очень много, и мы опять же рассмотрим только основные.
-name — поиск файлов по имени
-perm — поиск файлов в Linux по режиму доступа
-user — поиск файлов по владельцу
-group — поиск по группе
-mtime — поиск по времени модификации файла
-atime — поиск файлов по дате последнего чтения
-nogroup — поиск файлов, не принадлежащих ни одной группе
-nouser — поиск файлов без владельцев
-newer — найти файлы новее чем указанный
-size — поиск файлов в Linux по их размеру
Примеры использования
А теперь давайте рассмотрим примеры find, чтобы вы лучше поняли, как использовать эту утилиту.
1. Поиск всех файлов
Показать все файлы в текущей директории:
find
find .
find . -print
2. Поиск файлов в определенной папке
Показать все файлы в указанной директории:
find ./test
Искать файлы по имени в текущей папке:
find . -name "*.jpg"
Не учитывать регистр при поиске по имени:
find . -iname "test*"
3. Ограничение глубины поиска
Поиска файлов по имени в Linux только в этой папке:
find . -maxdepth 1 -name "*.php"
4. Инвертирование шаблона
Найти файлы, которые не соответствуют шаблону:
find . -not -name "test*"
5. Несколько критериев
Поиск командой find в Linux по нескольким критериям, с оператором исключения:
find . -name "test" -not -name "*.php"
Найдет все файлы, начинающиеся на test, но без расширения php. А теперь рассмотрим оператор ИЛИ:
find -name "*.html" -o -name "*.php"
6. Несколько каталогов
Искать в двух каталогах одновременно:
find ./test ./test2 -type f -name "*.c"
7. Поиск скрытых файлов
Найти скрытые файлы:
find ~ -type f -name ".*"
8. Поиск по разрешениям
Найти файлы с определенной маской прав, например, 0664:
find . type f -perm 0664
Найти файлы с установленным флагом suid/guid:
find / -perm 2644
Или так:
find / -maxdepth 2 -perm /u=s
Поиск файлов только для чтения:
find /etc -maxdepth 1 -perm /u=r
Найти только исполняемые файлы:
find /bin -maxdepth 2 -perm /a=x
9. Поиск файлов по группах и пользователях
Найти все файлы, принадлежащие пользователю:
find . -user sergiy
Поиск файлов в Linux принадлежащих группе:
find /var/www -group developer
10. Поиск по дате модификации
Поиск файлов по дате в Linux осуществляется с помощью параметра mtime. Найти все файлы модифицированные 50 дней назад:
find / -mtime 50
Поиск файлов в Linux открытых N дней назад:
find / -atime 50
Найти все файлы, модифицированные между 50 и 100 дней назад:
find / -mtime +50 –mtime -100
Найти файлы измененные в течении часа:
find . -cmin 60
11. Поиск файлов по размеру
Найти все файлы размером 50 мегабайт:
find / -size 50M
От пятидесяти до ста мегабайт:
find / -size +50M -size -100M
Найти самые маленькие файлы:
find . -type f -exec ls -s {} ; | sort -n -r | head -5
Самые большие:
find . -type f -exec ls -s {} ; | sort -n | head -5
12. Поиск пустых файлов и папок
Поиск файлов
find /tmp -type f -empty
Поиск папок
find ~/ -type d -empty
13. Действия с найденными файлами
Для выполнения произвольных команд для найденных файлов используется опция -exec. Например, выполнить ls для получения подробной информации о каждом файле:
Вот и подошла к концу эта небольшая статья, в которой была рассмотрена команда find. Как видите, это одна из наиболее важных команд терминала Linux, позволяющая очень легко получить список нужных файлов. Ее желательно знать всем системным администраторам. Если вам нужно искать именно по содержимому файлов, то лучше использовать команду grep.
WireGuard — это простой и быстрый сервис VPN-туннелирования с открытым исходным кодом, созданный с использованием передовых криптографических технологий. Его очень легко настроить и использовать, и многие считают его лучше, чем OpenVPN или IPSec. WireGuard также является кроссплатформенным и поддерживает встроенные устройства.
WireGuard работает путем настройки виртуальных сетевых интерфейсов, таких как wlan0 или eth0, которыми можно управлять и контролировать как обычные сетевые интерфейсы, помогая легко настраивать и управлять WireGuard с помощью сетевых инструментов и других инструментов управления сетью.
Эта статья покажет вам, как настроить клиент и сервер WireGuard в системе Kali Linux.
Начнем с установки WireGuard в систему.
Установка WireGuard
В зависимости от версии Kali Linux, которую вы используете, у вас должны быть репозитории WireGuard apt. Обновите вашу систему с помощью команд:
sudo apt-get update
sudo apt-get upgrade
Затем введите простую команду apt для установки WireGuard:
sudo apt-get install –y wireguard
После того, как мы установили WireGuard в системе, мы можем приступить к его настройке.
Настройка сервера WireGuard
Безопасность WireGuard работает с парами ключ-значение SSH, которые очень легко настроить. Начните с создания каталога .wireguard.
mkdir ~/.wireguard
cd ~/.wireguard
Затем установите разрешения на чтение, запись и выполнение.
umask 077
Теперь мы можем сгенерировать пары ключ-значение с помощью команды:
wg genkey | tee privatekey | wg pubkey > publickey
Затем скопируйте содержимое закрытого ключа:
cat privatekey
После того, как содержимое закрытого ключа скопировано в буфер обмена, создайте файл конфигурации WireGuard в /etc/wireguard/wg0.conf.
В адресе добавьте IP-адрес хостинг-сервера. Для PrivateKey введите содержимое секретного ключа, который вы скопировали ранее.
В одноранговом разделе добавьте открытый ключ для клиента и IP-адрес.
После того, как вы настроили файл конфигурации, настройте VPN-сервер на запуск при запуске.
sudo systemctl enable wg-quick@wg0
Наконец, запустите сервис WireGuard на сервере:
sudo wg-quick up wg0
Настройка клиента WireGuard
Далее нам нужно настроить клиент WireGuard. Убедитесь, что в системе установлен WireGuard.
Также сгенерируйте пары ключ-значение.
wg genkey | tee privatekey | wg pubkey > publickey
umask u=rwx,go= && cat /etc/wireguard/wg0.conf << EOF
[Interface]
Address = CLIENT_IP
PrivateKey = CLIENT PRIVATE KEY
[Peer]
PublicKey = SERVER PUBLIC KEY
Endpoint = SERVER_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21
EOF
Наконец, сохраните файл и включите VPN:
sudo wg-quick up wg0
Проверить соединение можно командой:
sudo wg
Вывод
Настройка WireGuard проста и эффективна. После настройки вы можете использовать его в самых разных случаях. Используя то, что вы узнали из этого руководства, вы можете протестировать и увидеть, работает ли он лучше, чем другие службы VPN.
Используя простые шаги, представленные в этой статье , вы можете настроить зеркало Kali Linux, на котором будут размещаться основные репозитории и образы Kali. Зеркало Kali Linux удобно.
Требования
Чтобы настроить полное зеркало Kali Linux, вам понадобится несколько ресурсов. К ним относятся:
Доступный веб-сервер с доступом HTTP и HTTP.
Большое дисковое пространство — на момент написания этой статьи, по словам специалистов по сопровождению Kali Linux, размер репозитория пакетов Kali Linux составлял 1,1 ТБ и быстро расширялся.
Установленные и запущенные в системе службы HTTP и RSYNC
Настройка пользователя для зеркала Kali Linux
Первым шагом является создание полной учетной записи, предназначенной только для зеркал Kali Linux. Используйте команду adduser:
$ adduser –disabled-password andreyex
Adding user `andreyex’...
Adding new group `andreyex’ (1001) ...
Adding new user `andreyex’ (1001) with group `andreyex’...
Creating home directory `/home/andreyex' ...
Copying files from `/etc/skel' ...
Changing the user information for andreyex
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
Настроить зеркальные каталоги
Затем нам нужно настроить каталоги, содержащие зеркала, и назначить разрешения для созданного нами пользователя.
После завершения настройки системы отправьте электронное письмо по адресу devel@kali.org, указав всю информацию о ваших зеркалах, включая пользователя, порт для доступа к службе SSH и общедоступное имя хоста. Вы также должны указать, к кому Kali следует обращаться в случае проблем и должны ли применяться какие-либо изменения в соответствии с настройками зеркала.
Оттуда все, что вам нужно сделать, это дождаться первого толчка от archive.kali.org.