Архив метки: ssh

Запуск команд или скрипта через SSH

Сегодня рассмотрим примеры для запуска команд или скрипта через SSH соединения. Научимся запускать наши команды/скрипты из одной рабочей станции Linux на другой удаленной Linux машине. Рассмотрим практические примеры использования мощного инструмента SSH в администрировании Linux.






Запуск команд через SSH




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




Узнайте аптайм удаленного сервера:




ssh root@10.5.5.1 'uptime'




Узнать проходит ли пинг на удаленном сервере до google DNS:




ssh root@10.5.5.1 'ping 8.8.8.8 -c 5'




Перезагрузить удаленную машину:




ssh root@10.5.5.1 'reboot'




Запуск нескольких команд через SSH




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




Запустить несколько команд на удаленном хосте по SSH:




ssh ПОЛЬЗОВАТЕЛЬ@СЕРВЕР 'КОМАНДА1; КОМАНДА2; КОМАНДА3'




можно и так:




ssh ПОЛЬЗОВАТЕЛЬ@СЕРВЕР << EOF
КОМАНДА1
КОМАНДА2
КОМАНДА3
EOF




Практические примеры использования SSH




Узнайте аптайм и сколько свободного места на диске:




ssh root@10.5.5.1 'uptime; df -h'




Сколько используется памяти и среднюю нагрузку:




ssh root@10.5.5.1 'free -m ; cat /proc/loadavg'




Узнать версию ядра, количество ядер CPU и сколько всего RAM:




ssh root@10.5.5.1 << EOF
uname -a
lscpu  | grep "^CPU(s)"
grep -i memtotal /proc/meminfo
EOF




SSH: Запуск Bash Скрипта




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




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




Эта задаче безусловно может быть выполнена и при этом довольно просто.




ssh root@10.5.5.1 'bash -s' < script.sh




Что если вы хотите выполнить сценарий с аргументом.




ssh root@10.5.5.1 'bash -s' < script.sh --argument




или




ssh root@10.5.5.1 'bash -s' < "script.sh --argument"




Если требуются привилегии sudo, то команда примет вид:




ssh root@10.5.5.1 'echo "passwords" | sudo -Sv && bash -s' < script.sh




  • password — пароль для пользователя root на удаленной машине.
  • script.sh — файл с вашим скриптом расположенный на станции с которой производите подключение.





2020-08-23T10:57:17
SSH

🐍 Брутим SSH удаленного сервера

Брутим SSH удаленного сервера

Для брута (атаки перебором паролей) будем использовать инструмент Hydra, который входит в состав дистрибутива Kali Linux. SSH присутствует на любом сервере Linux или Unix и, как правило, является основным способом использования администраторами для доступа к своим системам и управления ими.

Предупреждение: Hydra является инструментом для атак

«Используйте его только в собственных системах и сетях, если у вас нет письменного разрешения владельца. В противном случае, это незаконно.»

Для реализации атаки используем команду:

# hydra -s 22 -l root -P /usr/share/wordlists/fasttrack.txt 192.168.1.1 -t 4 ssh

Теперь разберем ее:

s – Флаг указывает на порт. Стоит отметить, что администраторы могут заменить дефолтный 22 порт для работы службы ssh, чтобы узнать на каком порту работает служба необходимо произвести первоначальное сканирование цели с помощью инструмента Nmap. О том как это сделать мы писали ранее в статье.

l – флаг указывает на логин, в нашем примере мы используем root и admin. (можем указать здесь ссылку на словарь)

P – флаг указывает на пароль, в нашем случае мы используем словарик fasttrack.txt из дистрибутива kali, который располагается в директории /usr/share/wordlists/

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

192.168.1.1 – ip адресс цели, так как используемая нами цель имеет белый ip, он замазан

t — флаг указывает на число одновременно используемых потоков. Укажем 4

ssh — используемый протокол

По результатам работы команды видим, что пароли из словаря не подошли для логинов admin и root

Выводы

Hydra является удобным и простым инструментом для тестирования парольной политики SSH.

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

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

Для любого ибешника обеспечение безопасности паролей SSH должно быть главным приоритетом.

¯_(ツ)_/¯

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



2020-06-15T09:29:09
Аудит ИБ

Как включить SSH в Ubuntu 20.04

Secure Shell (SSH) — это сетевой протокол, используемый для безопасного соединения между клиентом и сервером. Каждое взаимодействие между сервером и клиентом шифруется.

В этой статье объясняется, как включить SSH на компьютере с Ubuntu.

Включение SSH позволит вам удаленно подключаться к вашей системе и выполнять административные задачи. Вы также сможете безопасно передавать файлы через scp и sftp. Читать

Копирование файлов c архивированием по SSH на лету.

Копирование файлов по SSH c архивированием на лету.




Сегодня рассмотрим Копирование файлов c архивированием на лету по SSH протоколу, используя TAR.




Синтаксис команды tar




tar [-] A --catenate --concatenate | c --create | d --diff --compare | --delete | r --append | t --list | --test-label | u --update | x --extract --get [options] [pathname ...]




Копирование файлов через SSH c архивированием на лету.




Выполним следующею команду:




cd /local/dir; tar cf - . | ssh server "cd /destination/dir; tar xf -"




Теперь разберем, что же происходит в коде:




  1. cd /local/dir; – осуществляется переход к папке /local/dir, которая будет архивироваться;
  2. tar cf - . – утилита tar выполняет следующие операции:
    • -c говорит о том, что нужно создать новый архив;
    • -f говорит о том, что используется архивный файл (или устройство);
    • парамерт - говорит о том, что tar должен использовать стандартный вывод, а не записывать данные в файл
    • параметр . говорит о том, что архивироваться будет папка, в которой находится пользователь, и из которой выполняется команда tar (в данном случае это папка /local/dir из п.1)
  3. | ssh означает, что вывод утилиты tar будет передан в ssh-исполняемую следом команду;
  4. server обычно имеет вид [имя_пользователя]@[адрес_сервера] и означает, что команда будет выполнена на удаленном сервере;
  5. "cd /destination/dir; tar xf -" – в кавычки заключена последовательность команд для выполнения на удаленном сервере и в SSH вводится именно в кавычках, разберем ее в следующем пункте;
  6. cd /destination/dir; – осуществляется переход к папке, куда будут разархивированы файлы;
  7. tar xf - утилита tar выполняет следующие операции:
    • -x говорит о том, что будет происходить распаковка;
    • -f говорит о том, что используется архивный файл (или устройство);
    • параметр  -  говорит о том, что tar должен использовать не файл, а стандартный вывод.




Также можно использовать дополнительно следующие параметры с tar:




  1. параметр -v сообщает tar действовать вербально, т.е. отображая, либо получая исчерпывающую информацию о файлах в процессе обработки;
  2. -z – параметр сообщает tar использовать программу сжатия, когда работа будет вестись с файлами;
    или
    -j – параметр сообщает tar выполнять чтение или запись архивов, используя компрессор bzip2.



[endtxt]




RSS



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


2020-05-16T07:00:09
SSH

Установка SSH-ключей в Ubuntu

SSH, или secure shell – это зашифрованный протокол, используемый для безопасного подключения к серверу и управления ним. При работе с сервером Debian, вы, скорее всего, проведете большую часть времени в терминале, подключенном к серверу через SSH.

SSH-ключи – это простой и безопасный способ входа на сервер, их рекомендуется использовать для всех учетных записей. В этом мануале вы узнаете, как настроить ключи SSH на свежем сервере Ubuntu 20.04. Читать

Как увеличить время сессий SSH на Linux

Как увеличить время сессий SSH на Linux. Сегодня в статье поговорим о настройке увеличения время вашей сессии SSH на операционных системах Linux.

В качестве примера я буду использовать Ubuntu Server, но вся инструкция подойдет и для остальных дистрибутивов Linux. Читать