
Некоторые инструменты для пентеста. Установите и поддерживайте актуальность некоторых инструментов для пентеста. Я использовал это, чтобы сдать экзамен OSCP.
Управляйте всеми своими инструментами для пентеста в одном месте и поддерживайте их в актуальном состоянии одной командой 😎
Цель sometools — управлять всеми инструментами, которые не включены в Kali или для которых sudo apt install недоступен. Sometools лучше работает, если инструменты представляют собой репозитории, но его можно настроить для работы и без этого.
Я искал способ управлять и поддерживать в актуальном состоянии некоторые инструменты, которые не включены в Kali-Linux. Например, я искал простой способ управления скриптами для повышения привилегий. Однажды я увидел sec-tools от eugenekolo (которые вы можете увидеть внизу страницы), и это дало мне мотивацию немедленно начать работу над своим проектом. Моей главной мотивацией была команда check-update-all, которая позволяет плавно обновлять все установленные инструменты.
Но имейте в виду, что это отличается. Я создал это для людей, работающих с Kali. Должно работать и на других дистрибутивах, но я не включил такие инструменты, как Burp Suite или SQLmap, потому что они поставляются с Kali по умолчанию.
$ git clone https://github.com/som3canadian/Some-Tools $ cd Some-Tools $ ./sometools.sh setup
$ ./sometools.sh list
## Базовое использование

