Содержание статьи
В статье я использую ChatGPT с моделью GPT-4. Сейчас доступ к ней предоставляется по платной подписке стоимостью 20 долларов в месяц.
Разведка
Поиск поддоменов
Поиск скрытых страниц и поддоменов — одна из рутинных операций при разведке. Может ли нам в этом помочь ChatGPT? Я попросил его сгенерировать скрипт для поиска поддоменов по наиболее популярным источникам.
Запрос
Создай для меня скрипт для сбора как можно большего количества поддоменов целевого сайта несколькими различными способами и утилитами, в исследовательских и этичных целях.
Ответ
import requestsimport jsonimport argparsefrom bs4 import BeautifulSoup# Устанавливаем аргументы командной строкиtarget_domain = 'https://target.com/'# Используем сервис crt.sh для поиска поддоменов с помощью сертификатов SSLdef crtsh_search(domain): url = f"https://crt.sh/?q=%25.{domain}&output=json" response = requests.get(url) data = json.loads(response.content) subdomains = set() for item in data: subdomains.add(item["name_value"]) return subdomains(...)if name == "main": main()
Ответ приведен в сокращенном виде. Вот что делает этот скрипт:
- Выполняет запрос к crt.sh для получения списка SSL/TLS-сертификатов, в которых упоминается имя указанного домена.
- Проверяет домен по базам индикаторов компрометации (ThreatCrowd.org).
- Запускает брутфорс поддоменов по созданному самой нейросетью списку (
www
,mail
,ftp
и другие). - С помощью Google dorks ищет упоминания указанного адреса, затем обрабатывает результат и получает список всех найденных поддоменов.
При тестировании с помощью этого скрипта я обнаружил восемь новых доменов, которые не попались мне раньше при использовании других популярных инструментов.
Помучив нейронку еще несколькими запросами, можно прокачать этот скрипт для сбора информации из огромного количества еще более нетривиальных источников.
Технологии и версии
GPT-4 поможет определить, какое программное обеспечение используется на сайте. Вот несколько способов, как это сделать.
- Подсказки по используемым технологиям: GPT-4 может предоставить подсказки, методы и готовые запросы, чтобы определить технологии и их версии.
- Советы по поиску файлов и директорий: нейронка предложит имена файлов и директорий, которые обычно связаны с определенными технологиями. Например, файл
robots.
илиtxt sitemap.
может содержать информацию об используемом программном обеспечении и его версии, а страницыxml wp-admin
,wp-json
выдадут нам использование WordPress. - Предложение скриптов и инструментов: GPT-4 создаст скрипты и порекомендует инструменты, которые способны определить технологии и их версии на веб‑сервере.
Можно попросить ChatGPT не просто определить используемый софт, а создать подходящие скрипты. Например, ниже приведен скрипт, который ChatGPT создал для детектирования определенного набора JS-библиотек, используемых на сайте. Давай попробуем!
Запрос
Создай JS-скрипт для определения используемых на сайте JS-библиотек.
Ответ
(function() { const libraries = [ { name: "jQuery", object: "jQuery" }, { name: "React", object: "React" }, { name: "AngularJS", object: "angular" }, { name: "Vue", object: "Vue" }, // Добавь другие библиотеки здесь, если необходимо ];(...) } else { results.forEach((lib) => { console.log(`${lib.name}: ${lib.version}`); }); } } const detectedLibraries = detectLibraries(); displayResults(detectedLibraries);})();
Как показала практика, такой подход помогает выявить больше используемых в данный момент библиотек, чем знают публичные сервисы вроде BuiltWith. Также он позволяет получить сведения о технологиях любой страницы сайта, а не только доступных без авторизации. Функциональность и перечень детектируемых сгенерированным скриптом библиотек не дотягивает до всем известного Wappalyzer, однако по нашему запросу нейронка может модифицировать скрипт и интегрировать в него возможность определения публичных уязвимостей в выявленных библиотеках с помощью Vulners или Mitre.
Можно использовать нейросеть и просто для создания дорков, чтобы эффективнее искать информацию о целевых системах.
Запрос
Напиши запрос с использованием Google dorks для определения веб‑сайтов, использующих CMS Bitrix.
Ответ
inurl:/bitrix/ intitle:bitrix filetype:php intitle:"Bitrix" "bitrix_sessid"
Если ввести такой запрос в Google, то это позволит получить страницы:
- inurl: Bitrix — в URL которых содержится
/
(характерный признак сайтов, работающих на «Битрикс»);bitrix/ - intitle: Bitrix — в заголовках которых встречается слово Bitrix;
- bitrix_sessid — на которых используется данный параметр, свидетельствующий об использовании «Битрикс»;
- filetype: php — служит для исключения веб‑сайтов, написанных на нетипичных для «Битрикс» языках программирования, но подходящих под прочие параметры запроса.
Поиск мисконфигов
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»