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

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

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Использование 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.
Перевод беспроводного интерфейса в мониторинговый режим с помощью утилиты Airmon-ng

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

1. Надо запустить утилиту Airmon-ng командой sudo airmon-ng.
2. Утилита покажет список доступных беспроводных интерфейсов.
3. Выбрать интерфейс, который хотите перевести в мониторинговый режим, и запустить его командой sudo airmon-ng start [название интерфейса].
4. Утилита переведет выбранный интерфейс в мониторинговый режим и переименует его в mon0.
5. Далее вы можете использовать другие утилиты Aircrack-ng, такие, как Airodump-ng или Aireplay-ng, для сбора и анализа данных с беспроводной сети в режиме мониторинга.
6. Для остановки мониторинга выполните команду sudo airmon-ng stop [название интерфейса]. Она вернет выбранный интерфейс в обычный режим.

Примечание: некоторые беспроводные интерфейсы могут уже иметь мониторинговый режим без необходимости использования Airmon-ng.
Атака на беспроводную сеть с помощью утилиты Airdecap-ng

1. Запустите утилиту Aireplay-ng командой
sudo aireplay-ng

2. Укажите тип атаки и целевую сеть (BSSID) командой
sudo aireplay-ng -[тип атаки] -b [BSSID] [название интерфейса]

Например, sudo aireplay-ng -0 10 -b 00:11:22:33:44:55 wlan0 для отправки 10 пакетов деаутентификации к точке доступа с BSSID 00:11:22:33:44:55 через беспроводной интерфейс с именем wlan0.

3. Утилита начнет отправлять пакеты деаутентификации к целевой сети, что приведет к отключению клиентов, подключенных к этой сети.

4. Вы можете использовать другие опции утилиты Aireplay-ng для различных типов атак на беспроводные сети, например, для взлома WPA-PSK ключа можно использовать команду sudo aireplay-ng -0 2 -a [BSSID] -h [MAC адрес атакующего] -e [ESSID сети] [название интерфейса]
Расшифровка зашифрованного трафика Wi-Fi с помощью утилиты Airdecap-ng

Запустите утилиту Airdecap-ng командой
airdecap-ng [зашифрованный файл.pcap] -e [ESSID сети] -p [PSK ключ сети] -o [расшифрованный файл.pcap]

Утилита расшифрует зашифрованный файл и сохранит расшифрованный файл в заданном файле.

Если вы не знаете ESSID и PSK ключа для целевой сети, вы можете использовать другие утилиты Aircrack-ng, такие как Airodump-ng и Aircrack-ng, для захвата и декодирования трафика Wi-Fi в реальном времени.
Создание VPN-канала через зараженную Wi-Fi точку доступа

Запустите утилиту Airtun-ng:
airtun-ng -T [TUN тип] -a [BSSID точки доступа] -i [интерфейс Wi-Fi] --encrypt [шифрование] -b [IP адрес локальной сети] -c [IP адрес клиента]

Утилита создаст VPN-канал через зараженную Wi-Fi точку доступа и настроит соответствующие параметры.

Используйте любое удобное ПО для VPN-клиента, чтобы присоединиться к созданному VPN-каналу и получить доступ к локальной сети, которую подключена зараженная точка доступа.

Обратите внимание, что использование утилиты Airtun-ng без согласия владельца сети или нарушение правил безопасности может быть незаконным и неправомерным.
Взлом тест Wi-Fi-сети с помощью Aircrack-ng

1. Определите имя интерфейса вашей беспроводной сетевой карты, введя команду "iwconfig" в терминале.

2. Введите команду airmon-ng start <имя интерфейса> для запуска беспроводного интерфейса в режиме монитора.

3. Найдите целевую сеть Wi-Fi, введя команду airodump-ng <имя интерфейса монитора> и поиском его в списке сетей, отображаемых в терминале.

4. Запустите атаку захвата пакетов, чтобы получить необходимые данные, используя команду
airodump-ng -c <номер канала> -w <имя файла для сохранения данных> --bssid <MAC-адрес целевой точки доступа имя интерфейса монитора>

5. Запустите атаку взлома, используя данные, полученные на предыдущем этапе, введя команду
aircrack-ng -w <словарь паролей имя файла с данными>

Обратите внимание, что взлом Wi-Fi-сети является незаконным действием и может привести к серьезным последствиям, включая штрафы и уголовное наказание. Рекомендуется использовать Aircrack-ng только в легальных целях и с согласия собственника сети.
Топ-8 самых полезных команд в линуксе

1. cd - используется для перехода в другую директорию.
Например, если вы находитесь в директории /home/user, и хотите перейти в директорию /home/user/documents, вы можете ввести команду "cd documents".

2. ls - позволяет просмотреть содержимое текущей директории. Она выводит список файлов и директорий в этой директории.

3. mkdir - используется для создания новой директории.
Например, "mkdir newdir" создаст новую директорию с именем newdir в текущей директории.

4. rm - используется для удаления файлов.
Например, "rm myfile.txt" удалит файл под названием myfile.txt.

5. grep - используется для поиска строк в файле или выводе другой команды.
Например, "ls -l | grep myfile" найдет все файлы с именем myfile в выводе команды ls -l.

6. top - показывает список процессов, которые выполняются в системе. Она также позволяет просмотреть использование ресурсов процессами.

7. df - показывает информацию об использовании дискового пространства в системе. Она позволяет узнать, сколько свободного места осталось на каждом из дисков.

8. ping - используется для проверки доступности узлов в сети.
Например, "ping google.com" покажет, доступен ли сайт Google и какова задержка при обмене пакетами данных.
GNU Coreutils

GNU Coreutils - это пакет утилит командной строки, который входит в состав операционной системы GNU, а также многих дистрибутивов Linux и других UNIX-подобных операционных систем.

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

- ls: список файлов и каталогов в текущей директории
- cp: копирует файлы из одного места в другое
- mv: перемещает файлы из одного места в другое
- rm: удаляет файлы и каталоги
- chmod: изменяет права доступа к файлам
- chown: изменяет владельца файла

GNU Coreutils является открытым ПО и может быть изменен и распространен на условиях лицензии GNU General Public License.
Эти утилиты достаточно мощные и позволяют легко выполнять большой объем разнообразных задач в командной строке.
Некоторые из общепринятых практик программирования для bash скриптов:

Использование флага set -u
. Этот флаг гарантирует, что переменные будут определены до использования, что снижает риски ошибок.

Использование директивы -x при отладке. Эта директива выводит на экран каждую команду, которую выполняет скрипт.

Использование функций. Функции облегчают чтение и понимание кода, и позволяют повторно использовать блоки кода.

Обработка ошибок и исключений. Например, обработка нулевого возвращаемого значения, проверка наличия файлов перед их открытием, и так далее.

