
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox.
В данной статье долго блуждаем в ресурсах SMB, находим альтернативные потоки NTFS и реверсим приложение на С#.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)
Организационная информация
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Recon
Данная машина имеет IP адрес 10.10.10.178, который я добавляю в /etc/hosts.
10.10.10.178 nest.htb
Первым делом сканируем открытые порты. Так как сканировать все порты nmap’ом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 500 пакетов в секунду.
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.178 --rate=500

Теперь для получения более подробной информации о сервисах, которые работают на портах, запустим сканирование с опцией -А.
nmap -A nest.htb -p445,4386

Первым делом обратим внимание на ресурс SMB. Попробуем войти от имени гостя.

sauna
И обнаруживаем доступные ресурсы. Давайте рекурсивно посмотрим все доступное нам содержимое.

Из приведенных файлов, наиболее интересна записка «Welcome Email.txt». Подключимся к ресурсу и сохраним себе на локальную машину данный файл.

А в самом сообщении на сообщается ресурс и учетные данные для подключения к нему.

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

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

И в одном файле находим название закрытого ресурса «Secure$», а в другом — учетные данные пользователя.


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

Но мы не можем просмотреть содержимое директории IT, благо имеем одну имеющуюся внутри директорию (следует из конфига). Смотрим все содержимое \Secure$\IT\Carl\.

Там расположен проект VisualBasic. Я подключился через проводник и скопировал папку с проектом на локальную машину.

Открываем проект и находим место, где из конфига считывается пароль и расшифровывается.

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


Так мы узнаем реальный пароль пользователя. Подключаемся и забираем токен.

ROOT
Осматриваемся дальше в рабочей директории пользователя.

Из файла конфигураций мы понимаем, что работает на втором порте.

Но подключившись и посмотрев help, понимаем, что нужен пароль.

Заходим в директорию и скачиваем приложение, возможно, проанализировав его, мы сможем найти пароль.

Повезло, что данное приложение написано на C#, это позволит нам легко декомпилировать весь проект с помощью dnSpy.


Таким образом программа, программа принимает на вход файл конфигураций, откуда достает определенные параметры.

Но в проекте ничего не находим. Далее было потрачено много времени, пока не пришло осознание всмотреться “глужбе” в пустой файл “Debug Mode Password.txt”. Подключим сетевой ресурс.

А теперь посмотрим все потоки данного файла. И определяем, что поток Password хранит 15 символов.

Прочитаем его, находим пароль для debug режима (затупил… бывает).

Снова подключаемся, вводим данный пароль и смотрим справку.


Далее стоило немного побродить в приложении, ведь нужно найти для декомпилированного проекта какой-то конфиг.

Судя по названию приложения, идем в LDAP.

И снова находим уже имеющееся у нас приложение и конфиг файл.

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

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

Перекомпилируем проект и запустим приложение, указав конфиг в качестве аргумента.

И получаем пароль администратора. Далее успешно подключаемся с помощью psexec.

Имеем полный контроль над машиной.
Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
catBasilio
Как-то педствлял работу хакеров немного по-интеллектуальнее что-ли.
Думал там контроль будет добываться через meltdown, spectre, или вообще найти 0-day уязвимость софте и поэксплуатировать ее.
А тут банально пошариться по помойке и найти файл в котором пароль написан. Даже дизассемблером ничего не пришлось делать. Необфусцированный c# — это вообще ниочем.
Greendq
Особенно повеселил момент, что программа расшифровывает пароли для проверки. Первое правило безопасности — фарш обратно не проворачивать! Т.е. использовать только необратимые (и солёные) хеши.
NordeN17
Особенно повеселил тот момент, когда взрослые дядьки всерьез обсуждают ctf задания, да еще и уровня Easy, предназначенные для обучения студентов ИБ первого-второго курса. Попросил бы профили ваши глянуть на hackerone, да уверен что там пусто. Так уверены в своих силах — регистрация на той платформе бесплатная, попробуйте хоть одну машину уровня Insane пройти)
RIPEMD160
два теоретика детектед, бомбит с вас сильно в данную секунду.