**Примечание**: Нет необходимости указывать названия категорий при использовании инструмента. Просто используйте имя инструмента или ID. Вы можете увидеть ID инструмента, выполнив `./sometools.sh list`
Наиболее часто используемые действия:
- list
- install
- check-update-all
- git-search
- self-update```bash
# Inital setup. Should be the first command
$ ./sometools.sh setup
# List all available tools
$ ./sometools.sh list
# List all available tools of a category
$ ./sometools.sh list-cat Utilities
# List install tool(s)
$ ./sometools.sh list-installed
# List installed tools accessible from anywhere on your machine
$ ./sometool.sh list-bin
# Install a tool
$ ./sometools.sh install unicorn
# Using ID instead of tool name
$ ./sometools.sh install 4
# Install all tools of a Category
$ ./sometools.sh install-cat PrivEsc-Win
# Install All tools
$ ./sometools.sh install all
# Check update for all installed tools
# check-update-all command is the main reason why I made this
$ ./sometools.sh check-update-all
# Check for update
$ ./sometools.sh check-update PEAS
# Using ID instead of tool name
$ ./sometools.sh check-update 9
# Search for a tool on github
$ ./sometools.sh git-search LinEnum
# Search for a PoC in the PoC-in-GitHub tool
$ ./sometools.sh search-poc
# Show README.md of an installed tool
$ ./sometools.sh info unicorn
# Using ID instead of tool name
$ ./sometools.sh info 4
# Add a new tool
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin
# Uninstall a tool
$ ./sometools.sh uninstall unicorn
# Using ID instead of tool name
$ ./sometools.sh uninstall 4
# Unistall all tools of a Category
$ ./sometools.sh uninstall-cat PrivEsc-Win
# Update some-tools
$ ./sometools.sh self-update
# Delete all installed tools, remove bin directory and delete our modification in .zshrc or .bashrc
$ ./sometools.sh complete-uninstall
Каталог bin будет создан при выполнении действия setup. Это будет путь к каталогу, который мы добавим в переменную $PATH вашей оболочки (your/install/dir/Some-Tools/bin). В каталог bin мы поместим копию (симлинк) инструментов, которые хотим сделать исполняемыми отовсюду на нашей машине. Например, для такого инструмента, как unicorn.py, вы можете захотеть выполнять unicorn из любого места.
Действие setup также создаст каталоги bin/PrivEsc-Lin и bin/PrivEsc-Win в процессе. В этих каталогах мы будем хранить наши скрипты для повышения привилегий. Таким образом, когда вы захотите использовать свои инструменты, вы можете запустить python http сервер и быстро загрузить нужные скрипты. Скрипты в этих папках будут обновляться одновременно с обновлением инструментов с помощью действия check-update.
Note:
setup (Процесс настройки):
.bashrc или .zshrc (встроенное действие setup не будет работать, если вы не используете одну из двух оболочек)echo $PATHsometools.sh для лучшего понимания. ```bash
$ ./sometools.sh setupinstall и install-all:
./sometools.sh list..installed в каталоге инструмента. Этот файл поможет нам с действием list-installed. ```bash
$ ./sometools.sh list # see which tool can be install

self-update:
pull. ```bash
$ ./sometools.sh self-updateuninstall:
./sometools.sh list. ```bash
$ ./sometools.sh uninstall unicorn$ ./sometools.sh uninstall 4
add-tool:
install-tool.sh, uninstall-tool.sh и .gitignore.add-tool создаст для вас.Zsh functions не содержат инструментов для пентеста, они содержат небольшие скрипты, которые значительно помогают моему рабочему процессу, и я подумал, что они могут быть полезны и другим.
Возможно, их можно использовать и с другими оболочками, но я использую их с zsh.
Они не будут установлены в процессе настройки. Вам нужно настроить их вручную. Как? Добавив приведённый ниже фрагмент в ваш файл .zshrc.```bash
fpath=(~/path/of/sometools/Zsh-Functions $fpath); autoload -U $fpath[1]/*(.:t)
- mkcd: создание каталога и переход в него
- mv: перемещение файла/папки в текущую директорию (с одним аргументом)
- op: открытие файла или папки в файловом менеджере (`op .` для открытия текущей директории)
## Others
- При использовании ID номера вместо имени инструмента используйте ID номер из `./sometools.sh list`, а не `./sometools.sh list-installed`
- Если вы добавляете новый инструмент, требующий специальных инструкций по обновлению, вы можете создать файл `update-tool.sh` в каталоге инструмента (как файлы install-tool.sh и uninstall-tool.sh). При проверке обновлений скрипт some-tools.sh учтёт его.
- Вы **не можете** использовать одно и то же имя для двух инструментов. Это вызовет проблемы. При использовании действия add-tool мы это проверим. Решением было бы указывать название категории при использовании действия, но я **действительно этого не хочу**. Поскольку использование другого имени несложно, на данный момент у меня нет намерения разрабатывать решение, позволяющее использовать одно и то же имя для нескольких инструментов.
- Некоторые устанавливаемые инструменты могут запрашивать права `sudo`!
- Файл `check-git.sh`, включённый в репозиторий, предназначен для действий check-update и check-update-all.
- Я создаю это в свободное время, возможны ошибки. Если количество звёзд начнёт расти, я, возможно, уделю больше времени и усилий.
## License
Каждый инструмент лицензирован под своей собственной лицензией. Что касается Some-Tools, он лицензирован под GNU General Public License v3.0.
⭐ Если вы считаете это полезным, поставьте звезду наверху этой страницы ⭐ или можете купить мне ☕. Спасибо 🔥😎
<a href="https://www.buymeacoffee.com/somecanadian" target="_blank"><img src="https://assets.kitploit.com/production/public/readmes/3722/eecc7380590efb5bd32637f86ef07884b0e9f1f82f7dbf8b2bc7e8410d721225.png" alt="Buy Me A Coffee" height="51" width="217"></a>
## Acknowledgements
- Создано на основе идей <https://github.com/eugenekolo/sec-tools> и <https://github.com/zardus/ctf-tools>.
- Vagrant box от [nicmilot](https://app.vagrantup.com/nicmilot/boxes/kali-full-2020). Вы можете увидеть его другие vagrant box, например: [pwk-kali-2018](https://app.vagrantup.com/nicmilot/boxes/pwk-kali-2018) для VMware Fusion и [Metapsloitable3](https://app.vagrantup.com/nicmilot/boxes/metasploitable3-win2008-vmware) также для VMware Fusion.
| Category | Tool | Description |
|---|
| Evasion | Bashfuscator | Полностью настраиваемая и расширяемая среда обфускации Bash. |
| Evasion | Chimera | Chimera — это скрипт обфускации PowerShell, предназначенный для обхода AMSI и коммерческих антивирусных решений. |
| Evasion | PyFuscation | Обфускация скриптов PowerShell путем замены имен функций, переменных и параметров. |
| Evasion | tvasion | 🎭 Обход антивирусов на основе изменения сигнатуры файла с помощью AES-шифрования с использованием PowerShell и C#... |
| Evasion | unicorn | Unicorn — это простой инструмент для атаки с понижением версии PowerShell и внедрения шеллкода прямо в память... |
| Exploit-Win | windows-kernel-exploits | Коллекция уязвимостей повышения привилегий на платформе Windows |
| PrivEsc-Lin | BeRoot | Проект повышения привилегий — Windows / Linux / Mac |
| PrivEsc-Lin | LinEnum | Сценарий локального перечисления Linux <> Проверки повышения привилегий |
| PrivEsc-Lin | LinPwn | Интерактивный инструмент для пост-эксплуатации |
| PrivEsc-Lin | PEAS | PEASS — Набор отличных скриптов для повышения привилегий |
| PrivEsc-Lin | SUID3NUM | Автономный скрипт на Python, использующий встроенные модули Python для перечисления SUID-бинарников... |
| PrivEsc-Lin | SetUID | Мое личное руководство по повышению привилегий |
| PrivEsc-Lin | linux-enum-mod | Просто коллекция материалов для пентеста |
| PrivEsc-Lin | linux-exploit-suggester | Инструмент аудита повышения привилегий Linux |
| PrivEsc-Lin | linux-exploit-suggester-2 | Предлагатель эксплойтов для ядра Linux следующего поколения |
| PrivEsc-Lin | linuxprivchecker | Скрипт проверки повышения привилегий Linux |
| PrivEsc-Lin | lse | Инструмент перечисления Linux для пентеста и CTF с уровнями детализации |
| PrivEsc-Lin | pspy | Мониторинг процессов Linux без прав root |
| PrivEsc-Lin | setuid-wrapper | Простая программа-обертка setuid, предназначенная для запуска скриптов оболочки с повышенными привилегиями. |
| PrivEsc-Lin | unix-privesc-check | Автоматически экспортировано из code.google.com/p/unix-privesc-check |
| PrivEsc-Win | Ghostpack-CompiledBinaries | Скомпилированные бинарники для Ghostpack (.NET v4.0) |
| PrivEsc-Win | JAWS | JAWS — Еще один скрипт для перечисления Windows |
| PrivEsc-Win | Powerless | Скрипт повышения привилегий (перечисления) Windows, разработанный с учетом лабораторных работ OSCP (устаревшие Windows) |
| PrivEsc-Win | Privesc | Пакетный скрипт Windows, который находит проблемы неправильной конфигурации, которые могут привести к повышению привилегий. |
| PrivEsc-Win | SessionGopher | SessionGopher — это инструмент PowerShell, использующий WMI для извлечения сохраненной информации о сеансах для удаленного доступа... |
| PrivEsc-Win | Sherlock | Скрипт PowerShell для быстрого поиска отсутствующих патчей для уязвимостей локального повышения привилегий. |
| PrivEsc-Win | WinPwn | Автоматизация внутреннего пентеста Windows / безопасности AD |
| PrivEsc-Win | Windows-Privilege-Escalation | Техники и скрипты повышения привилегий Windows |
| PrivEsc-Win | Windows-Exploit-Suggester | Этот инструмент сравнивает уровни патчей целевой системы с базой данных уязвимостей Microsoft... |
| PrivEsc-Win | mimikatz | Небольшой инструмент для работы с безопасностью Windows |
| PrivEsc-Win | wesng | Предлагатель эксплойтов для Windows — следующее поколение |
| PrivEsc-Win | windows-privesc-check | Автономный исполняемый файл для проверки простых векторов повышения привилегий в Windows |
| Utilities | GraphQLmap | GraphQLmap — это скриптовый движок для взаимодействия с конечной точкой GraphQL в целях пентеста. |
| Utilities | PoC-in-GitHub | 📡 Автоматический сбор PoC из GitHub. ⚠️ Остерегайтесь вредоносного ПО. |
| Utilities | SirepRAT | Удаленное выполнение команд от имени SYSTEM на Windows IoT Core (доступны выпуски для Python2.7 <> Python3) |
| Utilities | Windows-Tools | Некоторые инструменты Windows. |
| Utilities | chisel | Быстрый TCP/UDP туннель через HTTP |
| Utilities | crackhash | Crackhash — это инструмент, который пытается взломать различные типы хэшей с помощью бесплатных онлайн-сервисов. |
| Utilities | cryptz | 🔒 [ Множественное шифрование / дешифрование ] 🔓 |
| Utilities | decodify | Обнаруживать и декодировать закодированные строки рекурсивно. |
| Utilities | enum4linux-ng | Версия enum4linux следующего поколения (инструмент для перечисления Windows/Samba) с дополнительными функциями ... |
| Utilities | evil-winrm | Предельная оболочка WinRM для взлома/пентеста |
| Utilities | haiti | 🔑 Идентификатор типа хэша (CLI <> lib) |
| Utilities | impacket | Impacket — это коллекция классов Python для работы с сетевыми протоколами. |
| Utilities | nishang | Nishang — атакующий PowerShell для красной команды, пентест и наступательной безопасности. |
| Utilities | nmapAutomator | Скрипт, который можно запустить в фоне! |
| Utilities | pypykatz | Реализация Mimikatz на чистом Python |
| Utilities | revshellgen | Генератор реверс-шеллов, написанный на Python 3. |
| Utilities | snmp | Скрипты сбора данных SNMP |
| Web | byp4xx | Скрипт Python для обхода HTTP ответов 40X... |
| Web | fuxploider | Сканер уязвимостей загрузки файлов и инструмент эксплуатации. |
| Web | LFISuite | Полностью автоматический эксплуататор LFI (+ реверс-шелл) и сканер. |
| Web | MyJWT | CLI для взлома, тестирования уязвимостей в Json Web Token (JWT) |
| Web | php-reverse-shell | Скрипт реверс-шелла на PHP. Работает на Linux, macOS и Windows. |
| Web | windows-php-reverse-shell | Простой реверс-шелл на PHP, реализованный с помощью бинарника. |
| Web | wwwolf-php-webshell | Веб-шелл на PHP от WhiteWinterWolf |
| Web | malicious-wordpress-plugin | Просто генерирует плагин WordPress, который предоставит вам реверс-шелл после загрузки. |
| Web | whitepass | Whitepass — обход белых списков/ограничений скорости в веб-приложениях/API |
| Web | wordpress-exploit-framework | Фреймворк на Ruby, предназначенный для помощи в пентесте систем WordPress. |
$ ./sometools.sh install LinEnum
$ ./sometools.sh install 7
$ ./sometools.sh install-all
install-cat и uninstall-cat:
$ ./sometools.sh install-cat PrivEsc-Win
$ ./sometools.sh uninstall-cat PrivEsc-Win
check-update и check-update-all:
.git), вы можете создать файл update-tool.sh с вашими специальными инструкциями (файл должен называться update-tool.sh)../sometools.sh list. ```bash
$ ./sometools.sh list-installed # list currently installed tool(s)
$ ./sometools.sh check-update LinEnum$ ./sometools.sh check-update 7
$ ./sometools.sh check-update-all
Зачем два check-git? check-git.sh только сообщает, отстаёт ли инструмент или нет. Если мы обнаружим новую версию, мы попросим выполнить check-git-action.sh.
git-search
sortSearch, если хотите)$ ./sometools.sh git-search LinEnum 15
lsePrivEsc-Lin.gitignoreinstall-tool.sh под свои нужды. Если вы это сделаете, действие check-update не будет работать "из коробки" (потому что мы не найдём каталога .git). Решение: вы можете создать файл с именем update-tool.sh (в каталоге инструмента) и поместить в него команды обновления. Скрипт some-tools.sh обнаружит это имя файла при использовании действия check-update. Не забудьте выполнить chmod +x для нового файла..gitignore будет содержать имя вашего инструмента и .installed. Почему? Потому что мы не хотим пушить git-репозиторий в другой репозиторий и не хотим пушить файл .installed. ```bash
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin$ ./sometools.sh add-tool LinEnum PrivEsc-Lin
install-tool и update-tool через GitHub API
Иногда инструменты необходимо загружать через страницу releases/latest, например pspy от DominicBreuker. Чтобы всегда обновляться и загружать последнюю версию, процесс потребовал небольшой доработки с использованием GitHub API. Если вы добавляете новый инструмент по этому шаблону, вы можете использовать приведённую ниже функцию в ваших файлах install-tool.sh и update-tool.sh. ```bash #!/bin/bash
function gitGetLatestRelease() { gitCounter=0 repoToGet="DominicBreuker/pspy" apiURL="https://api.github.com/repos" while [[ $checkDownloadURL != null ]]; do checkDownloadURL=$(http "$apiURL/$repoToGet/releases/latest" | jq -r ".assets[$gitCounter].browser_download_url") if [[ $checkDownloadURL == null ]]; then break fi # download the release wget "$checkDownloadURL" gitCounter=$((gitCounter + 1)) done } gitGetLatestRelease
info:
./sometools.sh list.info some-tools попытается обнаружить бинарный файл bat. Если он будет найден, вам будет предложено выбрать между bat и cat.cat будет использоваться по умолчанию без запроса, если bat не обнаружен. ```bash
$ ./sometools.sh info LinEnum$ ./sometools.sh info 7
complete-uninstall:
.zshrc или .bashrc..zshrc или .bashrc. Таким образом, если вы внесли какие-либо изменения в процессе, они будут сохранены..zshrc или .bashrc. Один заканчивается на .backup, который мы создали при начальной настройке, и второй, .backup2, перед удалением раздела sometools в процессе полного удаления. ```bash
$ ./sometools.sh complete-uninstall