Веб-хакинг мои попытки стать лучшим хакером в России #1

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Автор student
Источник: https://xss.is


cat /var/tmp
Всех приветствую! Добро пожаловать в блог новичка студента. Когда я регистрировался на xss, я пообещал администратору, что я буду писать статьи на тему веб уязвимостей для чайников. Почему бы не поделиться своим небольшим опытом, возможно я помогу кому-то в начинаниях.
Цель: стать достойным внештатным специалистом в сфере информационной безопасности или же хакером.

Содержание:
1. Предыстория
2. Подготовка рабочего окружения
3. Recon (разведка, собрать как можно больше информации о таргете)
4. Поиск точек входа
5. Раскрутка уязвимости
6. Вывод

История​

15.11.2023 получаю письмо от своего давнего знакомого. Он мне предложил поломать крипто ресурс, конечно же ради спортивного интереса. Все, что у нас есть - это таргет в формате https://domain.com. Нам нужно поискать возможные уязвимости и проникнуть в систему. Задача стандартная, я уже сталкивался с ней не в первый раз.

Подготовка рабочего окружения​

Тут особо париться не нужно. Ставим на VirtualBox kali linux, потому что там уже есть большинство инструментов которые нам понадобятся в дальнейшем.
Также нам понадобится удобный современный сканер портов
Установка:
Bash: Скопировать в буфер обмена
Код:
sudo apt install libpcap-dev
git clone .git
cd jfscan
cd jfscan
Можно особо не париться с зависимостями. Можно запускать вот так:
Bash: Скопировать в буфер обмена
Код:
cd ~/.local/bin
python3 jfscan
Также понадобится утилита https://github.com/epi052/feroxbuster
Bash: Скопировать в буфер обмена
sudo apt install feroxbuster
Самой собой нужен Burp Suite и расширение для браузера foxyproxy, чтобы добавить 127.0.0.1:8080 (это прокся burp).

Recon​

Нам нужно как можно больше собрать информации о нашем таргете. Чем мы больше узнаем информации, тем легче таргет будет взломать. Первое, что я рекомендую делать - это искать поддомены, используя активные и пассивные методы. Поиск поддоменов:
утилиты: amass, assetfinder, subfinder
http://api.subdomain.center/?domain=example.com
Contact Support
https://subdomainfinder.c99.nl/domain.com (покажет какие поддомены за клаудом)
Активный перебор поддоменов
gobuster dns -d domain.com -w subdomains-top1million-110000.txt -t 150 -i
puredns bruteforce n0kovo_subdomains_medium.txt example.com -r resolvers.txt
Censys - это платформа для сбора и анализа данных о состоянии Интернета. Она использует автоматизированные сканеры для сбора информации о протоколах, устройствах, приложениях и конфигурациях, которые используются на Интернете. Эти данные можно использовать для мониторинга безопасности, обнаружения уязвимостей и анализа трендов.
Нажмите, чтобы раскрыть...
1701367756287.png


Вводим исходный таргет. Мы иногда можем найти реальный айпи адрес, открытые порты и службы, которые там работают в данном случае (22, 80, 81, 82, 443, 9666), а также посмотрев на Forward DNS мы можем увидеть поддомены. Сохраняем их в отдельный текстовый документ, они нам еще пригодятся. В чем заключается идея Forward DNS? На одном сервере могут работать сразу несколько веб ресурсов, большая вероятность что какой-то из них либо будет уязвимым, либо выдаст нам полезную информацию, которая нам пригодится в дальнейшем. Используя censys я нашел 3 поддомена и 3 новых веб ресурса, которые крутят на этом же сервере, что и основной таргет. Попробуем использовать crt.sh и находим еще один новый поддомен, который нам не показал censys. Именно поэтому важно перепробовать все утилиты, возможно уязвимость как раз в том, который мы не проверили. Не нужно думать, что бесполезно использовать разные утилиты и достаточно одной или двух самых распространенных. На войне все методы хороши.
Теперь попробуем побрутить поддомены.
Bash: Скопировать в буфер обмена
Код:
wget https://raw.githubusercontent.com/Sq00ky/attacktive-directory-tools/master/userlist.txt
gobuster dns -d domain.com -w userlist.txt -t 50 -i
-i - вывод всех ip
-t - потоки. По умолчанию 10
Потоков лучше много не ставить, чтобы не задосить ресурс или себя же) Словарик я подкинул для брута поддоменов.
1701370294197.png


К сожалению ничего не нашлось. Потому что указал слишком много потоков, у меня из-за этого даже sqlmap приостановил работу. Уменьшаем количество потоков и посмотрим и на результат:
1701370658035.png