Не использование устаревших методов. Например, использование кавычек вместо директивы $() при вызове подпроцессов, использование [[ ]] вместо [, использование команд find и awk для поиска файлов и обработки текста вместо циклов и массивов, и т. д.

Использование многократной проверки, особенно при работе с пользовательским вводом. Это позволяет убедиться, что введенные данные корректны, и предотвращает возможные ошибки.

Использование директивы -h или --help для вывода справки при вызове скрипта, что делает его использование более простым и дружественным для пользователя.

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

Использование комментариев по всему коду для удобства чтения и понимания кода другими разработчиками.

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

Поскольку Linux очень гибкая и многофункциональная ОС, поэтому трудно сказать, что конкретно не используется в Linux, так как это зависит от конкретных потребностей и задач. Однако есть некоторые утилиты и функции, которые используются реже всего в Linux:

dump и restore - утилиты резервного копирования, которые используются редко из-за наличия более современных инструментов, таких как tar и rsync.

at и batch - утилиты планирования задач, которые используются крайне редко из-за наличия более мощных и гибких инструментов, таких как cron и systemd.

setkeycodes и dumpkeys - утилиты, используемые для настройки клавиатуры в Linux, которые большинством пользователей не требуются.

xinetd - демон, используется редко в настоящее время, заменен более современными демонами systemd и inetd.

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

Это всего лишь некоторые примеры редко используемых в Linux компонентов и утилит, но в целом, каждый компонент системы может быть полезен для какого-то вида задач.
GNU Binutils

GNU Binutils - это пакет утилит, используемых для разработки и сборки программ на различных архитектурах процессоров. Он включает в себя несколько утилит, таких как as, ld, ar, objcopy и другие.

Некоторые из наиболее распространенных утилит, входящих в пакет GNU Binutils, включают:

- as: ассемблер, который преобразует исходный код на языке ассемблера в объектный файл.
- ld: линкер, который объединяет несколько объектных файлов в один исполняемый файл.
- ar: утилита для создания, изменения и извлечения объектных файлов из архивных файлов.
- objcopy: утилита для копирования и преобразования объектных файлов. Она может использоваться для создания копий исполняемых файлов с другим названием или форматом.
Безопасность в Linux устроена на основе нескольких ключевых функций, таких как контроль доступа, межпроцессорное взаимодействие, ограничения привилегий и т.д. Вот несколько основных механизмов безопасности в Linux:

Многопользовательская структура: Linux поддерживает многопользовательские среды, что обеспечивает разделение доступа и контроль пользовательских ресурсов, таких как файлы, директории и т.д.

Контроль доступа: Linux использует механизм контроля доступа на основе принципа наименьших привилегий, при котором пользователи и процессы имеют только минимально необходимые привилегии для выполнения задач.

Система прав: В Linux права доступа для файлов и директорий могут быть установлены для каждого пользователя, а также пользовательские группы могут быть назначены для определенных ресурсов.

SELinux: политика безопасности SELinux (Security-Enhanced Linux) предоставляет дополнительные уровни защиты. SELinux реализует контроль доступа на основе обязательности и является частью ядра Linux.

Межпроцессовый контроль: Linux использует механизм IPC (Inter-Process Communication) для общения между процессами. Linux определяет множество основных IPC-механизмов, таких как Pipes, Message Queues, Shared Memory, Semaphores и т.д., которые обеспечивают защиту от несанкционированного доступа.

Файрволы: файрволы позволяют ограничивать доступ к сетевым сервисам и могут быть настроены для установления правил блокирования или разрешения доступа к определенным сетевым ресурсам. Linux поддерживает различные программные пакеты файрволов, такие как iptables, ufw, firewalld и т.д.

Обновления безопасности: для устранения потенциальных уязвимостей Linux-системы регулярно обновляются и патчируются. Программы также должны быть обновлены для обеспечения безопасности системы.
GNU Debugger

GNU Debugger (GDB) - это отладчик, который позволяет отслеживать работу программы, определять причины возникновения ошибок и исследовать память. Этот отладчик помогает разработчикам понимать, как работает программа на низком уровне, и находить ошибки в исходном коде.

GDB поддерживает множество языков программирования, включая C, C++, Ada и другие. Он предоставляет разработчику возможность остановить выполнение программы в любой момент, просмотреть содержимое регистров, памяти и стека вызовов, а также изменять значения переменных и удалять брейкпоинты.

GDB работает на различных операционных системах, включая GNU/Linux, macOS и Windows. Это свободно распространяемый программный продукт с открытым исходным кодом, который можно скачать и использовать бесплатно.
SELinux (Security-Enhanced Linux) набор механизмов безопасности на уровне ядра, используемых в Linux.

Использование SELinux позволяет:

Реализация принципа наименьшего доступа
Может использоваться для ограничения прав приложений и пользователей до минимально необходимого уровня. Таким образом, процесс или пользователь могут получить доступ только к тем ресурсам, которые им необходимы, ограничивая потенциальную повреждаемость системы в целом.

Защита от атак
Может защитить приложения и пользователей от хакерских атак и других угроз безопасности.
Может контролировать доступ к файлам, каталогам, портам и сетевым ресурсам, снижая уязвимость системы к атакам.

Защита от ошибок администратора и разработчиков
Может предотвратить несанкционированные изменения в системе со стороны администраторов или разработчиков, которые могут быть непреднамеренными.
Может защитить файловые системы от ошибок в коде приложений и предотвратить выполнение несанкционированных действий в системе.

Настройка политик безопасности
Использует политики безопасности для определения прав доступа к ресурсам и объектам в системе. Эти политики можно настраивать для определения того, какие приложения и пользователи имеют доступ к каким ресурсам, а также какие действия эти приложения и пользователи могут выполнять.
___________
Существуют известные сложности с SELinux, связанные с тем, что механизмы безопасности SELinux регулируются достаточно строгими политиками, что может стать причиной проблем с некоторыми приложениями либо трудными настройками. Однако, если правильно настроить систему, использование SELinux может существенно улучшить безопасность Linux-системы и уменьшить возможную уязвимость к атакам.
Примеры использования команды wget

Скачивание одного файла:
wget https://www.example.com/file.zip

Скачивание файла с указанием имени:
wget https://www.example.com/file.zip -O newname.zip

Скачивание нескольких файлов из списка:
wget -i filelist.txt
где filelist.txt содержит список URL-адресов файлов, каждый адрес на новой строке.

Скачивание файла из защищенного соединения:
wget --user=user --password=password https://www.example.com/file.zip

Скачивание файла с использованием прокси-сервера:
wget --proxy=on --proxy-user=user --proxy-passwd=password https://www.example.com/file.zip

Ограничение скорости загрузки:
wget --limit-rate=100k https://www.example.com/file.zip

Продолжение загрузки файла после обрыва связи:
wget -c https://www.example.com/file.zip

Загрузка файла только в случае, если он изменен:
wget --timestamping https://www.example.com/file.zip

Извлечение только определенных типов файлов:
wget -r -A.png,.jpg https://www.example.com/images/

Загрузка файла с использованием определенного User-Agent:
wget --user-agent="Mozilla/5.0" https://www.example.com/file.zip
GNU Aspell

GNU Aspell является текстовым редактором и языковой проверкой правописания в Linux. Он может быть использован в качестве консольного приложения, а также как библиотека с открытым исходным кодом, доступной для использования в других программах.

Для установки GNU Aspell в Linux, вам необходимо выполнить команду в терминале для установки пакета:

sudo apt-get install aspell

После установки вы можете использовать Aspell для проверки правописания в терминале. Например, чтобы проверить правописание слова "hello" на английском языке, выполните следующую команду:

echo hello | aspell -a

Вы получите сообщение обратно с подсвеченными ошибками орфографии и предложениями исправлений.
GNU Assembler

GNU Assembler является ассемблером, который входит в состав GNU Compiler Collection и предназначен для компиляции программы на языке ассемблера для линукс систем.

Для установки GNU Assembler в Linux, вам нужно выполнить следующую команду в терминале:
sudo apt-get install build-essential

Например, у вас есть файл «hello.asm», чтобы скомпилировать программу в нем, выполнив следующую команду в терминале:
as -o hello.o hello.asm
ld -o hello hello.o

Затем вы можете запустить программу, выполнив следующую команду:
./hello