infosec
54.2K subscribers
1.23K photos
68 videos
89 files
1.49K links
Copyright: @SEAdm1n

Вакансии: @infosec_work

Информационная безопасность. Литература для ИТ специалистов. Пентест, DevOps, Администрирование.

Преобрести рекламное размещение: https://telega.in/c/it_secur
Download Telegram
📶 Computer Networking Fundamentals.

• Каждый день тысячи людей используют SSH для подключения к серверам, домашним ПК, роутерам и смартфонам. SSH-клиенты есть для всех сколько-нибудь популярных платформ, а сервер SSH встраивают даже в умные лампочки.

• Вашему вниманию предлагается крайне наглядный разбор SSH туннелей. Уж сколько про них уже написано, но такого красиво оформленного материала вроде еще не видел.
Всем начинающим для прочтения строго обязательно.

➡️ https://iximiuz.com/en/posts/ssh-tunnels/

В дополнение: Практические примеры SSH.

SSH socks-прокси;
SSH через сеть Tor;
SSH к инстансу EC2;
Установка VPN по SSH;
Обратный прокси SSH;
Обратный SSH-туннель;
SSH-туннель на третий хост;
Прыжки по хостам с SSH и -J;
Двухфакторная аутентификация;
Копирование ключа SSH (ssh-copy-id);
Туннель SSH (переадресация портов);
Потоковое видео по SSH с помощью VLC и SFTP;
Удалённое выполнение команд (неинтерактивно);
SSH Escape для изменения переадресации портов;
SSH Escape для изменения переадресации портов;
Мультиплексирование SSH с помощью ControlPath;
Удалённый перехват пакетов и просмотр в Wireshark;
Удалённые приложения GUI с переадресацией SSH X11;
Удалённое копирование файлов с помощью rsync и SSH;
Блокировка попыток брутфорса SSH с помощью iptables;
Копирование локальной папки на удалённый сервер по SSH;
Монтирование удалённого SSH как локальной папки с SSHFS;
Редактирование текстовых файлов с помощью VIM через ssh/scp;

#SSH #Сети
Please open Telegram to view this post
VIEW IN TELEGRAM
📶 SSH Honeypot. Часть 2.

• В августе публиковал ссылочку на интересное исследование, в котором автор собирал статистику и описывал варианты настройки своего SSH-ханипота. Если не читали, то обязательно ознакомьтесь. Так вот, в этом посте собрано небольшое кол-во open source SSH-ханипотов, которые можно использовать для защиты своих серверов и локальных сетей.

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

Cowrie — приманка SSH и Telnet со средним и высоким уровнем взаимодействия. Предназначена для регистрации попыток брутфорса. В разных режимах работает как прокси-сервер для SSH и telnet или эмулирует систему UNIX с полноценной фейковой файловой системой. Хорошо работает в паре с Longitudinal Analysis для обработки журналов.

sshesame — простой в настройке поддельный SSH-сервер, который позволяет подключиться любому, и регистрирует SSH-соединения и активность, не выполняя на самом деле никаких команд и запросов.

Mushorg / GluttonSSH и TCP-прокси, который работает как MITM между злоумышленником и сервером и позволяет шпионить за его действиями.

pshitt — легковесный поддельный SSH-сервер, предназначенный для сбора аутентификационных данных, отправленных злоумышленниками. Сохраняет в JSON логины и пароли, используемые программным обеспечением для перебора SSH.

SSH Honeypot — еще одно решение для сбора базовых сведений об атаке. Прослушивает входящие ssh-соединения и регистрирует IP-адрес, имя пользователя и пароль, которые использует клиент.

FakeSSH — докенизированный SSH-сервер-приманка с низким уровнем взаимодействия, написанный на Go. Регистрирует попытки входа в систему, но всегда отвечает, что пароль неверен.

docker-ssh-honey — еще одна простая приманка с аналогичной FakeSSH функциональностью.

ssh-auth-logger — регистрирует все попытки аутентификации в виде json, не взаимодействует со злоумышленником.

ssh-honeypotdSSH-приманка с низким уровнем взаимодействия, написанная на C.

Honeyshell — написанная на Go SSH-приманка. Собирает логины и пароли.

Endlessh — коварная штука, которая открывает сокет и притворяется сервером SSH, который очень медленно отправляет SSH-баннер. Способна удерживать клиентов в течение нескольких часов или даже дней. Значительно замедляет и даже парализует работу ботов и сканеров.

#SSH #Honeypot
Please open Telegram to view this post
VIEW IN TELEGRAM
📶 How SSH secures your connection.

• Весьма интересный и актуальный материал о том, какие меры безопасности реализованы в SSH для организации защищённого доступа в процессе подключения и работы:

➡️ https://noratrieb.dev/blog/posts/ssh-security/

• Дополнительный материал:

Практические советы, примеры и туннели SSH;
Полное руководство по SSH в Linux и Windows;
Наглядные примеры организации SSH туннелей для решения различных задач;
Объемная шпаргалка по SSH, которая пригодиться в работе;
Маленькие хитрости SSH;
Практические примеры SSH.

#SSH
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
📶 Алгоритм установления соединения в протоколе SSH.

