Как стать автором
Обновить

Как я нашел учетные данные к БД с помощью разведки в VDP от Gcash

Время на прочтение5 мин
Количество просмотров620
Автор оригинала: Ph.Hitachi

Привет, сегодня я расскажу о другой находке в Gcash VDP и дам советы по методологии разведки, такие как: перечисление поддоменов, анализ технологий с помощью Wappalyzer, массовая разведка и определение области с помощью автоматизированных инструментов.

Что такое определение области разведки?

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

Начало:

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

mkdir -p gcash.com ~/recon/targets/gcash.com/subdomains/

mkdir -p gcash.com ~/recon/targets/gcash.com/endpoints/

mkdir -p gcash.com ~/recon/targets/gcash.com/aws/

mkdir -p gcash.com ~/recon/targets/gcash.com/dns/

Процесс разведки

- Перечисление поддоменов

- Сбор информации (сеть, DNS, технологии, порты)

- Автоматическое тестирование

Перечисление поддоменов

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

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

Инструменты:

subfinder

assetfinder

alterx

asnmap

ffuf

# Пассивное и активное перечисление поддоменов с использованием subfinder

subfinder -d gcash.com -o ~/recon/targets/gcash.com/subdomains/subfinder.txt

# Перечисление поддоменов через сертификаты с помощью assetfinder

assetfinder --subs-only gcash.com >> ~/recon/targets/gcash.com/subdomains/assetfinder.txt

# Динамическое перечисление поддоменов с помощью alterx

echo gcash.com | alterx -enrich | dnsx > ~/recon/targets/gcash.com/subdomains/alterx-dynamic.txt

# Для увеличения шансов найти поддомен можно сгенерировать шаблоны на основе существующих поддоменов

subfinder -d tesla.com | alterx | dnsx

# Перечисление поддоменов с помощью alterx

echo gcash.com | alterx -pp 'word=subdomains-top1million-50000.txt' | dnsx > ~/recon/targets/gcash.com/subdomains/alterx-permutation.txt

# Перечисление поддоменов через ASMapping

asnmap -d gcash.com | dnsx -silent -resp-only -ptr > ~/recon/targets/gcash.com/subdomains/dnsx.txt

# Перечисление поддоменов через vhost

cat subdomains-top1million-50000.txt | ffuf -w -:FUZZ -u http://gcash.com/ -H 'Host: FUZZ.gcash.com' -ac

После перечисления поддоменов с использованием разных инструментов, могут появиться дубликаты. Чтобы оптимизировать список поддоменов, мы объединим все с помощью инструмента anew, который удалит дубликаты.

# Объединение поддоменов из ~/recon/targets/gcash.com/subdomains/ в один файл и удаление повторений

cat ~/recon/targets/gcash.com/subdomains/.txt | anew ~/recon/targets/gcash.com/subdomains/subdomains.txt

После того как мы объединили поддомены, нам нужно отфильтровать активные поддомены используя httpx.

# Проверка HTTP/HTTPS серверов  на активность

cat ~/recon/targets/gcash.com/subdomains/subdomains.txt | httpx -o ~/recon/targets/gcash.com/subdomains/httpx.txt

Сбор информации

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

Автоматизированное тестирование

Получив информацию о технологиях, мы начинаем использовать nuclei.

Nuclei используется для отправки запросов на основе шаблонов, что обеспечивает отсутствие ложных срабатываний и быструю проверку большого количества хостов. Nuclei подходит для различных вариантов сканирования, включая TCP, DNS, HTTP, SSL, File, Whois, Websocket, Headless, Code и т.д.. Благодаря мощной и гибкой системе шаблонов, Nuclei может использоваться для проведения всех видов проверки безопасности.

С помощью nuclei я сканирую все поддомены, используя эту команду:

cat ~/recon/targets/gcash.com/subdomains/httpx.txt | nuclei -config ~/nuclei-templates/config/custom.yml

