Я попросил нейросеть ChatGPT, которую уже прозвали революционной из-за широкого кругозора и способности давать точные ответы на любые запросы — от сочинения музыки до написания программного кода, представить, что она создала сайт и забыла удалить из корневой папки файлы, которые могут представлять наибольшую ценность для злоумышленников.
Часто разработчики (возможно, из-за своей невнимательности) забывают в корневых папках файлы, которые могут служить злоумышленникам подспорьем для взлома сайта или кражи важной информации. Это могут быть копии баз данных, конфигурационные файлы или даже файлы с исходным кодом. Багхантеры периодически обнаруживают такие уязвимости и отправляют отчеты в программы bug bounty (программы по поиску уязвимостей за вознаграждение).
Вознаграждение, как правило, зависит от уровня опасности найденных файлов. К примеру, в рамках программы bug bounty провайдера финансовых сервисов QIWI исследователь получил 50 $ за обнаружение фрагментов исходных файлов, в другом случае багхантеру назначили выплату в 1000 $ за найденную папку .git, которая используется при разработке.
Самые опасные файлы по версии ChatGPT
Корневая папка — это часть после первого слеша в адресе сайта. Если описать простыми словами, то атака на корень сайта выглядит так: https://example.com/[часть_URL_которую_перебирает_злоумышленник]. Ее результативность напрямую зависит от списка, используемого хакерами (в нашем случае — исследователями безопасности). Чем актуальнее и полнее список, тем выше шансы найти оставленные разработчиками файлы.
Если напрямую запросить у ChatGPT имена потенциально опасных файлов, она не ответит. Условия OpenAI, разработчика нейросети, запрещают использовать ее в злонамеренных целях, поэтому ChatGPT никогда не научит взлому. Однако если хакеры подойдут к вопросу творчески, то смогут получить некоторую полезную информацию, в частности перечень самых важных и распространенных файлов в корне сайтов. В списке, сгенерированном ChatGPT по этому запросу, — 5 тысяч файлов, среди которых config.backup (может хранить важную информацию о конфигурации сайта) и test-odbc.php (файл с тестированием подключения к базе данных).
Часть приведенных в нем файлов могла уже упоминаться в опубликованных fuzz.txt-списках, причем исследователи, как правило, составляли их вручную. Это доказывает, что у нейросети правильный ход мысли. Например, на GitHub есть похожий лист белого хакера Bo0oM. ChatGPT-fuzz.txt совпадает с ним не более чем на 354 строки, в остальном он содержит новые файлы, ранее не попадавшие в поле зрение багхантеров.
Уникальность этого списка в том, что ChatGPT выдает информацию на основе анализа огромного массива данных из интернета. Человек физически не может проанализировать такой же объем информации, как нейросеть.
Разработчикам нужно проверять сайты до прихода хакеров
Часто говорят, что осознание проблемы — это уже половина ее решения. Разработчикам сайтов стоит заранее подумать о том, чтó они хранят в корневой папке, и уже сейчас удалить оттуда лишние файлы, а нужные спрятать получше. Это поможет предотвратить проблемы в будущем. Например, что может быть опасного в утечке журналов? Рассмотрим на примере реального кейса, который удалось обнаружить с помощью СhatGPT-fuzz.txt.
В данном случае в файле webhook_sms_log.txt «утекали» персональные данные пользователей, среди которых мобильные номера и домашнее адреса. Как этой информацией воспользовались бы злоумышленники, если бы они обнаружили уязвимость первыми, — остается только гадать.
Помимо этого, разработчикам не следует использовать предсказуемые названия файлов, такие как test.php или config.txt. Еще одна рекомендация, актуальная как для разработчиков, так и для специалистов по ИБ, — периодически проводить повторный аудит сайтов. Если вы отвечаете за безопасность сервисов, то должны рассказывать разработчикам, какими последствиями для компании может обернуться несоблюдение простых правил.
Вывод
Потенциал ChatGPT еще полностью не раскрыт. Только сейчас у специалистов по ИБ появляется понимание, что это за инструмент и как его можно использовать в рабочих задачах. Помимо имен самых опасных файлов с помощью нейросети можно определить популярные заголовки, куки, параметры конфигурации сайтов и многое другое.
Важно, чтобы как можно больше багхантеров начали при поиске уязвимостей опираться на списки, аналогичные СhatGPT-fuzz.txt. Это позволит повысить защищенность сервисов, которыми мы пользуемся ежедневно, и тем самым сделать наш мир безопаснее.
Юрий Ряднина
Специалист группы исследования безопасности банковских систем, Positive Technologies
???? Советуем также подписаться на полезный канал о багхантинге.
Комментарии (11)
v1000
00.00.0000 00:00+5не удивлюсь, если на запрос, какое самое опасное устройство для взлома компьютерных систем ответом будет «клавиатура»
MRD000
00.00.0000 00:00+1Самым опасным устройством для взлома компьютеров является роутер. Это потому, что роутеры часто используются для подключения к Интернету и обеспечения сетевой безопасности, и они могут быть легко взломаны, если установленные на них программные обеспечения не обновлены или недостаточно защищены. Таким образом, взлом роутера может привести к компрометации всей сети и выдаче злоумышленнику полного доступа к вашим данным и устройствам.
Я знаю, что Вы не хотели реально спрашивать, но я спросил ради интереса.
На английском ответ немного другой
"It is not necessarily a specific device that is the most dangerous for computer hacking, but rather the combination of devices and systems that make up a network. A vulnerable or compromised device on a network can be used as a point of entry ..."
maxwolf
00.00.0000 00:00+3А что тут удивляться? Самая первая мысль, которая у меня родилась ещё в начале чтения заметки: проверить, а нет ли в этом списке «самых опасных файлов» файла index.html? И таки да! Он там есть!
Tarakanator
00.00.0000 00:00АЭС, которая вырабатывает электричество в т.ч. для взлома компьютерных систем.
Mirzaev
00.00.0000 00:00Чтобы посмотреть все актуальные уязвимые файлы просто посмотрите куда ваш сайт долбят.
sudo tail -f /var/log/nginx/error.log
. Лично для себя я нашел там много интересногоiuabtw
00.00.0000 00:00+5Я после запуска небольшого публичного сайтика немного ахренел и полез настраивать fail2ban, чтобы щедро раздавать пермачи ботам, которые ищут admin.php на питонячьем сайте
IgorPie
00.00.0000 00:00+1Школьник с многоквартирного дома заюзает мегахакерпрогу, а забаните весь дом, потому что все сидят на одном айпи
Mirzaev
00.00.0000 00:00Как правило с одного дома не будет нескольких одновременных заходов на сайт, поэтому кинуть в бан на сутки я считаю безвредным, даже заходы с мобильных пулов IP-адресов.
На самом деле зачастую это запросы с каких-нибудь китайских или индуских vps на статичных IP-адресах, поэтому большая часть банов будут вполне эффективны
SlFed
Мда... Вспоминается классический рассказ 1946 года "Компьютер по имени Джо"
:)