#46 Kali Linux для начинающих. Разбираемся с базовыми веб-шеллами.
Давайте попробуем подключиться к открытому порту, с помощью netcat. В этом разделе мы рассмотрим получение доступа к шеллу. Давайте воспользуемся инструментом «netcat», для подключения к открытому порту.
Для примера подключимся к 80-му порту. Команда выглядит как: «nc 192.168.119.130 80»:
Как мы помним, что на 80 порту у нас находится веб-сайт. Мы подключены к вышеупомянутому порту, мне можно использовать http-команды.
Мы будем общаться с сервером через 80 порт, используя HTTP команды. Одна из них – это команда get. Что делает эта команда? Как следует из названия, с помощью нее можно взять или получить веб-сайт. Введем такую команду: «GET / HTTP /1.1». Прямой слеш означает корневую страницу, используя протокол HTTP версии 1.1. Жмем enter дважды, и получаем вывод текста:
По сути – это содержимое целевого веб-сайта. Другими словами, используя netcat и командную строку, я смог пообщаться с HTTP-сервером, и попросил отправить мне веб-сайт.
Все хорошо, но как это может помочь мне при взломе? Давайте очистим экран и перейдем в DVWA или «чертовски уязвимое веб-приложение»:
Кто не знает, логин и пароль, то вот пара: admin:password.
Первым делом изменим настройки безопасности на уровень «Low»:
Это приложение нужно для того, чтобы учиться взламывать сайты, мы более углубленно ознакомимся с вебом в последующих курсах.
Рассмотрим тем не менее несколько типов взломов веб-сайтов. Переходим в раздел «Upload», и видим функционал загрузки файлов:
Многие сайты позволяют загружать картинки, документы, видео и т.д.
Например, если Вы ищете работу, то на данном сайте наверняка будет форма для отправки резюме. В то же время подобный функционал может быть уязвим, и будет позволять загружать что угодно.
На практике, к примеру, для загрузки pdf-документов, форма может быть плохо сделана, и позволит загружать любые вредоносные файлы, скрипты и т.д. Именно такой случай рассматривается в загрузке DVWA.
Мы протестируем DVWA на эту уязвимость, и попробуем залить на сайт php-шелл. Надо показать, что это такое. Перейдем в редактор nano, и назовем файл «shell.php»:
Наш шелл будет выглядеть как:
Это скрипт на языке программирования PHP, с помощью которого я смогу запускать команды в операционной системе. Другими словами, если у меня получится запустить этот скрипт, и получить к нему доступ, то у меня появится возможность выполнять команды через этот скрипт в операционной системе.
Давайте детально рассмотрим, что делает эта команда. Shell_exec – это функция php, которая позволяет использовать шелл команды, и другими словами дает доступ к шеллу линукса. Далее идет параметр GET. Он делает отправку команд через GET-запрос. И мы используем переменную «cmd». Сохраним файл и продолжим.
Теперь пытаемся загрузить его на сервер:
Загрузка шелла прошла успешно, и мы видим соответствующий вывод на странице. Это очень важный шаг, когда Вы занимаетесь тестированием на проникновение, при этом нам всегда нужно знать, куда был загружен этот файл. Так как этот веб-сайт был специально разработан для практики, то для удобства мы видим вывод пути расположения шелла.
Копируем путь до файла и вставляем в адресную строку браузера:
Не пугайтесь пустого экрана, так как шелл успешно сработал, так как мы не получили никакого вывода на странице. Можем добавить параметр «cmd», который был указан в скрипте. Пишем вопросительный знак «?» и далее «cmd», после чего прописываем «=ls». Команда будет выглядеть как:
«http://192.168.119.130/dvwa/hackable/uploads/shell.php?cmd=ls»:
Отлично, теперь мы можем запускать команды в линукс-системе.
#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 для начинающих. Популярные инструменты. Быстрый обзор.