
Локальный скрипт для перечисления в Linux, который выявляет векторы повышения привилегий, включая неверные конфигурации, файлы с доступом на запись для всех, пароли в открытом виде и подходящие эксплойты для оценки безопасности и подготовки к CTF.
Данный скрипт предназначен для локального выполнения на системе Linux с целью сбора основной информации о системе и поиска распространённых векторов повышения привилегий, таких как общедоступные для записи файлы, ошибки конфигурации, пароли в открытом виде и применимые эксплойты.
Linuxprivchecker предназначен для выявления потенциальных областей для дальнейшего исследования, а не для непосредственных действий или эксплуатации. Это помогает пользователям лучше понять, как работают эти повышения привилегий, и соответствует правилам самостоятельной эксплуатации, установленным для OSCP, HTB и других CTF/экзаменов.
Мы постараемся предоставить дополнительную информацию и ссылки, где это возможно. Как текущий мейнтейнер, я также планирую сопровождать новые функции публикациями в моём блоге (hackersvanguard.com), где будет подробно объяснена каждая потенциальная область для повышения привилегий и какие критерии могут потребоваться.
Для запуска на устаревших системах Python >2.6 просто получите единый скрипт Python и запустите его.
wget https://raw.githubusercontent.com/sleventyeleven/linuxprivchecker/master/linuxprivchecker.py
python linuxprivchecker.py -w -o linuxprivchecker.log
На данный момент Linuxprivchecker для Python 3.X следует считать стабильной бета-версией. Возможны проблемы с работой скрипта, и он определённо может пропустить некоторые уязвимости (откройте issue или PR).
Для запуска версии для Python 3 просто воспользуйтесь pip.
pip install linuxprivchecker
Затем просто запустите из командной строки, если доступен runpy.
linuxprivchecker -w -o linuxprivchecker.log
или если runpy не добавил скрипт в ваш PATH
python3 -m linuxprivchecker -w -o linuxprivchecker.log
Если тестируемая система имеет Python 2.6 или выше и/или установлен argparse, вы можете использовать следующие параметры. Если импорт argparse не работает, будут выполнены все проверки, но файл журнала не будет записан. Однако вы всё ещё можете использовать перенаправление вывода терминала для создания журнала, например: 'python linuxprivchecker.py > linuxprivchecker.log'.
usage: linuxprivchecker.py [-h] [-s] [-w] [-o OUTFILE]
Пытается собрать информацию о системе и найти возможные эксплойты
optional arguments: -h, --help показать это справочное сообщение и выйти -s, --searches Пропустить трудоёмкие или ресурсоёмкие поиски -w, --write Записывать ли файл журнала, можно использовать с -o для указания имени/расположения -o OUTFILE, --outfile OUTFILE Файл для записи результатов (должен быть доступен для записи текущему пользователю)
Предупреждение
Этот скрипт предоставляется как есть, без каких-либо гарантий функциональности или точности. У меня нет планов поддерживать обновления, я не писал его для эффективности, и в некоторых случаях вы можете обнаружить, что функции не дают желаемых результатов. Например, функция, связывающая пакеты с запущенными процессами, основана на ключевых словах и не всегда точна. Кроме того, список эксплойтов, включённый в эту функцию, со временем необходимо обновлять. Не стесняйтесь изменять или улучшать его любым способом, который сочтёте нужным.
Вы можете свободно модифицировать и/или распространять этот скрипт по своему усмотрению. Я лишь прошу сохранять указание оригинального автора и не пытаться продавать его или включать в какие-либо коммерческие предложения (как будто он вообще чего-то стоит :))