Hack The Box - вторая часть руководства, в которой проанализируем несколько машин из HTB

EartyStudio

Grey Team
26.10.2018
103
407
BIT
2
Полное руководство на русском языке о Hack The Box Pen-testing Labs

Первая часть - Hack The Box - все об онлайн лаборатории для пентеста, часть 1

Всем привет. Это вторая часть руководства по Hack The Box. В ней мы проанализируем несколько машин из HTB, проверим ваши знания командной строки lInux и изучим несколько утилит для сканирования.

Поискав на YouTube, я нашел отличнейший плейлист, из которого мы возьмем видеоролики, где проводят сканирование, и разберем парочку:






Просмотрев начало любого видеоролика, вы увидите сканирование IP адреса машины утилитой Nmap. Давайте посмотрим команды, используемы в видеоролике, и найдем к ним справку. Это можно проделать почти с каждой командой.

Получение справки к каждой команде.
Чтобы создать данный курс, я установил Kali Linux на виртуальную машину: Настраиваем Kali linux + VirtualBox

Получить справку можно двумя способами:

1) Получение справки в командной строке
  • мan [команда]
1.png


С помощью man нам выводится подробнейшая документация на русском языке, которую мы можем изучить:

2.png

  • [команда] –help
3.png


Здесь выводится краткая справка на английском:

4.png

  • При пентесте очень важно хорошее знание командной строки. Моё обучение начиналось с изучения на разных сайтах, но недавно в паблик выложили прекрасную книгу «Командная строка Linux - полное руководство». Ссылка на книгу:
2) Получение справки на официальном сайте команды

У всех популярных команд есть официальный сайт с документацией. Официальная документация команды, которую мы сейчас рассматриваем находится по адресу: . Получив документацию, мы разберем команды, которые использовались в видеороликах.

5.jpg


У Nmap используется такой синтаксис:
Код:
nmap [ <Тип сканирования> ...] [ <Опции> ] { <цель сканирования> }
1) -sC
В документации написано -script=default, что значит - запускать скрипт по умолчанию.
2) -sV
Исследовать открытые порты для определения информации о службе/версии.
3) -oA <базовове_имя_файла>
Сохраняет вывод Nmap в 3 файла с расширениями .nmap, .gnmap, .xml.
4) Nmap/Sunday
Место сохранения вывода. Папка/название файла
5) 10.10.10.76
Цель сканирования, IP адрес машины HTB.

И еще была команда с такой опцией:

6.jpg


1) -vvv
Максимум verbosity, так найденные порты будут показаны по ходу сканирования а не после завершения.
Эти опции вам придется использовать довольно часто, поэтому постарайтесь их запомнить.

Анализ вывода утилиты Nmap
Сейчас мы рассмотрим выводы Nmap у IppSec, а потом сами проведем сканирование.

Первый результат вывода.

7.png


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

Второй результат вывода.

8.png


Тут у нас уже может быть 2 пути развития http и ssh. Часто возникает вопрос, что такое Ssh-hotkey - это хеш-сумма. В нашем случае это MD5-сумма от открытой части RSA, ECDSA, EdDSA ключей.
Самостоятельный анализ машины.
За машину, которую мы будем анализировать возьмем любую из HTB, но для начала подключимся к ней.

Подключение к VPN
1) Скачиваем файл конфигурации OpenVPN

9.jpg


2) Установка файла конфигурации (Kali Linux)
Для начала мы переходим в директорию, в которую скачали файл. И используем команду: openvpn [Вай ник].ovpn.

10.jpg


Никнейм замазан, чтобы мой аккаунт не забанили на HTB за нарушение правил. Не закрывая это окно, открываем новый терминал и начинаем сканирование. Перед этим выберем машину, среди рабочих я выбрал любую, которая стоит на Linux.

11.png


Самое простое, что можно сделать – это запустить Nmap без опций.
Nmap 10.10.10.150
Результат:

12.jpg


В выводе мы видим два открытых порта: ssh и http. Давайте постараемся получить более подробную информацию.

nmap -sC -sV -oA [папка/название файла] 10.10.10.150

13.png