• Алгоритм протокола SSH можно разделить на три уровня, каждый из которых располагается над предыдущим: транспорт (открытие защищённого канала), аутентификация, подключение. Для целостности картины добавим сюда уровень установки сетевого соединения, хотя официально этот уровень находится ниже SSH.

🟢 Установка TCP-соединения: на этом этапе происходит сетевое подключение клиента к серверу на TCP-порт, указанный в опции Port (по умолчанию: 22) в файле конфигурации сервера /etc/ssh/sshd_config

🟢 Открытие защищенного канала:

- Обмен идентификационными данными: после установки TCP-соединения, клиент и сервер обмениваются версиями SSH-протокола и другими вспомогательными данными, необходимыми для выяснения совместимости протоколов и для выбора алгоритмов работы.

- Выбор алгоритмов (обмена ключами, шифрования, сжатия и т.п.): на этом шаге стороны отсылают друг другу списки поддерживаемых алгоритмов, наибольший приоритет имеют алгоритмы в начале каждого списка. Затем сравнивают алгоритмы в полученных списках с алгоритмами, имеющимися в системе, и выбирают первый совпавший в каждом списке. Список доступных алгоритмов обмена ключами на стороне клиента (используются для получения сессионного ключа) можно посмотреть командой: ssh -Q kex

- Получение сессионного ключа шифрования: Процесс получения сессионного ключа может отличаться в зависимости от версии алгоритма, но в общих чертах сводится к следующему: Сервер отсылает клиенту свой ключ (DSA, RSA или т.п.), если клиент производит соединение с данным сервером впервые, то пользователю будет задан вопрос о доверии ключу сервера. Если же соединение с данным сервером уже устанавливалось ранее, то клиент сравнивает присланный ключ с ключом, записанным в /home/username/.ssh/known_hosts. Если ключи не совпадают, то пользователь получит предупреждение о возможной попытке взлома. Как только клиент определился с доверием к ключу сервера, с помощью одной из реализаций алгоритма Диффи-Хеллмана клиент и сервер генерируют сеансовый ключ, который будет использоваться для симметричного шифрования канала.

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

- В общих чертах, аутентификация посредством ключей происходит следующим образом: клиент отсылает серверу имя пользователя и свой публичный ключ. Сервер проверяет в файле /home/username/.ssh/authorized_keys наличие присланного клиентом открытого ключа. Если открытый ключ найден, то сервер генерирует случайное число и шифрует его открытым ключом клиента, после чего результат отправляется клиенту. Клиент расшифровывает сообщение своим приватным ключом и отправляет результат серверу. Сервер проверяет полученный результат на совпадение с тем числом, которое он изначально зашифровал открытым ключом клиента, и в случае совпадения считает аутентификацию успешной.

🟢 Уровень подключения: после проведения всех вышеперечисленных процедур, пользователь получает возможность передавать команды серверу или копировать файлы.

#SSH
Please open Telegram to view this post
VIEW IN TELEGRAM
📶 Защита SSH-сервера и клиента. Усиление конфигурации.

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

ssh-audit — инструмент для аудита конфигурации ssh-сервера и клиента.

Поддержка серверов протоколов SSH1 и SSH2;
Анализ конфигурации SSH-клиента;
Распознавание устройства, программного обеспечения и операционной системы, определение компрессии;
Сборка обмена ключами, ключей хостов, шифрования и кодов аутентификации сообщений;
Вывод информации об алгоритме (с какого времени доступен, удалён/отключён, небезопасен/слаб/устарел и т. д.);
Вывод рекомендаций по алгоритмам (добавлять или удалять в зависимости от версии распознанного ПО);
Вывод информации о безопасности (связанные проблемы, список CVE и т. д.);
Анализ совместимости версий SSH на основе информации об алгоритмах;
Историческая информация из OpenSSH, Dropbear SSH и libssh;
Сканирование политик для обеспечения усиленной/стандартной конфигурации;
Работает под Linux и Windows;
Поддерживает Python 3.8−3.12;
Отсутствие зависимостей.

Кроме утилиты командной строки, для удобства реализован веб-интерфейс, через который она запускается: https://www.ssh-audit.com. Этот сервис чем-то похож на SSL Server Test для быстрого аудита конфигурации SSL. Вместе с программой распространяются советы по улучшению конфигурации с целью повышения безопасности SSH для разных дистрибутивов Linux. Ну и в качестве дополнения не забывайте про подсказки по командам SSH (cheat sheet).

А еще есть полезная статья с практическими примерами использования туннелей SSH. Например, там приводятся примеры удалённого выполнения команд, удалённого перехвата пакетов, копирования файлов, туннелирования SSH-трафика через сеть Tor, передачи потокового видео по SSH с помощью VLC и SFTP и др.

#SSH #ИБ
Please open Telegram to view this post
VIEW IN TELEGRAM
Очень ситуативное решение, но с полезным функционалом: ContainerSSH — инструмент, позволяющий поднимать отдельное окружение для пользователя налету, при подключении по SSH.

Удобно, если используете для тестирования чего-либо, ну или для CTF и всего вот этого вот, где нам нужно получать заранее подготовленное, изолированное окружение при простой SSH авторизации.

➡️ Подробное описание: https://github.com/ContainerSSH

➡️ Документация: https://containerssh.io/v0.5/reference/

#SSH #Tools
Please open Telegram to view this post
VIEW IN TELEGRAM