Привет, Хабр. Я Александр, мне 33. Хакинг у меня хобби, а не работа: CTF, Hack The Box, иногда багбаунти по выходным. И каждый раз одно и то же.

Открываешь тулзу - первым делом --help. Флагов экран, все на английском. Сидишь, вычитываешь, что тебе сейчас нужно. Собрал один флаг, переключился на второй - а как пишется первый, уже забыл. Снова --help. И по новой. На сборку одной команды уходит больше времени, чем на саму работу.

Команду собрал. А дальше? nmap отработал, передо мной открытые порты - и я завис. За что хвататься? В каком порядке? Это знание у каждого где-то в голове, и достаёшь его каждый раз заново.

Словарь. И где он лежит-то. /usr/share/wordlists? seclists? А подкаталог? Опять ls, find, вспоминаешь путь, который вбивал сто раз.

Пейлоад. Лезешь в PayloadsAllTheThings - а там стена. Какой брать? На каком этапе? Что выстрелит, а что лежит для галочки? Непонятно.

И так весь тест размазан по тридцати вкладкам. HackTricks, PayloadsAllTheThings, GTFOBins, revshells, рядом гугл с переводчиком - половина же на английском. Плюс папка своих заметок.

Бесит. Особенно на вебе: нашёл точку, надо быстро прогнать пейлоады - а ты вместо дела вспоминаешь, где у тебя что лежит.

В какой-то вечер я психанул и начал сваливать всё нужное в одно место. Локально, на русском, поиск по одной кнопке. Оно разрослось, и я сам не заметил, как это стало отдельным проектом. Выложил в опенсорс. Назвал ARS3NAL - тут без фантазии, арсенал он и есть арсенал.

Демо без установки: https://inflictx.github.io/Arsenal/ Код на гитхабе: https://github.com/inflictx/Arsenal

Конструктор команд: отмечаешь флаги, команда собирается сама
Конструктор команд: отмечаешь флаги, команда собирается сама

Флаги, которые не надо вспоминать

Главная штука, ради неё всё и затевалось.

Выбираешь тулзу - nmap, ffuf, sqlmap, ну и так далее. Вместо простыни --help видишь флаги списком, каждый с описанием на русском. Отметил галочками нужные - команда собралась сама. Надо поправить значение - правишь прямо на месте. Всё.

И вот что для меня важнее всего вышло. Цель и свой LHOST вписываешь один раз, вверху. Дальше они сами подставляются во все примеры во всех тулзах. Никакого sed по 10.10.x.x в десяти местах.

Собрал удачную команду - кинул в свою библиотеку. Потом не перебираешь стрелочкой в терминале, мучительно вспоминая, как оно там было.

Конструктор команд на примере nmap
Конструктор команд на примере nmap

Конструктор есть у 59 инструментов. Где он не нужен - лежит подробная справка в markdown.

С чего вообще начинать

Вторая боль. Открыл цель и завис: а дальше что.

Зашил 70 чеклистов. Веб, Active Directory, облака, привилегии - под разные ситуации. Каждый ведёт по шагам: разведка, детект, эксплуатация, обход WAF. Тыкаешь галочки, прогресс сохраняется между запусками. Рядом - impact, CVE и сразу ссылки на пейлоады.

По сути порядок действий, вынесенный из головы на экран. Когда он перед глазами - не залипаешь и ничего не забываешь.

Чеклисты: галочки, прогресс и ссылки на пейлоады
Чеклисты: галочки, прогресс и ссылки на пейлоады

Нужный пейлоад за пару секунд

Вот сюда я закопал больше всего времени и нервов.

Прошёл руками 63 категории PayloadsAllTheThings. Каждую. Отсортировал от детекта к эксплуатации, выкинул мусор, дописал по-русски, что где брать. Никаких сырых дампов.

Где-то на тридцатой категории я уже всерьёз сомневался, что это нужно кому-то, кроме меня. Но бросать на полпути было жалко.

Открыл категорию - сразу видишь, что брать и на каком шаге. А не стену на тысячу строк, в которой ещё разбираться.

Пейлоады: отобранные категории
Пейлоады: отобранные категории

Словари без find по диску

Мелочь, а бесила едва ли не сильнее всего.

Справочник по основным словарям. Для каждого - канонический путь на Kali, ссылка на гитхаб и пара слов, для чего он и когда брать. Не надо вспоминать, в каком подкаталоге seclists оно лежит, и гонять find.

Справочник словарей
Справочник словарей

Поиск по всему за один хоткей

Ctrl+K - и ищешь сразу везде. Пейлоады, команды, GTFOBins, словари, доки. Не помнишь, в каком модуле что лежит - и не надо. Внутри полнотекстовый поиск на SQLite FTS5. Клик по результату кидает ровно на нужную карточку. Не в начало раздела, где потом ещё скроллить.

Поиск: один раз набрал, попал ровно на нужное
Поиск: один раз набрал, попал ровно на нужное

Что ещё внутри

GTFOBins целиком. Все 458 бинарей, фильтры по функциям и контексту, пояснения переведены. К двухсотому бинарю я уже физически устал от слова SUID, но доделал - без этого вся затея не имела смысла. Удобно, когда сидишь в урезанной оболочке и думаешь, чем поднять привилегии.

GTFOBins с фильтрами по функциям
GTFOBins с фильтрами по функциям

CyberChef встроен прямо внутрь. Официальная сборка, перекрашена под тему, интерфейс на русском. Кодировки, хеши, JWT - не уходя в онлайн.