Мы нашил поддомен mail.example.com. Он расположен совершенно на другом сервере, админ грамотно сделал, что не стал располагать почту на серваке, где лежит основной ресурс, ведь это поможет предотвратить раскрытие реального айпи адреса.
Попробуем теперь утилиту puredns. Установка выглядит следующим образом:
Bash: Скопировать в буфер обмена
Код:
git clone https://github.com/blechschmidt/massdns.git
cd massdns
make
sudo make install
Далее скачиваем исходник и будем сами компилировать
Bash: Скопировать в буфер обмена
Код:
unzip puredns-2.1.1.zip
cd puredns-2.1.1
go build
Но у нас нет резолверов.
Это компьютеры, которые провайдеры используют для поиска в их базе данных конкретного узла, запрашиваемого пользователем. Когда данные получены, пользователь перенаправляется на соответствующий IP-адрес. Резолверы играют крайне важную роль в DNS.
DNS-резолвер кэширует информацию. К примеру, сайт example.com расположен на машине с IP-адресом 35.195.226.230.
Нажмите, чтобы раскрыть...
Скачиваем резолверы например отсюда https://raw.githubusercontent.com/trickest/resolvers/main/resolvers.txt
далее
Bash: Скопировать в буфер обмена
Код:
cd /home/kali/.config/
mkdir puredns
nano resolvers.txt
ctrl+c и ctrl+v и сохраняем файл resolvers.txt. Далее запускаем команду
Bash: Скопировать в буфер обмена
./puredns bruteforce ~/userlist.txt example.com
1701373557404.png


Еще один поддомен в копилку. pop.example.com.
Поищем реальный айпи адрес сервера. Есть множество способов, на этом сильно зацикливаться не будем. Скажу лишь, что в данном случае введя хост в censys я получил айпи. Или можно иначе. Запустим Burp Suite и проанализируем траффик
1701374649068.png


И переходим на таргет. Если таргет работает через http и у вас запрашивает сертификат, то переходим по адресу 127.0.0.1:8080 и скачиваем сертификат. Далее импортируем в браузер и ставим галочки обязательно:
1701374914314.png


Немного проявим активность так сказать. Для начала включим прокси 127.0.0.1:8080 (foxyproxy) и перезагрузим главную страничку таргета, еще можно пошляться так сказать по ресурсу, чтобы накопить трафика. Теперь смотрим что у нас имеется:
1701375473835.png


Взглянем на подозрительный ресурс https://frog.wix.com. С айпишником который начинается на 44.*.*.* оказывается это
1701375697915.png


cms`ка. Теперь мы знаем, что ресурс использует wix и мы можем поискать уязвимости для этой cms. Конечно, на reddit пишут что wix безопасная cms, но мы это проверим на практике.
Для этого создадим учетку на основном таргете. Но увы случается неудача:
1701449503988.png


Нужен код приглашения, чтобы зарегистрироваться. Я пошел искать видеобзор на ютубе на эту крипто платформу. Проплаченные обзорщики зарабатывают с рефералки, поэтому они указывают инвайт код в описании. Я создал учетку и начал изучать интерфейс. Первым делом протестируем те странички, где есть поля с загрузкой файла на сервер. Часто подобный функционал можно встретить при загрузки аватарки или оставляя комментарий/отзыв/отправляя тикет и тому подобное. Я нашел в settings --> profile --> upload avatar. Включаем foxyproxy и перезагружаем страничку, где можно загрузить аватарку
1701451461141.png


И находим интересный запрос:
1701451158023.png


Видимо, что подгружается картинка с расширением .png. Попробуем провести банальный lfi. Просто вместо картинки добавляем payload для просмотра файла passwd, т.к он является общедоступным.

1701451434510.png


Мы можем читать файлы с помощью данной уязвимости. Можем поискать конфигурационные файлы для этого закачаем словарик, чтобы брутить названия.
Берем этот словарик. Приводим в нормальный вид. Удаляем ../ и /../. Далее просто подставляем вместо ранее найденного /etc/passwd полезные нагрузки со словаря.
p/s вот нормальный вид
1701465560145.png


Далее брутим конф. файлы. И фильтруем те, где size для false(не найденного файла)
Bash: Скопировать в буфер обмена
ffuf -u "https://www.example.com/app/outer/user/plug/show?filename=../../../../../..FUZZ" -w word.txt -mc all -fs 0
1701465687996.png


Теперь мы знаем, что мы имеем дело с федорой и mysql:)
1701465728071.png







Продолжение следует

View hidden content is available for registered users!
 
Сверху Снизу