Программа разработана для тестирования безопасности веб-сайтов, использующих различные системы управления содержимым (CMS), такие, как WordPress, Opencart, Magento, и другие. Реализована в клиент-серверной архитектуре, где сервер управляет процессом и отправляет задания, а клиенты выполняют сканирование и тестирование на уязвимости.
При запуске программа принимает список доменов и настройки, такие как списки логинов, паролей, а также макросы для определенных конфигураций. Каждый клиент, подключенный к серверу, выполняет сканирование, пытаясь обнаружить пути входа в админ-панель и предпринимая попытки брутфорса для подбора логинов и паролей.
Панель работает только в браузере Google Chrome.
В программе предусмотрены два режима работы, которые отличаются способом обработки строк и комбинаций (логин + пароль).
В этом режиме программа проходит по каждой строке из списка и для каждой строки ищет подходящую комбинацию. Для каждой строки выполняется поиск по всему списку комбинаций.
В этом режиме программа берет одну комбинацию и проходит по всем строкам. Таким образом, поиск будет выполняться для каждой комбинации по всем строкам.
Установка приложения в зависимости от операционной системы.
Для Linux (Рекомендуемая OS - Ubuntu 22):
sudo apt update sudo apt install openjdk-11-jdk WinSCP — это программа для безопасного копирования файлов между вашим компьютером и удалённым сервером с использованием протоколов SFTP или FTP.
Перейдите на официальный сайт WinSCP и скачайте установочный файл. Запустите установку и следуйте инструкциям на экране.
После установки откройте WinSCP.
При первом запуске будет открыто окно для создания нового соединения. Введите данные для подключения к серверу:
example.com). 22 для SFTP, либо 21 для FTP. Нажмите кнопку Login. WinSCP подключится к серверу и откроет два окна:
Чтобы загрузить файл с вашего компьютера на сервер, просто перетащите его из левого окна в правое. Чтобы скачать файл с сервера на ваш компьютер, перетащите его из правого окна в левое.
Когда закончите работу, нажмите Exit в меню или закройте программу.
PuTTY — это терминальный клиент, который позволяет вам подключаться к удалённым серверам по протоколам SSH, Telnet или другие. Он используется для работы в командной строке на удалённом сервере.
Перейдите на официальный сайт PuTTY и скачайте установочный файл. Запустите установку и следуйте инструкциям.
Откройте PuTTY. В появившемся окне вы увидите поле для ввода адреса хоста.
В поле Host Name (or IP address) введите IP-адрес или доменное имя удалённого сервера (например, example.com).
Убедитесь, что выбран SSH в разделе Connection type.
Если вам нужно изменить порт, по умолчанию для SSH это порт 22, но его можно изменить, если сервер использует другой порт.
Нажмите кнопку Open для подключения к серверу.
При первом подключении вас попросят подтвердить безопасность соединения. Нажмите Yes, чтобы продолжить. Затем вам будет предложено ввести имя пользователя (например, root или user) и пароль (не будет видно, как вы вводите, это нормально).
После подключения вы попадёте в командную строку на удалённом сервере. Теперь вы можете выполнять команды, например, ls для просмотра содержимого текущей директории или cd для смены директории.
Чтобы выйти из терминала, наберите команду exit и нажмите Enter. Закройте окно PuTTY.
Поместите папку с проектом в удобную для вас директорию (обычно используется "/home/").
java -jar server.jar java -jar client.jar При необходимости вы можете установить нового клиента, создать каталог "client2", скопировать содержимое "client1" в новый каталог и запустить программу и так далее.
GNU Screen — это терминальная программа для управления несколькими сессиями в одном терминальном окне. Она позволяет запускать несколько виртуальных терминалов внутри одного физического терминала, а также сохранять состояние процессов и восстанавливать их позже, даже если подключение к серверу было потеряно.
screen -S server, где server - это имя сессии (можете написать любое) java -jar server.jar screen -r <имя_сессии> screen -ls screen -S client, где client - это имя сессии (можете написать любое) java -jar client.jar screen -r <имя_сессии> screen -ls screen -S предназначена для запуска новой сессии, а screen -r для подключения к существующей.screen -X -S <имя_сессии> quit Софт работает по клиент-серверной архитектуре. Это значит, что отдельно существует веб-панель (сервер), через которую идет управление сканированием, отдельно существуют клиенты, которые могут подключаться к серверу и параллельно работать. Клиенты могут располагаться как на том же физическом сервере, где и веб-панель, так и на отдельном. Количество клиентов не ограничено. Соответственно, чем больше клиентов, тем быстрее происходит сканирование.
Чтобы добавить клиента, нажмите кнопку "Добавить".
Во всплывающем окне установите следующие параметры:
В окне клиента у вас есть возможность добавить количество потоков (по умолчанию 1 поток).
Каждый поток одновременно обрабатывает 10 (можно изменить в настройках) строк за итерацию до исчерпания общего количества строк.
Общая рекомендация - на каждое ядро процессора 150 потоков. Например, если у сервера 8 ядер, то можно ставить 1200 потоков. Если 32 ядра, то 4800 потоков. Убедитесь, что на сервере достаточно памяти, чем больше памяти доступно, тем лучше (минимум 16Gb RAM, оптимально 32-64Gb RAM).
Рекомендации по установке параметров для начала работы
Перейдите в меню "Настройки" и выберите CMS, которые будут задействованы при сканировании.
Далее рассмотрим пример установки конфигурации для CMS Magento.
В настройках уже указаны данные по-умолчанию, но также вы можете:
Добавление дополнительных путей:
[DOMAIN] - Макрос, используется домен из строки.
[DOMAIN]:port - Макрос + порт на котором работает сайт.
[DOMAIN]/path - Макрос + путь для панели ввода логина.
[DOMAIN]:port/path
subdomain.[DOMAIN]
subdomain.[DOMAIN]:port
subdomain.[DOMAIN]/path
subdomain.[DOMAIN]:port/path
Вместо [DOMAIN] вы можете использовать [FULLDOMAIN] — в этом случае будет использоваться полный домен со всеми поддоменами.При включении сортировки, результат работы CMS будет доступен в директории: /goods/Имя CMS/
После того как все необходимые конфигурации были применены, нажимаем сохранить и идем дальше.
[PARSE] - path для входа в панель администратора определяется автоматически (используется для нестандартных сайтов wordpress).
При использовании Wordpress вы можете:
При использовании прокси, необходимо выбрать источник загрузки прокси.
Файл:
Ссылка:
Общие параметры:
Формат url;login;pass (url:login:pass, login;pass;url, login:pass:url), где url имеет следующий вид:
http(s)://example.org
http(s)://example.org/path
http(s)://example.org:port (для cPanel)
http(s)://example.org:port/path (для cPanel)
Есть поддержка использования url без http(s):// только для форматов url;login;pass и url:login:pass.
Формат name@email.com:pass, примеры:
login@example.org:pass
Параметры файла:
Есть два способа загрузить файл:
Вручную:
Через интерфейс:
В настройках также есть меню для добавления логинов и паролей, со следующими параметрами:
Для логинов есть поддержка следующих макросов:
Пример для login@google.com:pass, если используете данный формат (см. пункт 4.5):
[EMAIL] - login@google.com, В качестве логина будет использован текущий email из строки.
Пример для https://www.google.com/:
[DOMAIN] - google, Текущий домен без поддомена и доменной зоны.
[DOMAIN2] - google.com, Текущий домен без поддомена.
[DOMAIN3] - www.google.com, Текущий домен.
[AZDOMAIN] - googlecom, Текущий домен без поддомена и любых символов.
[AZDOMAIN2] - wwwgooglecom, Текущий домен без любых символов.
Пример использования:
При вводе [DOMAIN]login, будет использоваться следующий логин - googlelogin.
Для паролей предоставляется поддержка вышеупомянутых макросов, а также дополнительных макросов:
Пример для логина username:
[LOGIN] - username, Текущий логин.
[LOWERLOGIN] - username, Текущий логин с маленькими буквами.
[CAPSLOGIN] - USERNAME, Текущий логин с заглавными буквами.
[LOWERONE] - username, Текущий логин с первой маленькой буквой.
[UPLOGIN] - Username, Текущий логин с первой заглавной буквой.
[REVERSE] - emanresu, Текущий логин в обратном порядке.
[REVERSEUP] - Emanresu, Текущий логин в обратном порядке с первой заглавной буквой.
[REVERSCAPS] - EMANRESU, Текущий логин в обратном порядке с заглавными буквами.
[LOGINMINUS1] - sername, Текущий логин минус первый символ.
[LOGINMINUS2] - ername, Текущий логин минус первые 2 символа.
[LOGINMINUS3] - rname, Текущий логин минус 3 первых символа.
[LOGINMINUS3] - name, Текущий логин минус 4 первых символа.
Пример использования:
При вводе [CAPSLOGIN]password[REVERSEUP], будет использоваться следующий пароль - USERNAMEpasswordEmanresu.
Инструкции по запуску и управлению программой.
При запуске сканирования вы можете:
Вы можете приостановить или завершить сканирование.
Остановка сканирования, отключение сервера и всех запущенных клиентов.
В настройках в меню Гуды, Беды или Ошибки вы можете просмотреть или скачать результат работы программы.
А так же, если вы выбрали Записывать гуды для каждого файла (см. пункт 4.5), вы можете просмотреть результат работы в директории /goods
При выборе данного меню, вы можете наблюдать ход работы программы (GET и POST запросы) для первого рабочего потока.