Организовал весь пентест-арсенал в одном месте: всё под рукой, офлайн и на русском

от автора

Привет, Хабр. Я Александр, мне 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

![Конструктор команд: отмечаешь флаги, команда собирается сама](https://habrastorage. org/getpro/habr/upload_files/d1b/c9a/343/d1bc9a343c703e053f57b1af3a00f50e. gif)

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

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

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

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

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

![Конструктор команд на примере nmap](https://habrastorage. org/getpro/habr/upload_files/9c0/2ef/721/9c02ef7218162a2824f15296834d6c55.png)

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

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

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

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

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

![Чеклисты: галочки, прогресс и ссылки на пейлоады](https://habrastorage. org/getpro/habr/upload_files/816/f39/fd3/816f39fd30e6346aa4f295462af565d3.gif)

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

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

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

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

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

![Пейлоады: отобранные категории](https://habrastorage. org/getpro/habr/upload_files/6e7/52f/710/6e752f71050d0ab3df48cb49c68fcedd. gif)

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

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

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

![Справочник словарей](https://habrastorage. org/getpro/habr/upload_files/b71/705/3cf/b717053cff126d6b8a51c6046c474951.png)

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

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

![Поиск: один раз набрал, попал ровно на нужное](https://habrastorage. org/getpro/habr/upload_files/43b/0fc/14e/43b0fc14eda89bbdb8cf7679f46f11cf. gif)

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

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

![GTFOBins с фильтрами по функциям](https://habrastorage. org/getpro/habr/upload_files/73c/399/465/73c39946540ee1646cfb7bba6134aa48.png)

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

![Встроенный CyberChef](https://habrastorage. org/getpro/habr/upload_files/a1b/c3f/bc3/a1bc3fbc3bd0436c493a30e34b9a5024.png)

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

![Генератор реверс-шеллов](https://habrastorage. org/getpro/habr/upload_files/73d/c8e/29a/73dc8e29a6e2a6515aae11b0b19ae160.png)

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

![Трекер целей и находок с экспортом отчёта](https://habrastorage. org/getpro/habr/upload_files/4d4/949/8b1/4d49498b1c2db853b3217ae19cb94451.png)

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

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

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

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

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

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

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

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

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

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

npm installnpm run seed # один раз, собрать data/arsenal. db из исходниковnpm run buildnpm 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

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

Хотя от звёздочки тоже не откажусь.

ссылка на оригинал статьи https://habr.com/ru/articles/1052866/