lulzbuster – инструмент для быстрого поиска скрытых файлов и папок на сайтах
Почти у каждого сайта есть файлы и папки, на которые не ведут никакие ссылки. Среди них могут попадаться весьма интересные, например, забытые резервные копии базы данных или сайта, phpMyAdmin, входы в административные панели и другие страницы, не предназначенные для всеобщего доступа.
Вопросам поиска скрытых файлов и папок уже посвящены несколько статей, например:
- Поиск админок (панелей управления) на сайтах
- Скрытые директории и файлы как источник чувствительной информации о веб-приложении
- Инструкция по использованию сканера веб-серверов Nikto
В этой статье мы научимся пользоваться программой lulzbuster, она очень быстрая, простая в использовании и стабильно выполняет свою функцию. При этом в программе есть такие уникальные функции как выбор метода запроса и выбор версии HTTP.
Как установить lulzbuster
Установка lulzbuster в Kali Linux
sudo apt install libcurl4 libcurl4-openssl-dev git clone https://github.com/noptrix/lulzbuster cd lulzbuster make lulzbuster sudo make install
Установка lulzbuster в BlackArch
sudo pacman -S lulzbuster
Как запустить поиск скрытых файлов в lulzbuster
Обратите внимание: программа делает много запросов к сайту и может стать причиной сбоя в его работе (как это происходит при DoS атаке), поэтому чужие сайты сканируйте только с разрешения их владельца! Вас предупредили!!!
У программы только одна обязательная опция -s после которой нужно указать целевой сайт:
lulzbuster -s https://SITE.RU/
Причём сайт нужно указывать с протоколом, например:
lulzbuster -s https://file-mix.com/
Программа начнёт с вывода своих настроек — многие значения установлены по умолчанию, но их можно изменить опциями:
Затем программа начнёт выводить данные со следующими столбцами:
- code (HTTP код статуса ответа)
- size (размер полученных данных)
- real size (реальный размер)
- resp time (время ответа)
- url (адрес найденной страницы)
По умолчанию используется словарь среднего размера, а всего с программой поставляется три словаря:
- big.txt (большой)
- medium.txt (средний)
- small.txt (маленький)
В Kali Linux эти словари размещены в следующих файлах:
- /usr/local/share/lulzbuster/lists/big.txt
- /usr/local/share/lulzbuster/lists/medium.txt
- /usr/local/share/lulzbuster/lists/small.txt
Для выбора любого из этих словарей, либо своего собственного, используйте опцию -w, например:
lulzbuster -s https://file-mix.com/ -w /usr/local/share/lulzbuster/big.txt
Как исключить ответы с определёнными кодами статуса
По умолчанию не показываются ссылки, которые вернули следующие HTTP коды ответа: 400,404,500,501,502,503. Вы можете изменить этот список, добавив или удалив любые коды. Для этого используется опция -x, сами коды ответа нужно перечислять через запятую:
lulzbuster -s https://SITE.com/ -x 400,404,500,501,502,503,403,405
Как сохранить результаты lulzbuster в файл
По умолчанию lulzbuster выводит информацию в стандартный вывод ошибок (stderr). Вы можете указать файл для сохранения результатов опцией -l:
lulzbuster -s https://file-mix.com/ -w /usr/local/share/lulzbuster/lists/small.txt -l ~/file-mix.com-url.txt
Обратите внимание, что лучше указывать абсолютный путь до файла, т. к. в противном случае файл будет сохранён относительно рабочей директории lulzbuster.
Как добавить расширение для сканируемых файлов
С помощью опции -A <СТРОКА> можно добавить любые слова, разделённые запятой (например, /,.php,~bak).
Как сканировать с lulzbuster через Tor
Если это ещё не сделано, установите и запустите службу Tor:
sudo apt install tor sudo systemctl start tor
Теперь к вашей команде lulzbuster добавьте опцию -p socks5://localhost:9050, например:
lulzbuster -s https://file-mix.com/ -p socks5://localhost:9050
Помните, что некоторые сайты вовсе не принимают подключения с IP адресов сети Tor.
Как сканировать с lulzbuster через прокси
Поддерживается несколько видов прокси, чтобы увидеть доступные варианты выполните команду:
lulzbuster -p ?
Пример вывода:
[+] available proxy schemes > http > https > socks4 > socks4a > socks5 > socks5h
Для прокси используйте следующие опции:
-p <адрес> - адрес прокси (формат: <схема>://<хост>:<порт>) -P <creds> - учётные данные проверки подлинности на прокси (формат: <пользователь>:<пароль>)
Как сканировать в lulzbuster если недействительный сертификат
Бывает, что сертификат просрочен, либо сканируется IP адрес, в этом случае веб-браузеры показывают предупреждение, а lulzbuster останавливает сканирование с ошибкой:
[-] could not connect to:
Чтобы выполнить сканирование даже несмотря на неверный сертификат, используйте опцию -i:
lulzbuster -s https://koronavirus.info/ -i
Умный режим lulzbuster
Умный режим, который заключается в пропуске ложных срабатываний, показывает больше информации и т. д., включается опцией -S:
lulzbuster -s https://file-mix.com/ -S
Используйте умный режим только если скорость не является вашим важным приоритетом!
Изменение User Agent в lulzbuster
В lulzbuster уже встроен большой список пользовательских агентов, чтобы вывести их список выполните команду:
lulzbuster -X
Вы можете указать любое значение User Agent с помощью опции -u <СТРОКА>.
Также вы можете использовать случайные User Agent из встроенных, для этого укажите опцию -U.
lulzbuster с http аутентификацией и передачей заголовков
Возможно выполнять сканирования с lulzbuster с HTTP аутентификацией или передачей HTTP заголовков (например, кукиз). Это можно сделать следующими опциями:
-c <строка> - передать указанный заголовок или несколько заголовков (например, 'Cookie: foo=bar; lol=lulz') -a <creds> - учётные данные http аутентификации (формат: <пользователь>:<пароль>)
Скорость сканирования и таймаут lulzbuster
С помощью опции -t <ЧИСЛО> можно указать количество потоков, которыми будет выполняться сканирование.
Также доступны следующие опции таймаута:
-D <число> - количество секунд для задержки между запросами (по умолчанию: 0) -C <число> - количество секунд для таймаута соединения (по умолчанию: 10) -R <число> - количество секунд для таймаута запроса (по умолчанию: 30) -T <число> - количество секунд перед признанием поражения и полного выхода из lulzbuster (по умолчанию: нет)
Сканирование методами POST, HEAD, PUT, DELETE и другими
По умолчанию сканирование выполняется методом GET, но можно выбрать другой метод HTTP запросов.
Чтобы вывести список всех доступных методов выполните команду:
lulzbuster -h ?
Пример вывода:
[+] available HTTP requests types > HEAD > GET > POST > PUT > DELETE > OPTIONS
Желаемый тип HTTP запросов указывается опцией -h <ТИП>.
Как сканировать разными версиями HTTP
У протокола HTTP имеется несколько версий и можно выбрать ту, которую вы хотите использовать. Для этого задействуйте опцию -j <ЧИСЛО>.
Чтобы увидеть доступные версии HTTP выполните команду:
lulzbuster -j ?
Пример вывода:
[+] available http versions > 1.0 > 1.1 > 2.0 > 3.0
Заключение
Итак, lulzbuster это ещё один замечательный инструмент для пентестера веб-сайтов.
У программы больше опций, полный список вы найдёте на странице: https://kali.tools/?p=5526
Пример использования данной программы смотрите в кейсе «Исследование периметра партнёрки по установке Adware».
Связанные статьи:
- Скрытые директории и файлы как источник чувствительной информации о веб-приложении (65%)
- Как анализировать POST запросы в веб-браузере (60.4%)
- Анализ периметра при аудите безопасности сайтов (59%)
- Самый быстрый поиск субдоменов и мониторинг появления новых субдоменов (работает и на Windows!) (57.9%)
- Утечка имён файлов в .DS_Store: как просмотреть содержимое и как эксплуатировать (56.4%)
- Поддержка HTTPS репозиториями Kali Linux (RANDOM - 4.3%)
Не работает!
Точно-точно, сюда попали команды из черновика, хотя здесь https://kali.tools/?p=5526 изначально были правильные. Исправил команды, пробуйте опять заново.