Hack the box прохождение
Расписание трансляций: Вторник 18:30 (прохождение HTB тачки) Четверг 18:30 (прохождение HTB тачки) Суббота 18:30 (интервью с персоной из ИБ) Первый стрим 27 мая в 19:00 🔗Ссылка на твич Приветствую всех на канале Codeby, от лица портала я буду проходить в режиме Live уязвимые машины на.
Куда можно выкладывать свои врайтапы с HTB?
Всем привет! Недавно начал знакомство с HTB, решил одну тачку и в голову пришла мысль, что надо писать врайтапы по пройденным тачкам, как никак повторение мать ученния да и потрфолио соберется. Решил выкладывать на github, сделал репозиторий приватным, и столкнулся с проблемой, что я не могу.
Не могу пройти Web Chalage на Hack The Box
Всем привет. Уже второй день сижу с данным челенджем из раздела Web - "[30 Points] FreeLancer [by IhsanSencan]" Прошерстил все форумы, они пишут что надо читать исходники и найти где-то хэш. Но в исходниках никаких намеков не нашел. На данный момент нашел админ панель при помощи dirb. Там.
Помощь с машинкой hackthebox
Дорогие пентестеры, не могли бы вы подсказать? Существует машина netmon и к сожалению у меня с ней возникли проблемы. Я просканировал Nmap и Nessus, нашёл открытые порты, это был 80, 139 и 445. Nessus показал уязвимость в smb, я попытался использовать eternalblue и просто через smbclient, но все.
CTF CTF HTB - Beatles
Привет, а вот и первый врайтап из очень популярной CTF платформы Hackthebox, вот и пруф популярности: Уж больно понравилась эта стеганография и ровно поэтому решил ее запостить, надеюсь и Вы оцените. Скачав архив мы видим изображение и пойдем по привычному для нас пути: Stegsolve.jar.
hackTheBox и флаги в раздели машины
Наверное максимально глупый вопрос который можно было придумать в хакзебокс в разделе машины я решила одну или думаю что решила нашла нечто очень похожие на флаг но куда его вводит или надо на самой машине совершить какое либо действия или это чисто для себя?
CTF Writeup Sunday. HackTheBox.
Hello World! Writeup на машину Sunday, сегодня уходит на пенсию. ОС Solaris. Сложность Easy. Вредность зашкаливает. Очень и легкая и очень плохая машина. Легкая потому что интуитивно понятно куда идти и что делать, плохая потому что сотни людей повышают привилегии через файл sudoers и ломают.
- n01n02h
- Тема
- 29.09.2018
- hackthebox n01n02h writeup
- Ответы: 0
- Раздел: CTF Zone
CTF Writeup Olympus. HackTheBox.
Всем привет! Читал вчера чатик, и там какой тип предлагал писать writeup на HTB, вот я и подрезал идейку, хотя я предлагал еще полгода назад) Writeup на тачку Olympus, через несколько часов она улетает в архив) Тачка на линуксе, сложность средняя. Сканируем: n01:
- n01n02h
- Тема
- 22.09.2018
- hackthebox n01n02h writeup
- Ответы: 0
- Раздел: CTF Zone
Статья FwdSh3ll: Когда Reverse и Bind не смогли, Forward-Shell спешит на помощь
В данной статье разберем прохождение не просто машины, а целой мини-лаборатории с площадки HackTheBox.
Как сказано в описании, P.O.O. предназначен для проверки навыков на всех стадиях атак в небольшой среде Active Directory. Цель состоит в том, чтобы скомпрометировать доступный хост, повысить привилегии и, в конечном итоге, скомпрометировать весь домен, собрав при этом 5 флагов.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)
Организационная информация Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Intro
Данный endgame состоит из двух машин, и содержит 5 флагов.
Так же дается описание и адрес доступного хоста.
Recon flag
Данная машина имеет IP адрес 10.13.38.11, который я добавляю в /etc/hosts.
10.13.38.11 poo.htb
Первым делом сканируем открытые порты. Так как сканировать все порты nmap’ом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 500 пакетов в секунду.
Теперь для получения более подробной информации о сервисах, которые работают на портах, запустим сканирование с опцией -А.
Таким образом, мы имеем службы IIS и MSSQL. При этом мы узнаем реальное DNS имя домена и компьютера. На веб сервере нас встречает домашняя страница IIS.
Давайте переберем директории. Я для этого использую gobuster. В параметрах указываем количество потоков 128 (-t), URL (-u), словарь (-w) и расширения, которые нас интересуют (-x).
Мы получаем содержимое каталога. Самое интересное здесь — это каталог /dev, из которого мы в двух ветках можем посмотреть исходники и файлы db. Но мы можем первые 6 символов имени файлов и директорий, если сервис уязвим к IIS ShortName. Проверить наличие данной уязвимости можно с помощью IIS shortname Scanner.
И на ходим один текстовый файл, который начинается с «poo_co». Не зная что делать дальше, я просто выбрал из словаря директорий все слова, начинающиеся на «co».
И переберем с помощью wfuzz.
И находим подходящее слово! Смотрим данный файл, сохраняем учетные данные (судя по параметру DBNAME, они от MSSQL).
Сдаем флаг, и мы продвигаемся на 20%.
Huh flag
Подключаемся к MSSQL, я использую DBeaver.
Ничего интересного в данной базе не находим, давайте создадим Редактор SQL и проверим, какие есть пользователи.
У нас два пользователя. Давайте проверим свои привилегии.
Таким образом, привилегий никаких нет. Давайте посмотрим связанные серверы, про данную методику я подробно писал здесь.
Так мы находим еще один SQL Server. Давайте проверим выполнение команд на этом сервере с помощью openquery().
И мы даже можем выстраивать дерево запросов.
Дело в том, что когда мы выполняем запрос на связанный сервер, то запрос выполняется в контексте другого пользователя! Давайте посмотрим, в контексте какого пользователя мы работаем на связанном сервере.
А теперь посмотрим в каком контексте выполняются запрос со связанного сервера на наш!
Таким образом, это контекст DBO, который должен обладать всеми привилегиями. Давайте проверим привилегии в случае запроса со связанного сервера.
Как можно заметить, у нас есть все привилегии! Давайте так создадим своего админа. Но через openquery не пускают, давайте сделаем это через EXECUTE AT.
И теперь подключаемся с учетными данными нового пользователя, наблюдаем новую базу данных flag.
Сдаем этот флаг и идем далее.
BackTrack flag
Получим шелл с помощью MSSQL, я использую mssqlclient из пакета impacket.
Нам нужно раздобыть пароли, и первое, что мы уже встречали, — это сайт. Таким образом нам нужен конфиг веб сервера (бросить удобный шелл не получается, видимо работает firewall).
Но доступ запрещен. Хотя мы можем прочитать файл из MSSQL, нужно лишь знать какие языки программирования настроены. И в директории MSSQL узнаем, что есть Python.
Тогда прочитать файл web.config нет никаких проблем.
С найденными учетными данными зайдем на /admin и забираем флаг.
Foothold flag
На самом деле от использования файервола есть некоторые неудобства, но просматривая настройки сети, замечаем, что также используется прокол IPv6!
Добавим данный адрес в /etc/hosts.
dead:babe::1001 poo6.htb
Давайте снова просканируем хост, но уже по протоколу IPv6.
И по IPv6 доступна служба WinRM. Подключимся с найденными учетными данными.
На рабочем столе есть флаг, сдаем его.
P00ned flag
Проведя разведку на хосте с помощью winpeas ничего особенного не находим. Тогда было принято решение снова искать учетные данные (на эту тему я тоже писал статью). Но получить все SPN из системы через WinRM у меня не вышло.
Давайте выполним команду через MSSQL.
Указанным способом мы получаем SPN пользователей p00_hr и p00_adm, а это означает, что они уязвим к такой атаке, как Kerberoasting. Если вкратце, то мы можем получить хеши их паролей.
Для начала нужно получить стабильный шелл от имени пользователя MSSQL. Но так как нас ограничивают в доступе, то мы имеем связь с хостом только через 80 и 1433 порт. Но есть возможность туннелирования трафика через 80 порт! Для этого воспользуемся следующим приложением. Загрузим файл tunnel.aspx в домашнюю директорию веб сервера — C:\inetpub\wwwroot\.
И теперь при обращении к tunnel.aspx получаем ответ, что все готово к работе.
Давайте запустим клиентскую часть приложения, которая будет заниматься ретранслированием трафика. Мы будем перенаправлять весь трафик с 5432 порта на сервер.
И используем proxychains, чтобы слать трафик любого приложения через наш прокси. Добавим данный прокси в файл конфигурации /etc/proxychains.conf.
Теперь загрузим на сервер программу netcat, с помощью которой сделаем стабильный bind шелл, и скрипт Invoke-Kerberoast, c помощью которого выполним атаку Kerberoasting.
Теперь через MSSQL запускаем листенер.
И подключаемся через наш прокси.
И давайте получим хеши.
Далее нужно перебрать эти хеши. Так как в rockyou словаре данных паролей не было, то я использовал ВСЕ словари passwords, предоставленные в Seclists. Для перебора используем hashcat.
И находим оба пароля, первый в словаре dutch_passwordlist.txt, а второй в Keyboard-Combinations.txt.
И так у нас есть три пользователя, идем на контроллер домена. Сначала узнаем его адрес.
Отлично, мы узнали IP адрес контроллера домена. Давайте узнаем всех пользователей домена, а также кто из них является администратором. Для загрузим скрипт для получения информации PowerView.ps1. Потом подключимся с помощью evil-winrm, указав в параметре -s директорию со скриптом. А потом просто загрузим скрипт PowerView.
Теперь нам доступны все его функции. Пользователь p00_adm похож на привилегированного, поэтому будем работать в его контексте. Создадим объект PSCredential для этого пользователя.
Теперь все команды Powershell, где мы укажем Creds, будут выполнены от имени p00_adm. Давайте выведем список пользователей и атрибут AdminCount.
И так, наш пользователь реально является привилегированным. Давайте глянем, в каких группах он состоит.
Окончательно утверждаемся, что пользователь является администратором домена. Это дает ему право удаленного входа на контроллер домена. Давайте попробуем войти через WinRM, используя наш туннель. Меня смутили ошибки, выдаваемые reGeorg’ом при использовании evil-winrm.
Тогда воспользуемся другим, более легким, скриптом для подключения к WinRM. Откроем и поменяем параметры для подключения.
Пробуем подключиться, и мы в системе.
Но флага нет. Тогда посмотри пользователе и проверим рабочие столы.
У mr3ks находим флаг и лаборатория пройдена на 100%.
Вот и все. В качестве обратной связи, прокомментируйте — узнали ли Вы что-то новое из данной статьи и была ли она Вам полезна.
Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье разберемся с легенькой JavaScript обфускацией, загрузим бэкдор через репозиторий Git, и отладим 32- приложение.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)
Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:
- PWN;
- криптография (Crypto);
- cетевые технологии (Network);
- реверс (Reverse Engineering);
- стеганография (Stegano);
- поиск и эксплуатация WEB-уязвимостей.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Разведка
Сканирование портов
Данная машиина имеет IP адрес 10.10.10.114, который я добавляю в /etc/hosts.
10.10.10.114 bitlab.htb
Первым делом сканируем открытые порты. Так как сканировать все порты nmap’ом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 1000 пакетов в секунду.
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.114 --rate=1000
Далее нужно собрать больше информации об известных нам портах.
nmap -A bitlab.htb -p22,80
Как следует из отчета nmap на хосте работает SSH и веб-сервер. Причем на веб-сервере имеется robots.txt. Пройдя по директориям из этого списка, отмечаем, что работает gitlab и имеется непроиндексированная дирректория help.
Переходя на страницу bookmarks имеем несколько ссылок.
Все указывают на сайт того или иного продукта, кроме последней, которая содержит не адрес, а JS код.
При чем данный код обфусцирован.
Чтобы получить более читаемый код, можно воспольоваться следующим сайтом.
Немного доработав код, получим выполнение следующих инструкций.
С этими аутентификационными данными авторизуемся в gitlab. Там находим два профиля.
Так же можно обнаружить один проект, в котором происходит подключение к базе данных, в коде присутствую все данные для подключения.
Проверив Profile ничего интересного не находим.
В Deployer только php код.
Из данного кода становится понятно, что если мы разместил в профиле разместим файл, то он будет развернут на сервере.
Entry Рoint
Нам нужно разместить рhр бэкдор. К пример, тот, который будет принимать и выполнять команды.
Для того открываем Profile и создаем новый файл.
И после добавления наш файл появится в репозитории.
Теперь тестируем бэкдор.
Теперь получим полноценный шелл.
И видим обратное подключение к своему хосту.
Попав на хост, обязательно необходимо проверить данные, приобретенные ранее. Это данные для доступа к базе данных.
Открываев интерпретатор PHP в интерактивном режиме. Используем найденный код и просматриваем найденные данные. Пароль пользователя в base64, декодируем его.
Так мы узнаем пароль, которым видимо сможем подключиться по SSH. Но этого не вышло, так как base64 и есть пароль)).
Осматриваясь на машине, находим в домашней дирректории пользователя exe файл.
Скопируем его себе на хост для анализа.
Далее открываем файл в IDA Pro. Пролистав главную функцию main, можно найти сравнение переменной с именем пользователя и создание процесса с putty — программа для сетевых соединений.
Можно предположить, что соединение происходит с предоставлением аутентификационных данных, и их нам нужно найти. Данные соединения будут передаваться putty в качестве параметра, т.е. переменной v3.
Можно посмотреть готовую строку при отладке, но в IDA 32-х битный файл крашится. Пошагово отладив, понимаем, что это происходит после вызова GetUserNameW. Поступаем следующим образом.
Ставим BP на фрагменте сравнения имени.
Теперь ставим BP перед загрузкой параметров для функции GetUserNameW.
Запустим программу в отладчике. Отладка остановится перед вызовом нужной нам функции.
Теперь патчим код. Вместо загрузки параметров и вызова функции нужно поставить инструкцию NOP. Я для этого использую плагин Keypatch.
Теперь код выглядит так.
Продолжим отладку программы, чтобы она остановилась на сравнении имени. В этот момент адрес строки параметра уже будет загружен в регистр EAX для передачи в качестве параметра ShellExecuteW.
Теперь нажмем на стрелочку(jump in disassembly) рядом с регистром EAX. Это поволит перейти по адресу из EAX в главном окне IDA.
По данному адресу расположена строка параметра. Как можно видить она содержит симантически правильный текст “-ssh root… “. Но каждый символ представлен 2-я байтами. Чтобы удобно собрать строку нажмем Alt+A.
И в данном окне выбираем Unicode C-Style (16 bit). После чего наблюдаем корректно собранную строку.
В данной строке имеется пароль рута. Подключаемся по ssh и забираем токен.
Вы можете присоединиться к нам в Telegram. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
Всем привет. Это вторая часть руководства по Hack The Box. В ней мы проанализируем несколько машин из HTB, проверим ваши знания командной строки lInux и изучим несколько утилит для сканирования.
Поискав на YouTube, я нашел отличнейший плейлист, из которого мы возьмем видеоролики, где проводят сканирование, и разберем парочку:
Просмотрев начало любого видеоролика, вы увидите сканирование IP адреса машины утилитой Nmap. Давайте посмотрим команды, используемы в видеоролике, и найдем к ним справку. Это можно проделать почти с каждой командой.
Получение справки к каждой команде.
Чтобы создать данный курс, я установил Kali Linux на виртуальную машину: Настраиваем Kali linux + VirtualBox
Получить справку можно двумя способами:
- мan [команда]
С помощью man нам выводится подробнейшая документация на русском языке, которую мы можем изучить:
Здесь выводится краткая справка на английском:
У всех популярных команд есть официальный сайт с документацией. Официальная документация команды, которую мы сейчас рассматриваем находится по адресу: Справочное руководство Nmap (Man Page) | . Получив документацию, мы разберем команды, которые использовались в видеороликах.
У Nmap используется такой синтаксис:
1) -sC
В документации написано -script=default, что значит - запускать скрипт по умолчанию.
2) -sV
Исследовать открытые порты для определения информации о службе/версии.
3) -oA <базовове_имя_файла>
Сохраняет вывод Nmap в 3 файла с расширениями .nmap, .gnmap, .xml.
4) Nmap/Sunday
Место сохранения вывода. Папка/название файла
5) 10.10.10.76
Цель сканирования, IP адрес машины HTB.
И еще была команда с такой опцией:
1) -vvv
Максимум verbosity, так найденные порты будут показаны по ходу сканирования а не после завершения.
Эти опции вам придется использовать довольно часто, поэтому постарайтесь их запомнить.
Анализ вывода утилиты Nmap
Сейчас мы рассмотрим выводы Nmap у IppSec, а потом сами проведем сканирование.
Первый результат вывода.
В выводе мы видим открытые порты 79 и 111. Также важной информацией может быть операционная система и ее версия. В нашем случае данных о версии операционной системы нет, но это можно узнать. В следующей части мы тоже об этом поговорим. Кстати версия 5.11.
Второй результат вывода.
Подключение к VPN
1) Скачиваем файл конфигурации OpenVPN
2) Установка файла конфигурации (Kali Linux)
Для начала мы переходим в директорию, в которую скачали файл. И используем команду: openvpn [Вай ник].ovpn.
Никнейм замазан, чтобы мой аккаунт не забанили на HTB за нарушение правил. Не закрывая это окно, открываем новый терминал и начинаем сканирование. Перед этим выберем машину, среди рабочих я выбрал любую, которая стоит на Linux.
Самое простое, что можно сделать – это запустить Nmap без опций.
Nmap 10.10.10.150
Результат:
nmap -sC -sV -oA [папка/название файла] 10.10.10.150
Мы сразу видим вывод, но он сохранился и в нашу папку. Это удобно, когда мы работаем с большими файлами, поскольку в редакторе можно легко проводить поиск нужной вам информации. Посмотреть записанный вывод можно командой:
Less [имя файла].nmap
Теперь разберем вывод:
1) Открытый SSH порт.
Здесь используется 22 порт, который обычно стоит по умолчанию. Есть вероятность того, что SSH настроен с ошибками, и тогда мы сможем легко получить доступ, хотя такое бывает редко.
3) Информация о версии ОС.
Информация о версии ОС будет очень полезна для поиска эксплоита, чтобы получить Root доступ. Поиск и работу с эксплоитами мы разберем позже.
Узнаем версию Joomla
Введя в поиск «Определение версии Joomla», мне сразу же высветились множества сайтов. Вот один из них: Как узнать, определить версию Joomla на чужом сайте?
Прочитав, можно понять, что нам надо перейти: domain_name/language/en-GB/en-GB.xml.
Переходим по ссылке, и видим версию Joomla:
Тут еще хранится email админа, но в этой машине он нам не понадобится.
Результат выглядит примерно так:
Помочь собрать нам побольше информации поможет нам Nikto. На портале Codeby есть статья на эту тему: ХА. НАШЕЛ УЯЗВИМОСТЬ. - Или использование Nikto. Используя команду: nikto -host адрес утилита проведет комплексную проверку на интересные файлы и ошибки. Используя ее, готовьтесь ждать от 15 минут. Вот результат вывода моей программы:
- Какими двумя способами можно получить справку в командной строке linux?
- Какие опции в основном используются в Nmap?
- Какой порт использует SSH по умолчанию?
- Что делает утилита Nikto?
- Что такое SSH?*
- На каких сайтах есть эксплоиты и их описание?*
- Что такое XSS атака и какие разновидности бывают?*
Заключение
В прошлой части я сказал, что мы будем анализировать видеоролики с канала IppSec, но немного подумав, я решил сделать реальную практику, чтобы вы сами могли провести сканирование и найти уязвимости. В следующей рассмотрены самые частые уязвимости и их использование для проведения атаки.
Читайте также: