При сканировании удаленных хостов и веб-приложений опасность атак включения файлов является важным фактором, особенно при работе с веб-приложениями, поддерживающими плагины, такие как WordPress. Поэтому сегодня изучим тему Uniscan: сканер уязвимостей RFI, LFI и RCE.
RFI, или атака с удаленным включением файлов, нацелена на веб-приложения, которые используют включения через внешние скрипты (обычно известные как плагины приложений), хуки, темы, все, что динамически включается в веб-приложение во время выполнения.
Поэтому сегодня мы познакомимся с проектом Uniscan. По словам самого проекта, Uniscan — это простой сканер уязвимостей Remote File Include, Local File Include и Remote Command Execution.
Установка
Мы рекомендуем использовать Kali Linux для Uniscan, поскольку он доступен для простой установки через диспетчер пакетов.
Установка Uniscan в Kali Linux относительно проста, так как его можно установить напрямую через диспетчер пакетов APT и не нужно компилировать из исходного кода.
Во-первых, мы обновляем информацию о нашем диспетчере пакетов APT с помощью следующей команды:
apt update
Далее приступаем к установке Uniscan:
apt install uniscan
Чтобы проверить успешность установки Uniscan, выполните следующую команду:
sudo uniscan
Затем это должно вернуть следующий вывод, который отображает параметры / флаги, доступные Uniscan:
Конфигурация
Uniscan также может работать с минимальной конфигурацией, но он допускает большое количество настроек:
-
-
- -h — Флаг -h показывает нам все параметры, доступные в Uniscan.
- -u — Флаг -u используется для указания сканируемого URL, например: https://www.example.com/
- -f — Если вы хотите просканировать список URL-адресов, вы можете ввести их в текстовый файл и ссылаться на них также с помощью флага -f.
- -b — сканирование может занять некоторое время, если у вас есть несколько URL-адресов для сканирования. Использование флага -b заставляет Uniscan работать в фоновом режиме; в качестве альтернативы вы можете запустить Uniscan в «экранном» сеансе под Linux.
- -q — Флаг -q включает проверки на основе каталога для сканируемого объекта.
- -w — Флаг «-w» позволяет Uniscan проверять наличие файлов на сканируемом удаленном хосте.
- -e — Флаг «-e» позволяет Uniscan проверять файлы robots.txt и sitemap.xml, которые могут дополнительно помочь определить тип скрипта / веб-приложения, запущенного на целевом хосте.
- -d — Флаг «-d» включает динамические проверки в Uniscan для проверки наличия любых динамических файлов.
- -s — Флаг «-s» включает статические проверки в Uniscan для проверки наличия любых статических файлов.
- -r — Флаг «-r» позволяет запускать стресс-тесты на сканируемом объекте.
- Флаги -i и -o выполняют поиск в Bing и Google недомоганий, связанных с сканируемой целью.
- -g — Флаг «-g» используется для веб-отпечатков пальцев, он помогает определить, какое веб-приложение работает на веб-сервере, какие плагины включены (например, в WordPress), какая версия WordPress работает на сервере, и т.д.
- -j — Флаг «-j» используется для включения проверки / перечисления отпечатков пальцев сервера, что позволяет идентифицировать серверное программное обеспечение. Это выполняет такие действия, как ping, Nmap, traceroute и вывод списка запущенных веб-сервера и операционной системы.
-
Тестирование и результаты
Чтобы запустить базовое сканирование в веб-приложении, мы используем флаги «qweds», которые предписывают Uniscan выполнить следующее:
-
-
- Справочные проверки (q)
- Проверка файлов (w)
- Роботы / проверки карты сайта (e)
- Проверки динамического файла (d)
- Статический файл включает проверки (s)
-
Проверки, выполняемые флагами «qweds», могут быть выполнены в одном запуске с помощью команды:
sudo uniscan -u https://target.webapp.url -qweds
Примечание. Замените https: //target.webapp.url фактическим URL-адресом, который вы хотите просканировать.
В итоге получаем следующий результат:
Как видно выше, когда выполняется проверка каталогов и файлов, Uniscan найдет и выведет список каталогов, а также файлов, видимых на сканируемом объекте.
Затем Uniscan выполняет проверку robot.txt, карты сайта и начинает перечисление всех внешних хостов, связанных со сканируемой целью:
Uniscan также перечисляет адреса электронной почты, обнаруженные в сканируемом веб-приложении, как показано на следующем снимке экрана:
Затем Uniscan загружает свои плагины для выполнения тестов атаки RFI (удаленное включение файлов), тестов XSS, SQL-инъекций и других:
И последнее, но не менее важное: веб-приложение проверяется на наличие каких-либо веб-оболочек, и результат сохраняется в файл отчета в формате .html:
Сканирование отпечатков пальцев в Интернете
Еще одна удобная функция Uniscan — сканирование отпечатков пальцев в Интернете. Этот параметр запускает проверки проверяемого веб-приложения и пытается идентифицировать его вместе с запуском других проверок, таких как сбор информации об ошибках, информации WHOIS, языка и интересных строк.
Чтобы запустить сканирование веб-отпечатков пальцев, мы используем флаги -g
и -u:
sudo uniscan -g -u scanme.nmap.org
Что затем возвращает следующие результаты:
Запуск сканирования отпечатков пальцев сервера
Подобно сканированию отпечатков пальцев в Интернете, сканирование отпечатков пальцев сервера — еще одна ключевая функция Uniscan, которая запускает серию тестов, таких как ping, traceroute, Nmap и Nslookup:
Чтобы запустить сканирование отпечатков пальцев сервера, мы используем флаги -j
и -u:
sudo uniscan -j -u scanme.nmap.org
Что затем возвращает следующие результаты ping и traceroute:
Затем следуют результаты Nslookup:
И, что наиболее важно, результаты Nmap для каждого обнаруженного и исследованного порта:
Резюме
Uniscan является важным компонентом инструментария анализа безопасности с его ключевой способностью выполнять сканирование на предмет наличия RFI (атак с удаленным включением файлов). Инструмент также предоставляет другие ключевые функции, такие как проверки напряжения и создание результата сканирования в файл в формате HTML.
Кроме того, Uniscan также выполняет ключевые функции, связанные со снятием отпечатков пальцев, такие как проверки веб-отпечатков пальцев, которые позволяют узнать, какая версия веб-приложения запущена и какие плагины включены. Еще одна интересная функция — это функция отпечатков пальцев сервера, которая позволяет вам узнать больше о самом сервере, выполнять сканирование, такое как сканирование Nmap, трассировки, проверки ping, а также идентификацию веб-сервера и операционной системы, работающей на сервере.
И последнее, но не менее важное: благодаря простой, безболезненной процедуре установки и доступности через диспетчер пакетов APT на самом KaliLinux, Uniscan интегрируется в набор инструментов безопасности и прост в использовании.