Часть 1 http://pikabu.ru/story/testirovaniya_na_proniknovenie_chast_...
ЭКСПЛУАТАЦИЯ УЯЗВИМОСТЕЙ В WORDPRESS ПЛАГИНЕ
Теперь можно изучить сайт и потенциальные уязвимости внимательнее. Можно это делать и напрямую, но мне удобнее для этого использовать Burp Repeater. Для начала нужно настроить подключение через upstream proxy:
На вкладке User options добавляем Upstream Proxy Server, вводим полученные данные для нашего хоста, настраиваем браузер на Burp proxy, и пробуем различные эксплоиты найденные wpscan-ом.
Эта же возможность позволит использовать утилиты, которые не поддерживают авторизацию в прокси напрямую, если такие понадобятся — достаточно будет указать в виде proxy 127.0.0.1:8080.
Попробовав несколько вариантов, видим что срабатывает одна из SQL
инъекций:
GET http://cybear32c.lab/wp-content/plugins/wp-symposium/get_alb...; -- HTTP/1.1
Получаем номер версии MySQL:
Результат: 5.5.49-0+deb8u1.
Дело за малым — осталось эксплуатировать эту уязвимость с помощью
SQLmap:
Так как в данном случае инъекция происходит в имя колонки (а не в значение, как обычно), важно указать суффикс после payload (‘ -- ’) для того, чтобы SQLmap сконцентрировался именно на этом типе инъекции. Если этого не сделать, SQLmap может ошибочно определить
тип инъекции как blind, и в таком случае вытягивать данные будет очень затруднительно и долго.
Получаем доступные базы с использованием опции --dbs:
Затем таблицы (-D tl9_mainsite --tables):
И осталось только получить данные из таблицы wp_token с помощью
команды:
токен bypassВо время сканирования портов обнаружился в том числе и https ресурс на порту 443. Беглый анализ и утилита dirb ничего интересного не дали:
Ресурс доступен по https, при этом видимо в разработке и давно не обновлялся. Проверим нашумевшую в 2014-м уязвимость heartbleed:
Сервис уязвим! Для эксплуатации воспользуемся скриптом отсюда:
https://gist.github.com/eelsivart/10174134. После прочтения множества (не)интересной информации и сотни попыток (главное не сдаваться раньше времени :), находим кое-что интересное:
Кто-то зашел туда и скачал старый бэкап — давайте и мы это сделаем:
Вот и токен, а вместе с ним несколько новых аккаунтов и хеши их паролей.
Пробуем восстановить пароли из хешей (Apache apr1 хеш в hashcat идет под номером 1600):
Получаем уже известный из mainsite пароль b.muncy, а также
остальные пароли других аккаунтов.
Очень полезно записывать все найденные учетные данные и пароли, для того чтобы в будущем иметь возможность проверять их быстро изучая новую цель, т.к. пароли пользователей в корпоративной сети с высокой вероятностью будут повторяться от одного сервиса к другому.
атакуем ssh
Несмотря на предыдущее замечание, к сожалению, ни один из найденных паролей пока что не подошел к почте, что обычно дает очень неплохие результаты в продвижении вглубь корпоративной сети. Не беда, попробуем подключиться к SSH на порту 22 и
попробовать там. Пробуем, и видим следующую картину:
Довольно необычная ситуация для подключения по SSH — видимо
используется собственный модуль для аутентификации. Кроме того, обращаем внимание что система запрашивает сначала “The password”, а потом еще и “Password”.
Пробуем все найденные учетные данные в разных комбинациях — безрезультатно.
Так как ни почта ни SSH не принесли желаемых результатов, а других доступных сервисов больше не остается, видимо мы что-то упустили. SSH важен еще и тем, что мы получим доступ внутрь корпоративной сети и сможем продвинуться дальше, поэтому нам интересно
сконцентрироваться на нем.
Пробуем еще раз, и видим автора скрипта: Pam (c) krakenwaffe — не
похоже на что-то стандартное.
Ищем это в Google, и вскоре находим аккаунт разработчика krakenwaffe
на Github, который к тому же работает в компании cybear32c — интересно!
Изучив contributions некого Девида, видим единственный файл: mypam.c, расположенный здесь, https://github.com/krakenwaffe/eyelog/blob/master/mypam.c. После беглого анализа кода становится понятно, что это именно тот модуль, в котором мы пытаемся авторизоваться, и который запрашивает у нас “The password”.
Под рутом зайти не получится, смотрим что дальше…
Внимание привлекает следующий участок:
Видим, что введенный пароль проходит сравнение с daypass<день><час>. Пробуем подставить текущее значение, а именно “daypass80” на момент написания этого документа:
Все равно не срабатывает… Тогда вспоминаем как зовут нашего
разработчика, который поделился с нами паролем через Github — David Nash. Пробуем зайти под d.nash:
Получилось! Мы зашли на SSH сервер. Посмотрим что есть вокруг:
Помимо токена в папке .ssh также находим и приватный ключ для
подключения к другим серверам (к каким — можно узнать поработав с файлом known_hosts) — наверняка пригодится в дальнейшем!
Теперь мы получаем плацдарм для следующих атак, и перед нами открывается вся корпоративная сеть компании CyBear32C.
Следующие шагиПосле взятия SSH можно выходить на все остальные компьютеры в сети — с какого начать? В первую очередь, стоит просканировать все три подсети с помощью nmap, любезно предоставленного прямо на сервере SSH и изучить доступные сервисы.
На данном этапе практически все внутренние ресурсы, за исключением Windows-машин и сервера dev будут доступны для атаки — можно пробрасывать порты и пробовать.
ПРОБРОС ПОРТОВЧтобы обеспечить удобный доступ к внутренней сети через вновь появившееся SSH подключение есть множество способов.
В первую очередь рекомендую статью «Pivoting или проброс портов» по
адресу https://habrahabr.ru/post/302168/
Кроме того, полезно знать интересную возможность стандартного SSH клиента — проброс портов без перезапуска сессии и добавления параметров в командную строку.
Для этого достаточно нажать комбинацию Shift+~+C и перейти в
командный режим работы:
После ввода нужной команды мы получим доступ к 80-му порту
сервера 192.168.0.6 (photo) через порт 8086 на 127.0.0.1:
Надеюсь этот небольшой документ дает достаточно информации
чтобы начать ваше собственное тестирование на проникновение, и проверить на что вы способны в почти настоящей и хорошо защищенной сети компании. В лаборатории 14 токенов, из которых мы пока взяли только три, так что все еще впереди.
Надеюсь вам понравится лаборатория. Она будет доступна до ноября, поэтому времени на обучение будет достаточно. Не сдавайтесь в процессе, и, как говорится, Try Harder.
Удачи!
Автор Алексей Столетний.
Источник: https://lab.pentestit.ru/docs/TL9_WU_ru.pdf
Отдельное спасибо за участие
#comment_67177253
#comment_67195788
P.S. БМ втирает какую-то дичь.