Когда я думал о дальнейшем векторе развития Уязвимые места , я обратил внимание на наших старших братьев - базу данных Эксплойт-БД .
Одной из основных утилит в их арсенале является поиск .
Это консольная утилита, позволяющая искать эксплойты по поисковым запросам пользователей и сразу получать их исходные коды.
Это основная часть Кали Линукс и оперирует данными об эксплойтах из базы данных Exploit-DB. Самое приятное то, что утилита может работать с локальной базой данных и ее всегда можно взять с собой.
Так чем же мы хуже? Мы собрали в Vulners не только коллекцию эксплойтов от Exploit-DB, но и Packet Storm, 0day.today, Seebug, Zero Science Lab и многих других.
Что ж, давайте изобретем новое колесо с преферансами и поэтессами.
Давайте подробнее посмотрим на searchsploit.
И мы видим внутри bash-скрипт Длина 711 строк.Он загружает копию данных из общедоступного репозитория эксплойт-базы данных и ищет ее.
Но где же синтаксис в стиле Google и прочие прелести современного поиска? Увы, в их подходе были как плюсы, так и минусы.
Преимущество оказалось в том, что они способны находить эксплойты по критериям применимости.
Минусы: довольно плохой функционал для неточного поиска.
На этом этапе идея интеграции с ним была отброшена и доминирующим стало решение написать собственный форк.
Что должен делать getploit?
Начнем с определения функциональности.
- Поиск эксплойтов по всей коллекции уязвимостей с помощью полнотекстового поиска и Lucene.
- Сохранение исходных кодов эксплойтов на диск
- Оффлайн поиск по локальной базе данных
- Кроссплатформенность и минимальные зависимости
- Будьте с открытым исходным кодом
Пусть будет код
В результате утилита была реализована на Python с совместимостью с Python 2.6 до Python 3.6. Я постарался сохранить основные ключи идентичными searchsploit, чтобы мне не пришлось к нему снова привыкать.
Основная механика поиска основана на API Vulners. Таким образом, вы всегда будете получать актуальные данные на данный момент «здесь и сейчас».isox$ git clone https://github.com/vulnersCom/getsploit isox$ cd getsploit isox$ .
/getsploit.py -h usage: Exploit search and download utility [-h] [-t] [-j] [-m] [-c COUNT] [-l] [-u] [query [query .
]] positional arguments: query Exploit search query. See https://vulners.com/help for the detailed manual. optional arguments: -h, --help show this help message and exit -t, --title Search JUST the exploit title (Default is description and source code).
-j, --json Show result in JSON format. -m, --mirror Mirror (aka copies) search result exploit files to the subdirectory with your search query name. -c COUNT, --count COUNT Search limit. Default 10. -l, --local Perform search in the local database instead of searching online. -u, --update Update getsploit.db database. Will be downloaded in the script path.
Ну что, поищем эксплоиты для Wordpress?
Неплохо, правда? Давайте теперь попробуем ограничиться только коллекцией Packet Storm. Синтаксис выражений полностью соответствует строке поиска сайта и его Вы можете посмотреть его на странице помощи.
Итак, нужные нам эксплоиты найдены.
Теперь их необходимо сохранить для дальнейшего использования.
Для этого вам нужно использовать ключ «-m».
После этого утилита создаст папку с вашим поиском и загрузит туда эксплоиты.
Но что делать, если у нас нет онлайн-подключения к Интернету? Помните об этом, пока он еще доступен, и выполните «--update»! isox$ .
/getsploit.py --update Downloading getsploit database archive. Please wait, it may take time. Usually around 5-10 minutes. 219686398/219686398 [100.00%] Unpacking database. Database download complete. Now you may search exploits using --local key '.
/getsploit.py -l wordpress 4.7'
При таком запросе gotsploit загрузит базу данных SQLite со всей коллекцией эксплойтов.
На момент написания это около 594 мегабайт данных.
Обратите внимание: если ваш Python скомпилирован без поддержки sqlite3 (что на самом деле бывает редко), то локальная база данных, увы, работать не будет. Здесь пришлось пожертвовать совместимостью ради скорости и возможности полнотекстового поиска с помощью модуля FTS4 SQLite. Но все не так уж и плохо, большинство сборок Python по умолчанию идут с модулем sqlite3. Попробуем найти эксплойты локально?
Большой! Теперь вы можете взять с собой всю коллекцию эксплойтов от Vulners и использовать ее оффлайн без регистрации и СМС.
И, конечно же, исходные коды находятся по адресу наш GitHub .
Pull-запросы приветствуются.
Теги: #python #exploit #exploitdb #взлом #информационная безопасность #python
-
Iphoto 5 Увеличено
19 Oct, 24 -
Дудл 4 Google
19 Oct, 24 -
Радиола Настроение
19 Oct, 24 -
Канобувости 9-Й Выпуск
19 Oct, 24