Встроенный CyberChef
Встроенный CyberChef

Генератор реверс-шеллов в духе revshells. Reverse, bind, msfvenom, листенеры. Выбираешь оболочку и кодировку, остальное само. LHOST общий, так что вписывать заново не надо.

Генератор реверс-шеллов
Генератор реверс-шеллов

И трекер целей. Под каждую - своё пространство: scope, заметки, находки с severity и шагами. Отчёт выгружается в markdown. Выбрал активную цель - её адрес и LHOST подставляются и в команды, и в шеллы. Всё связано.

Трекер целей и находок с экспортом отчёта
Трекер целей и находок с экспортом отчёта

Почему всё на русском

Команды и пейлоады я не трогал - они универсальные. А вот описания перевёл. Что за уязвимость, к чему ведёт, где искать, как обходить фильтры.

Мнение спорное, но моё. Вечный английский многих тормозит, особенно пока учишься. Команду-то поймёшь. А пока в голове переведёшь нюанс эксплуатации - мысль уже уплыла. На русском доходит сразу. Кому удобнее в потоке на английском - без вопросов. Мне быстрее на родном. Сделал под себя.

Офлайн и без телеметрии

Ни облака, ни аккаунтов. Телеметрию не собираю. Заметки, цели, находки, прогресс - всё лежит у тебя на машине и никуда не уходит. В нашем деле иначе нельзя.

Как оно устроено

Бэкенд - Fastify и better-sqlite3, поиск на FTS5. Фронт - Vite и чистый TypeScript, без фреймворка. React ради такой штуки тащить не хотелось.

Из одного кода собираются две версии. Серверная - с настоящей базой SQLite, её можно дополнять своим контентом. Статическая для GitHub Pages крутится целиком в браузере: контент вшит в сборку, личные данные в IndexedDB. Поэтому демо и открывается просто по ссылке, без сервера.

Был и косяк. Сначала я понадеялся распарсить пейлоады из PayloadsAllTheThings скриптом и залить пачкой. Прогнал, глянул - и схватился за голову. Вместо рабочих пейлоадов парсер натащил кусков конфигов, примеров не к месту и просто мусора, да ещё языки попутал. Выкинул всю автоматику и пошёл руками. Дольше на порядок. Зато без хлама.

Локально поднимается так (нужен Node.js 18+):

npm install
npm run seed   # один раз, собрать data/arsenal.db из исходников
npm run build
npm run start  # http://localhost:7331

Своя база в gitignore, так что ничего личного не утекает, а пересборка контента твои данные не трогает.

Чужая работа

Честно: ARS3NAL во многом просто удобная офлайн-обёртка над чужим трудом. Спасибо проектам, на которых всё держится: PayloadsAllTheThings, GTFOBins, CyberChef от GCHQ, SecLists, reverse-shell-generator. Источники и лицензии - в репозитории, код под GPL-3.0.

Дисклеймер

Только для авторизованного тестирования и обучения. Свои системы, легальный скоуп, CTF, лаборатории. К чужому без разрешения лезть нельзя - это статья, и вся ответственность на тебе.

Демо: https://inflictx.github.io/Arsenal/ Код: https://github.com/inflictx/Arsenal

Я и сам не уверен, что это нужно кому-то, кроме меня. Может, у тебя давно собран свой воркфлоу, и эта штука лишняя. Но если ты тоже устал держать тридцать вкладок и в пятый раз гуглить один и тот же пейлоад - глянь демо. И главное, напиши, где я не прав и что делаешь иначе. Это мне интереснее звёздочек. Хотя от звёздочки тоже не откажусь.

Комментарии (10)


  1. fuwiak
    28.06.2026 10:00

    Автор, у вас картинки не загрузились на хабр, хочеться с ними ознакомиться


    1. inflictx Автор
      28.06.2026 10:00

      Добрый день, всё исправлено)


  1. MasterSEED
    28.06.2026 10:00

    Отличная работа. Здесь закончилась карма для лайка - поставил звездочку в репо.


  1. dar_yaa
    28.06.2026 10:00

    Не видела ранее таких проектов, круто


  1. 0x22
    28.06.2026 10:00

    @inflictx спасибо вам! Набор выше всяких похвал, инструментарий отличный!

    Всегда хаос, так-то помню, что и где, но совершенно не систематизировано, что съедает уйму времени.


  1. IvanKurtti
    28.06.2026 10:00

    Обе особенности в точку
    - локально
    - русский


  1. Void-Cowboy
    28.06.2026 10:00

    мобильная версия
    мобильная версия

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

    Сейчас нейронки уже могут смотреть и взаимодействовать с браузером - один промт и оно вам все проклацает и исправит. Или скажет в чем именно проблема и предложит как переработать интерфейс что бы нормально работало и на широких экранах и на мелких мобильных телефонах


    1. inflictx Автор
      28.06.2026 10:00

      Добрый день, адаптивную верстку под мобильные телефоны я делать не стал, ибо такой инструмент нет смысла на телефонах запускать .

      Про mcp playwright я в курсе ) да и про то что нейронки могут тоже, спасибо )


      1. Void-Cowboy
        28.06.2026 10:00

        спорно
        как минимум с телефона "собрать" что бы поделится в чате "что делать"

        но вообще консоль на телефоне для пентестера это реальность


        1. inflictx Автор
          28.06.2026 10:00

          Спасибо за ваше мнение, проекту недели ещё даже нет, думаю в будущем я доработаю этот момент)

          В заметки записал )