• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

Сливаем сайты через Insecure Source Code Managment или как НЕ нужно обеспечивать контроль версий проекта

Yaderi

Участник
Сообщения
4
Реакции
2
0 руб.
Всех с праздником)

Большинство разработчиков ПО изпользуют систему контроля версий, такую как Git, для отслеживания изменений в исходном коде проекта во время разработки программного обеспечения. Когда инженер-программист использует Git, он обычно включает каталог git, расположенный в корне веб-сайта, для хранения всей информации о контроле версий проекта, включая историю коммитов некоторых файлов. Папка /.git/ должна иметь ограничения на чтение, иначе исходный код проекта может быть скомпрометирован. Те кто решал web-таски на таких платформах как rootme.org или tryhackme должны быть знакомы с подобным видом уязвимостей.

Чем мы сегодня будем заниматься?
1. Поиск уязвимых веб-приложений при помощи Google-dorks и поисковой системы Shodan.
2. Выкачивание каталогов из .git + ревью софта.
3. Exctract-им коммиты репозитория и получаем исходный код.

Вообще, помимо Git существует множество других систем контроля версий, таких как CVS (система параллельных версий), SVN (подрывная версия Apache), BZR (Bazaar) и HG (Mercurial). Сегодня мы рассмотрим конкретно систему контроля версий Git, так как она является самой распространенной.

I. Ищем уязвимые веб-приложения.
1. Поисковая система Google и поиск по Google-dorks.
Выполнив поиск по Google-dork: intitle: "Index of /.git" , мы получаем веб сайты с общедоступными .git репозиториями открытыми в режиме чтения.

1655028605800.png


2. Поисковая система Shodan.
Shodan — это поисковая система для всего, что есть в Интернете. Используя запрос http.title:"Index of /" http.html:".git", он вернет вам список веб-сайтов с открытым репозиторием .git.

1655028756700.png

II. Выкачиваем каталог /.git/ и изучаем софт.

Итак, мы определили для себя цель и готовы выкачивать исходный код сайта. Я выбрал https://schweizerrsg.com - производитель вертолетной техники в пендосии.
Их сайт основан на свободной и бесплатной CMS WordPress, так что вреда мы им практически не принесем (что и к лучшему).

1655029135100.png
Как мы видим, здесь у нас открыт /.git/ для чтения.

1655029185200.png
На данном этапе нам потребуется утилита "GitTools" - https://github.com/internetwache/GitTools .
Клонируем репозиторий через git clone. Теперь нам нужен раздел "Dumper". При помощи него мы будет клонировать все файлы из /.git/ на наше устройство.

1655029401200.png
Сперва указываем сайт на котором находится каталог /.git/ потом место куда мы хотим его скопировать.
Итак, у нас пошел процесс выкачивания.

1655029637500.png

III. Извелкаем исходники сайта.

После всего этого мы получаем 1 в 1 клонированный /.git/ на своем устройстве. Но мы не видим того самого исходного кода. Что делать? А теперь нам нужно все это дело распаковать. Для этого в GitTools переходим в Extractor и запускаем его. Слева - папка с клонированным /.git/, справа - куда нужно вытаскивать исходники.

1655096944600.png

Итак, мы извлекли данные из /.git/ и сейчас мы посмотрим что получилось.
Как мы видим, в /.git/ у них хранились 2 версии проекта.

1655097381300.png
Идем далее.

1655097506400.png
Так как сайт у них основывается на СMS WordPress, можем видеть полную структуру сайта с плагинами и папками. Пример не самый лучший но, при помощи него можно спокойно поставить фишинговый сайт, ведь все плагины уже заранее настроены и вся струкутура сохранена. На свой движок они поставили большое множество плагинов для защиты и безопасности. Но всего одна маленькая ошибка конфигурации...

На данном примере мы разобрали сайт на CMS WordPress и, надеюсь, принесли ему минимальное количество вреда. А если сайт самописный или на другом CMS? Здесь уже может быть все гораздо серьезней. Взглянем на пример в виде https://www.dataone.io/ . Сдампив его каталог /.git/ я получил 13 версий проекта по которым можно отследить его развитие, весь backend рукописный (с комментариями, будет что почитать) а также дамп базы данных phpMyAdmin.

1655098123400.png
Cкажите, уже посерьезней?

Бывает и такое что папка /.git/ может не показываться на сайте. В этом случае все-равно нужно проверять GitTools на наличие данных в /.git/ . Наглядный пример: polsa.gov.pl .

Итак, сегодня мы разобрались как обнаруживать, выкачивать и извлекать данные из каталогов /.git/ сайтов. А также на нескольких наглядных примерах поняли, почему оставлять папку /.git/ в корне сайта доступной для чтения - плохая идея.

Надеюсь что вам понравился гайд. В первую очередь он направляется "Zаря" и "XakNet". Парни, разьебите всех)
 

Вложения

  • 1655029331100.png
    1655029331100.png
    3 KB · Просмотры: 3

shady

Участник
Сообщения
39
Реакции
28
0 руб.
Данная возможность поиска работает, и реализована на конкретных движках, или там не имеет значения?
 

Yaderi

Участник
Сообщения
4
Реакции
2
0 руб.
Данная возможность поиска работает, и реализована на конкретных движках, или там не имеет значения?
Да, если конкретно про дорки. Поиск по "Значение в head страницы" реализовано во всех поисковиках, так что можно искать в duckduckgo.com спокойно, да хоть в Bing, XD. Но все-таки пока лучшая система дорков реализована в поисковой системе от Google. А что касается Shodan - то это конкретный специализированный поисковик для серча всего что подключено к сети интернет (альтернатив ему я не особо видел)
 
Сверху Снизу