Мы сразу видим вывод, но он сохранился и в нашу папку. Это удобно, когда мы работаем с большими файлами, поскольку в редакторе можно легко проводить поиск нужной вам информации. Посмотреть записанный вывод можно командой:
Less [имя файла].nmap

Теперь разберем вывод:

14.jpg


1)
Открытый SSH порт.
Здесь используется 22 порт, который обычно стоит по умолчанию. Есть вероятность того, что SSH настроен с ошибками, и тогда мы сможем легко получить доступ, хотя такое бывает редко.

2) Открытый HTTP порт.
Здесь нам выдало достаточно много информации, например CMS Joomla. Чем больше информации мы сможем собрать, тем больше уязвимостей мы сможем найти. С большой вероятностью, нам придется искать эксплоит для этой версии Joomla или для 2.4.29 Apache.

3) Информация о версии ОС.
Информация о версии ОС будет очень полезна для поиска эксплоита, чтобы получить Root доступ. Поиск и работу с эксплоитами мы разберем позже.

Итак, мы видим перед собой два пути – HTTP и SSH. Чаще всего, я начинаю с исследования HTTP. Давайте приступим к изучению.

Поиск уязвимостей HTTP
Не будем очень сильно углубляться. Это мы сделаем позже, когда будет полноценная практика. Давайте узнаем версию Joomla и её основные каталоги.

Узнаем версию Joomla
Введя в поиск «Определение версии Joomla», мне сразу же высветились множества сайтов. Вот один из них:

Прочитав, можно понять, что нам надо перейти: domain_name/language/en-GB/en-GB.xml.

Переходим по ссылке, и видим версию Joomla:

15.png


Тут еще хранится email админа, но в этой машине он нам не понадобится.

Находим интересные каталоги
Всегда использую Dirb. Вызывается командой: dirb http://адресс.

Результат выглядит примерно так:

16.png


Мы нашли страницу авторизации: http://10.10.10.150/administrator/. Если там отсутствует ограничения, то мы сможет провести брутфорс, но думаю, что на Joomla есть защита от атак подобного вида.

Помочь собрать нам побольше информации поможет нам Nikto. На портале Codeby есть статья на эту тему: ХА!!!НАШЕЛ УЯЗВИМОСТЬ!!! - Или использование Nikto. Используя команду: nikto -host адрес утилита проведет комплексную проверку на интересные файлы и ошибки. Используя ее, готовьтесь ждать от 15 минут. Вот результат вывода моей программы:

17.png


В нашем случае есть несколько уязвимостей, которые мы можем использовать, но это мы будем делать в следующей части. Пока мы ведем себя, как разведчики 😊.
Задание
Небольшим заданием для вас будет – изучить утилиты с этого сайта: . Каждым инструментом попробуйте провести сканирование любой машины. Результаты всех сканирований сохраняйте в одну папку. Почти у каждого сканера, рядом с уязвимостью есть ее код, например в Nikto был OSVDB-8193. Поискав в Google этот код, изучите разные уязвимости машин, и находите способы использования эксплоитов к этим уязвимостям. Все это понадобится нам в следующей части, при проведении атаки.

Вопросы
Прочитав статью, вы сможете ответить на данные вопросы, и закрепить знания.
  • Какими двумя способами можно получить справку в командной строке linux?
  • Какие опции в основном используются в Nmap?
  • Какой порт использует SSH по умолчанию?
  • Что делает утилита Nikto?
  • Что такое SSH?*
  • На каких сайтах есть эксплоиты и их описание?*
  • Что такое XSS атака и какие разновидности бывают?*
*Самостоятельный поиск информации

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

mrOkey

Well-known member
14.11.2017
967
975
BIT
0
То есть, в статье ты просто описал то, что происходит в видео ? В части reconnaissance utils? Потрясающее просто браво
 
  • Нравится
Реакции: id2746
L

Lil’whale

Фантастика, замечательно пишешь. Продолжение будет?)
 

mCstl

