Сохраняй покой и сломай коробку – Валентина

1656044452 sohranyaj pokoj i slomaj korobku – valentina

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

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

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

Скриншот-2021-05-25-на-00.44.32

Valentine – это легкая машина, которая сосредотачивается на уязвимости Heartbleed, которая имела разрушительное влияние на системы по всему миру.

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

  • Nmap
  • Nmap Scripting Engine
  • Gobuster
  • Searchsploit
  • xxd
  • OpenSSL
  • SSH
  • tmux

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

Шаг 1 – Разведка

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

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

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

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

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

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

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

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

nmap -A -v 10.129.1.190
Скриншот-2021-05-24-на-22.57.29

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

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

10.129.1.190: IP для валентинки

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

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

Я также решил проверить имя хоста в базе данных уязвимостей Nmap с помощью этой команды:

nmap --script vuln 10.129.1.190
Скриншот-2021-05-24-23.00.38

Nmap Scripting Engine (NSE) является одной из самых мощных и гибких функций Nmap. Он позволяет пользователям писать (и делиться) простые скрипты (с помощью языка программирования Lua) для автоматизации различных сетевых задач. Вы можете найти больше информации здесь.

Вы можете найти скрипты по ссылке:

/usr/share/nmap/scripts
Скриншот-2021-05-24-23.08.41

Вы также можете искать конкретный сценарий с помощью grep команда. Больше информации о команде здесь.

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

Я смотрю на результаты и вижу, что коробка уязвима ssl-heartbleed:

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

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

Скриншот-2021-05-24-23.04.14
https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2014-0160

Программа CVE определяет, определяет и каталогизирует публично раскрытые уязвимости кибербезопасности.

Есть еще одна ссылка, которая перенаправляет сообщения о безопасности OpenSSL.

Скриншот-2021-05-24-23.05.39
https://www.openssl.org/news/secadv/20140407.txt

Шаг 2 Что Сердечное кровотечение Уязвимость?

Сердечное кровотечение это ошибка безопасности в библиотеке OpenSSL. Он был представлен в 2012 году и обнародован в апреле 2014 года.

Ошибка Heartbleed позволяет любому в Интернете читать память систем, защищенных уязвимыми версиями программного обеспечения OpenSSL. Это позволяет злоумышленникам подслушивать коммуникации, воровать данные непосредственно у служб и пользователей, а также выдавать себя за службы и пользователей. – Heartbleed.com

Вы можете узнать больше о Heartbleed на этом специальном веб-сайте здесь.

Скриншот-2021-05-25-на-17.58.12
https://heartbleed.com/

Также есть отличный веб-комикс xkcd

изображение-57
https://xkcd.com/1354/

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

изображение-58
https://en.wikipedia.org/wiki/Heartbleed

С фазы разведки я решаю начать с порта 80. И получаю страницу с изображением. Я узнаю логотип Heartbleed с правой стороны.

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

Я смотрю на исходный код. Ничего интересного.

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

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

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

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

gobuster dir -u 10.129.1.190 -w /usr/share/wfuzz/wordlist/general/big.txt -x php,html,txt

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

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

Затем я использую эту команду для megabeast.txt список слов:

gobuster dir -u 10.129.1.190 -w /usr/share/wfuzz/wordlist/general/megabeast.txt -x php,html,txt
Скриншот-2021-05-24-23.30.40

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

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

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

Есть два файла. Я проверяю содержание hype_key файл. Кажется, это шестнадцатеричное значение.

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

Другой файл, notes.txtэто перечень дел.

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

Я также нахожу декодер /декодировать.

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

и включен кодер /кодировать.

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

Шаг 4 Расшифруйте ключ

Я возвращаюсь в свой терминал и копирую/вставляю содержимое файла hype_key на файле.

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

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

cat hype.key
Скриншот-2021-05-24-на-23.39.32

Я использую терминал для декодирования ключа, а точнее xxd. Больше информации об этой команде здесь. Я использую комбинацию -r -p для чтения простых шестнадцатеричных дампов без информации о номере строки и без конкретного макета столбцов.

Я использую команду:

cat hype.key | xxd -r -p

Выход an зашифрован Ключ RSA. Ключ RSA – это закрытый ключ, основанный на алгоритме RSA. Закрытый ключ используется для аутентификации и симметричного обмена ключами при установке сеанса SSL/TLS.

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

Я записываю результат в новый файл, hype_key.rsaиз:

cat hype.key | xxd -r -p > hype_key.rsa
Скриншот-2021-05-24-на-23.45.08

Но без пароля этот ключ не слишком полезен. Посмотрим, сможем ли мы его найти!

Шаг 5 Найдите эксплойт

