PDA

Просмотр полной версии : Hack The Box: Практический анализ машин для отработки навыков пентеста (Часть 2)


EartyStudio
30.03.2019, 21:13
Полное руководство на русском языке о Hack The Box Pen-testing Labs

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

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

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

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

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

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

1) Получение справки в командной строке

мan [команда]


https://forum.antichat.xyz/attachments/29017743/1.png

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

https://forum.antichat.xyz/attachments/29017743/2.png


[команда] –help

https://forum.antichat.xyz/attachments/29017743/3.png

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

https://forum.antichat.xyz/attachments/29017743/4.png


При пентесте очень важно хорошее знание командной строки. Моё обучение начиналось с изучения на разных сайтах, но недавно в паблик выложили прекрасную книгу «Командная строка Linux - полное руководство». Ссылка на книгу: https://itsecforu.ru/wp-content/uploads/2018/01/Komandnaya_stroka_Linux.pdf
2) Получение справки на официальном сайте команды

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

https://forum.antichat.xyz/attachments/29017743/5.png

У 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.

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

https://forum.antichat.xyz/attachments/29017743/6.png

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

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

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

https://forum.antichat.xyz/attachments/29017743/7.png

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

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

https://forum.antichat.xyz/attachments/29017743/8.png

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

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

https://forum.antichat.xyz/attachments/29017743/9.png

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

https://forum.antichat.xyz/attachments/29017743/10.png

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

https://forum.antichat.xyz/attachments/29017743/11.png

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

https://forum.antichat.xyz/attachments/29017743/12.png

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

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

https://forum.antichat.xyz/attachments/29017743/13.png

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

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

https://forum.antichat.xyz/attachments/29017743/14.png

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

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

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

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

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

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

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

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

https://forum.antichat.xyz/attachments/29017743/15.png

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

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

dirb http://адресс

.

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

https://forum.antichat.xyz/attachments/29017743/16.png

Мы нашли страницу авторизации:

http://10.10.10.150/administrator/

. Если там отсутствует ограничения, то мы сможет провести брутфорс, но думаю, что на Joomla есть защита от атак подобного вида.

Помочь собрать нам побольше информации поможет нам Nikto. На портале Antichat есть статья на эту тему: ХА!!!НАШЕЛ УЯЗВИМОСТЬ!!! - Или использование Nikto (https://forum.antichat.xyz/threads/1623783/). Используя команду:

nikto -host

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

https://forum.antichat.xyz/attachments/29017743/17.png

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

Вопросы
Прочитав статью, вы сможете ответить на данные вопросы, и закрепить знания.

Какими двумя способами можно получить справку в командной строке linux?

Какие опции в основном используются в Nmap?

Какой порт использует SSH по умолчанию?

Что делает утилита Nikto?

Что такое SSH?*

На каких сайтах есть эксплоиты и их описание?*

Что такое XSS атака и какие разновидности бывают?*
*Самостоятельный поиск информации

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

m9tnii
31.03.2019, 01:02
Отличная статья,хоть и был с первоначальными этапами разведки знаком,читать было интересно.
жду продолжения

mrOkey
31.03.2019, 15:14
То есть, в статье ты просто описал то, что происходит в видео ? В части reconnaissance utils? Потрясающее просто браво

Mr.Kryak
03.04.2019, 14:33
mrOkey сказал(а):

То есть, в статье ты просто описал то, что происходит в видео ? В части reconnaissance utils? Потрясающее просто браво


Мне , например, проще в тексте воспринимать инфу

mCstl
06.04.2019, 22:29
Напиши про эксплуатацию через msf, не понимаю, нужно пробрасывать порты за vpn или в чем может быть проблема. Эксплойты на HTB вообще не проходят, даже если я уже почитал writeup узнал что делаю все так, но у меня что то не срабатывает. На root-me таких проблем не было. Переодически брут через http то же просто повисает. В общем как то так.

id2746
07.04.2019, 09:49
mCstl сказал(а):

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


там не надо ничего пробрасывать

mCstl
08.04.2019, 11:01
id2746: Да, спасибо. Оказывается с теми машинами это обычная история, вечером пришел все с первого раза прошло.

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



dehimb сказал(а):

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



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

Evil
15.09.2019, 15:34
Если машина уже в отставке, то почему бы полный мануал с (подробным ходом мысли) не описать? А если действующая, то зачем?
А время, когда одновременно не так много человек работают с машиной надо подлавливать - это да.

resno
10.11.2019, 00:44
Чувак, продолжения ждать? Спасибо за мануалы

Masterapt
06.05.2020, 18:33
подскажите пожалуйста в чем проблема??
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