Green Team
08.08.2017
83
71
BIT
0
Напиши про эксплуатацию через msf, не понимаю, нужно пробрасывать порты за vpn или в чем может быть проблема. Эксплойты на HTB вообще не проходят, даже если я уже почитал writeup узнал что делаю все так, но у меня что то не срабатывает. На root-me таких проблем не было. Переодически брут через http то же просто повисает. В общем как то так.
 

id2746

Green Team
12.11.2016
436
644
BIT
24
Напиши про эксплуатацию через msf, не понимаю, нужно пробрасывать порты за vpn или в чем может быть проблема. Эксплойты на HTB вообще не проходят, даже если я уже почитал writeup узнал что делаю все так, но у меня что то не срабатывает. На root-me таких проблем не было. Переодически брут через http то же просто повисает. В общем как то так.
там не надо ничего пробрасывать
 

mCstl

Green Team
08.08.2017
83
71
BIT
0
id2746: Да, спасибо. Оказывается с теми машинами это обычная история, вечером пришел все с первого раза прошло.
 
D

dehimb

id2746: Да, спасибо. Оказывается с теми машинами это обычная история, вечером пришел все с первого раза прошло.
Учтите что на фри аккаунте вы делите машину с десятками если не сотнями людей. Они и падать будут, и перезагружать будут. По возможности стоит брать вип, им есть за что платить )
 

tabacci

New member
17.09.2017
3
0
BIT
5
HackTheBox классная платформа, только затягивает сильно - можно часами играть в одну машинку.
Автору: зачем тебе бояться, что ник забанят, если у тя в том акке, которым подключаешься, всё равно всё по нулям?

Учтите что на фри аккаунте вы делите машину с десятками если не сотнями людей. Они и падать будут, и перезагружать будут. По возможности стоит брать вип, им есть за что платить )

делить машинку намного веселее! заходишь, пишешь нетстат и видешь, соклько человек параллельно подключились, видишь кто в каком контексте сидит, а во временном каталоге всякие интересные рабочие файлы)
 
D

dehimb

HackTheBox классная платформа, только затягивает сильно - можно часами играть в одну машинку.
Автору: зачем тебе бояться, что ник забанят, если у тя в том акке, которым подключаешься, всё равно всё по нулям?



делить машинку намного веселее! заходишь, пишешь нетстат и видешь, соклько человек параллельно подключились, видишь кто в каком контексте сидит, а во временном каталоге всякие интересные рабочие файлы)
да, еще обычно поднимают на своей машине SimpleHttpServer, можно подсмотреть что-то )
 

evil

Green Team
21.12.2016
16
2
BIT
0
Если машина уже в отставке, то почему бы полный мануал с (подробным ходом мысли) не описать? А если действующая, то зачем?
А время, когда одновременно не так много человек работают с машиной надо подлавливать - это да.
 

Masterapt

New member
11.04.2020
2
0
BIT
0
подскажите пожалуйста в чем проблема??
Wed May 6 17:28:10 2020 /sbin/ip -6 addr add dead:beef:2::1066/64 dev tun1
Wed May 6 17:28:10 2020 /sbin/ip route add 10.10.10.0/24 via 10.10.14.1
RTNETLINK answers: File exists
Wed May 6 17:28:10 2020 ERROR: Linux route add command failed: external program exited with error status: 2
Wed May 6 17:28:10 2020 add_route_ipv6(dead:beef::/64 -> dead:beef:2::1 metric -1) dev tun1
Wed May 6 17:28:10 2020 /sbin/ip -6 route add dead:beef::/64 dev tun1
RTNETLINK answers: File exists
Wed May 6 17:28:10 2020 ERROR: Linux route -6/-A inet6 add command failed: external program exited with error status: 2
Wed May 6 17:28:10 2020 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed May 6 17:28:10 2020 Initialization Sequence Completed
^CWed May 6 17:28:32 2020 event_wait : Interrupted system call (code=4)
Wed May 6 17:28:32 2020 Closing TUN/TAP interface
Wed May 6 17:28:32 2020 /sbin/ip addr del dev tun1 10.10.14.104/23
Wed May 6 17:28:32 2020 /sbin/ip -6 addr del dead:beef:2::1066/64 dev tun1
Wed May 6 17:28:32 2020 SIGINT[hard,] received, process exiting
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!