Я создаю свои собственные конфигурации, которые сосредоточены на поиске чувствительных данных (например, секретных ключей, токенов, учетных данных) в конфигурациях и собранных ресурсах, таких как JavaScript файлы или Docker. Вы также можете создать пользовательскую конфигурацию для wappalyzer с помощью nuclei, чтобы обнаруживать технологии.

# nuclei -config ~/nuclei-templates/config/custom.yml -list target_list_to_scan.txt

severity:

  - critical

  - high

  - medium

  - low

type:

  - http

  - tcp

  - javascript

include-tags:

  - generic

  - config

  - misconfig

  - exposures

  - exposure

  - disclosure

  - file

  - logs

  - traversal

  - xss

  - lfi

  - crlf

  - cache

  - takeovers

  - wordpress

exclude-tags:

  - tech

  - dos

  - fuzz

  - creds-stuffing

  - token-spray

  - osint

  - headers # exlude finding missing HTTP security headers

После завершения сканирования я проверяю результаты и нахожу следующее:

Учетные данные для БД были раскрыты из-за ошибок в конфигурации.

На самом деле это странно, так как я не нашел их с помощью gobuster или disearch, когда  проводил fuzz-тестирование.

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

У меня есть приватный VPS, и там я запускаю nuclei с помощью Docker. Таким образом, даже если у меня есть дела, сканирование продолжится в фоновом режиме на VPS, даже когда я сплю. К тому же VPS обычно имеет более высокую скорость интернета, поэтому он гораздо лучше подходит, чем ваше локальное устройство.

AWS S3 bucket

Как мы видим из результатов httpx - используется AWS, давайте отфильтруем S3 bucket с помощью nuclei.

# Фильтруем S3 bucket и сохраняем в ~/recon/targets/gcash.com/aws/butcket.txt

cat ~/recon/targets/gcash.com/subdomains/httpx.txt | \

nuclei -t technologies/aws/aws-bucket-service.yaml | \

awk -F’://’ ‘{print $2}’ | \

awk -F’/’ ‘{print $1}’ > ~/recon/targets/gcash.com/aws/butcket.txt

# Сохраняем открытые bucket в open_buckets.txt из ~/recon/targets/gcash.com/aws/butcket.txt

cat ~/recon/targets/gcash.com/aws/butcket.txt | \

xargs -I {} sh -c ‘if aws s3 ls “s3://{}” — no-sign-request 2>/dev/null; \

then echo “{}” >> ~/recon/targets/gcash.com/aws/open_buckets.txt; \

fi’

Пассивное сканирование открытых портов

Для сканирования открытых портов я всегда использую naabu, так как он позволяет быстро и надежно перечислить доступные порты.

# Сканируем все открытые порты, кроме 80 и 443

cat ~/recon/targets/gcash.com/subdomains/subdomains.txt | naabu –passive

После того как мы просканировали все порты, давайте найдем порты для эксплуатации. Лично я всегда обращаю внимание на порт SMTP. Если вы найдете его, то можете протестировать спуфинг электронной почты с помощью инструмента swaks.

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

Другой пример отсутствия уязвимости:

После того как я обнаружил несколько уязвимостей, я сообщил о них, и их подтвердили. Затем меня пригласили в частную баг-баунти программу YesWeHack, которая отделена от VDP.

Только BBP программы имеют денежное вознаграждение, а в VDP дают только токены или сувенирную продукцию в качестве благодарности.


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

Хронология:

- 16 марта 2024 — Объявление VDP  

- 17 марта 2024 — Предварительный отчет  

- 25 марта 2024 — Отсортировано  

- 27 марта 2024 — Исправлено

Ещё больше познавательного контента в Telegram-канале — Life-Hack - Хакер

Теги:
Хабы:
0
Комментарии1

Публикации

Истории

Работа

Ближайшие события

8 апреля
Конференция TEAMLY WORK MANAGEMENT 2025
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область