На этапе разведки на Nmap и на веб-странице мы обнаружили, что машина была ранима или имеет ссылку на Heartbleed.

я использую Searchsploit чтобы проверить, есть ли какой-нибудь известный эксплойт. Searchsploit – это инструмент поиска командной строки для базы данных Exploit.

Я использую следующую команду:

searchsploit heartbleed
Скриншот-2021-05-25-на-00.08.03

Есть несколько результатов. Я уйду с первым. Я получаю больше деталей об эксплойте с помощью:

searchsploit -x 32764.py
Скриншот-2021-05-25-at-00.08.57
Скриншот-2021-05-25-на-00.08.41

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

Скриншот-2021-05-25-at-18.24.55
https://www.exploit-db.com/exploits/32764

Я получаю больше информации с помощью:

searchsploit -p 32764.py
Скриншот-2021-05-25-на-00.09.23

Я вижу, где он находится на коробке HTB Parrot. Копию файл в свой Валентина папка из:

cp /usr/share/exploitdb/exploits/multiple/remote/32764.py .

и я проверяю, был ли он скопирован в эту папку:

ls -la
Скриншот-2021-05-25-на-00.09.57

Я переименую файл в heartbleed.py из:

mv 32764.py heartbleed.py
Скриншот-2021-05-25-на-00.10.23

Затем я запускаю эксплойт с помощью такой команды:

python2 heartbleed.py 10.129.1.190
Скриншот-2021-05-25-на-00.12.26

Информации много, но, прокручивая ее и глядя на правую сторону, я вижу интересную строчку:

$text=aGVhcnRibGVlZGJlbGlldmV0aGVoeXBlCg==

Это есть база 64. Давайте попробуем декодер, который мы нашли раньше /декодировать.

Скриншот-2021-05-25-at-00.14.28

Я послал строку и получил назад пароль!

heartbleedbelievethehype
Скриншот-2021-05-25-at-00.14.13

Вы можете также декодировать его на своем терминале с помощью следующей команды.

echo aGVhcnRibGVlZGJlbGlldmV0aGVoeXBlCg== | base64 --decode
Скриншот-2021-05-25-at-00.16.32

Я пробую этот недавно найденный пароль на ключе RSA с помощью:

openssl rsa -in hype_key.rsa -out hype_key_decrypted.rsa

Я ввожу пароль, когда мне это предлагается.

Скриншот-2021-05-25-at-00.29.05

С этапа разведки мы обнаружили открытый порт 22. Давайте SSH к машине. Я делаю обоснованные предположения по имени пользователя и решу продолжить ажиотаж поскольку я нашел это имя на ключе /разв папку

I SSH к машине из:

ssh -i hype_key_decrypted.rsa hype@10.129.1.190
Скриншот-2021-05-25-на-30.00.17

И я теперь как пользователь ажиотаж.

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

Я начинаю переходить к /домой каталог.

Скриншот-25-05-2021-31.09

Я продолжаю до /ажиотаж каталог.

Скриншот-2021-05-25-на-00.31.44

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

cat user.txt
Скриншот-2021-05-25-на-00.32.40

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

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

Скриншот-2021-05-25-на-00.33.13

Я решаю вернуться в каталог hype и вижу, что .bash_history файл не является нулевым файлом.

Скриншот-2021-05-25-на-00.33.58

Я кошачу его содержание из:

cat .bash_history

Оболочка bash сохраняет историю выполненных вами команд в файле истории вашей учетной записи пользователя по адресу ~/. bash_history по умолчанию.

Скриншот-2021-05-25-на-00.34.28

Я вижу некоторые команды с помощью tmux.

tmux является терминальным мультиплексором с открытым кодом для операционных систем, подобных Unix. Это позволяет одновременно получить доступ к нескольким терминальным сеансам в одном окне. Это полезно для одновременного запуска более чем одной программы командной строки. Его также можно использовать для отсоединения процессов от управляющих терминалов, позволяя удаленным сеансам оставаться активными, не будучи видимыми. — Википедия

Больше информации здесь.

я бегу ps и можно увидеть, что tmux сеанс запущен как пользователь root:

ps aux | grep tmux
Скриншот-2021-05-25-at-00.35.00

Я запустил команду для подключения к сеансу с полными правами root.

tmux -S /.devs/dev_sess
Скриншот-2021-05-25-на-00.35.22

Теперь я root!

Скриншот-2021-05-25-на-00.37.31

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

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

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

  • Обновите до последней версии OpenSSL
  • Замените все ключи и сертификаты на веб-серверах, чтобы уменьшить риски нарушения безопасности, а также отозвать старые
  • Применяйте принцип наименьших привилегий ко всем вашим системам и службам

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

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

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

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

vapor-synthwave-retro-city-4k-xu-1

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

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