Некоторые скрипты настройки для инструментов исследования безопасности.
Это коллекция скриптов настройки для создания установки различных инструментов исследования безопасности. Конечно, это не сложная задача, но очень удобно иметь их в одном месте, которое легко разворачивается на новых машинах и так далее. Скрипты установки для этих инструментов время от времени проверяются, так что есть надежда, что всё будет работать!
Включены установщики для следующих инструментов:
| Category | Tool | Description |
|---|
| binary | angr | |
| binary | angr-management | |
| binary | beef | |
| binary | crosstool | |
| binary | cross2 | |
| binary | decomp2dbg | |
| binary | elfkickers | |
| binary | elfparser | |
| binary | evilize | |
| binary | gdb | |
| binary | gef | |
| binary | ghidra | |
| binary | honggfuzz | |
| binary | ida | Инструмент для декомпиляции и обратной разработки (требуется самостоятельная загрузка в ~/Downloads!). |
| binary | manticore | |
| binary | one_gadget | |
| binary | preeny | |
| binary | pwninit | |
| binary | pwndbg | |
| binary | pwnsh | |
| binary | pwntools | |
| binary | qemu | |
| binary | qiling | |
| binary | qira | |
| binary | rappel | |
| binary | ropper | |
| binary | rp++ | |
| binary | seccomp-tools | |
| binary | shellnoob | |
| binary | taintgrind | |
| binary | valgrind | |
| binary | villoc | |
| binary | xrop | |
| forensics | firmware-mod-kit | |
| forensics | pdf-parser | |
| forensics | peepdf | |
| forensics | scrdec18 | |
| forensics | volatility | |
| forensics | volatility3 | |
| crypto | codext | |
| crypto | cribdrag | |
| crypto | fastcoll | |
| crypto | foresight | |
| crypto | featherduster | |
| crypto | galois | |
| crypto | hashpump-partialhash | |
| crypto | hash-identifier | |
| crypto | libc-database | |
| crypto | msieve | |
| crypto | nonce-disrespect | |
| crypto | pemcrack | |
| crypto | pkcrack | |
| crypto | reveng | |
| crypto | rsactftool | |
| crypto | ssh_decoder | ruby1.8 из https://launchpad.net/~brightbox/+archive/ubuntu/ruby-ng. Запустите с ssh_decoder --help для справки, так как запуск без аргументов приводит к сбою. |
| crypto | sslsplit | |
| crypto | xortool | |
| crypto | yafu | |
| web | burpsuite | |
| web | commix | |
| web | mitmproxy | |
| web | subbrute | |
| web | webgrep | grep для веб-страниц с деобфускацией JS, снятием минификации CSS и OCR на изображениях. |
| stego | steganabara | |
| stego | stegano-tools | |
| stego | stegdetect | |
| stego | stegsolve | |
| stego | stegosaurus | |
| stego | zsteg | |
| misc | jdgui | |
| misc | python2 | |
| misc | social-analyzer | |
| misc | veles | |
| misc | xspy |
Также есть несколько установщиков для вещей, не связанных с CTF, чтобы разбавить монотонность!
| Category | Tool | Description |
|---|---|---|
| game | df | |
| web | tor-browser |
Для использования выполните:```bash
/path/to/ctf-tools/bin/manage-tools setup source ~/.bashrc
manage-tools list
manage-tools -s install gdb
manage-tools install pwntools
manage-tools -n install qemu
manage-tools uninstall gdb
manage-tools uninstall all
manage-tools search preload
Там, где это возможно, инструменты устанавливаются очень автономно (т.е. в каталог tool/), и большинство удалений — это просто вызовы `git clean` (**ПРИМЕЧАНИЕ**: это **НЕ** аккуратно; всё в каталоге инструмента, включая то, над чем вы работали, будет удалено при деинсталляции).
Инструменты на Python и Ruby устанавливаются в собственные виртуальные окружения для каждого инструмента.
Если вы хотите добавить другие пакеты в это окружение, посмотрите в каталогах `ctf-tools/TOOL/pipx` или `ctf-tools/TOOL/gems`.
## Помощь!
Что-то не работает?
Я не писал (почти) ни одного из этих инструментов, но зайдите на [дискорд](https://discord.gg/KRcjyn4pBH), если вы отчаялись. Может быть, добрая душа поможет!
## Инструменты в Docker
### Предварительно собранные контейнеры с инструментами
Вы можете получить большинство этих инструментов в предварительно собранных контейнерах с [https://hub.docker.com/r/ctftools](https://github.com/zardus/ctf-tools/blob/master/dockerhub). Например:```console
$ echo hi | docker run -i ctftools/taintgrind taintgrind --taint-stdin=yes /bin/cat
/home/ctf/tools/taintgrind/valgrind-3.21.0/build/bin/valgrind --tool=taintgrind --taint-stdin=yes /bin/cat
==8== Taintgrind, the taint analysis tool
==8== Copyright (C) 2010-2018, and GNU GPL'd, by Wei Ming Khoo.
==8== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==8== Command: /bin/cat
==8==
0xFFFFFFFF: _syscall_read | Read:3 | 0x0 | 4a5a000_unknownobj
hi
==8==
Вы можете создать docker-образ с помощью:```bash git clone https://github.com/zardus/ctf-tools cd ctf-tools docker build -t ctf-tools --build-arg PREINSTALLED=some-tool .
И запустите его с:```bash
docker run -it ctf-tools
Собранный образ будет содержать клонированный ctf-tools и установленный ваш инструмент.
В Kali Linux (Sana и Rolling) из-за ручной настройки некоторых библиотек на использование не самой последней версии (иногда отстающей на годы) некоторые инструменты не устанавливаются вовсе или работают со сбоями. Переопределение этих библиотек ломает другие инструменты, входящие в состав Kali, поэтому единственное решение — либо смириться с неработающими инструментами Kali, использовать Docker или запустить отдельный дистрибутив, например Ubuntu.
Чтобы добавить инструмент (например, с именем имя_инструмента), сделайте следующее:
имя_инструмента.install.uninstall.Скрипт установки будет выполняться с $PWD, равным имя_инструмента. Он должен установить инструмент в этот каталог, максимально изолированно. В идеале полное удаление должно быть возможным с помощью git clean.
Скрипт установки должен создать каталог bin и поместить туда исполняемые файлы. Эти исполняемые файлы будут автоматически привязаны к основному каталогу bin репозитория. Они могут запускаться из любого каталога, поэтому не делайте предположений о расположении $0!
Отдельные инструменты лицензируются под собственными лицензиями. Что касается самого ctf-tools, он лицензирован под лицензией BSD 2-Clause. Если вы нашли его полезным, поставьте звезду на GitHub (https://github.com/zardus/ctf-tools).
Удачи!
Существует курируемый список CTF-инструментов, но без установщиков, здесь: https://github.com/apsdehal/aWEsoMe-cTf.
Существует конфигурация Vagrant со многими крупными фреймворками здесь: https://github.com/thebarbershopper/epictreasure.
По мере того как инструменты официально пакетируются, мы переходим к простой рекомендации установить их через apt!
| Категория | Источник | Инструмент | Описание |
|---|---|---|---|
| binary | apt | aflplusplus | Современный фаззер. |
| binary | apt | checksec | Проверка настроек безопасности бинарного файла. |
| binary | apt | radare2 | Какая-то безумная штука, нравящаяся crowell. |
| binary | apt | rr | Фреймворк для записи и воспроизведения отладки. |
| binary | apt | wcc | Коллекция компиляционных инструментов для бинарной чёрной магии на платформах GNU/Linux и других POSIX. |
| forensics | apt | binwalk | Инструмент анализа прошивок (и произвольных файлов). |
| forensics | apt | foremost | Восстановитель файлов. |
| forensics | apt | dislocker | Инструмент для чтения зашифрованных разделов BitLocker. |
| forensics | apt | origami-pdf | Манипулятор PDF. |
| forensics | apt | testdisk | Testdisk и photorec для восстановления файлов. |
| web | apt | dirb | Сканер веб-путей. |
| web | apt | dirsearch | Сканер веб-путей. |
| web | apt | sqlmap | Движок автоматизации SQL-инъекций. |
| stego | apt |
Ранее этот репозиторий включал некоторые скрипты, являющиеся обёртками вокруг docker pull. Мы уверены, что вы можете сделать это сами :-)
| Категория | Источник | Инструмент | Описание |
|---|---|---|---|
| binary | docker | panda | Платформа для архитектурно-нейтрального динамического анализа. |
| stego | Docker | stego-toolkit | Docker-образ с десятками инструментов стеганографии. |
Ранее этот репозиторий включал установщики библиотек. Из-за того, что предпочтения в установке библиотек очень индивидуальны (например, в отличие от инструментов, не очевидно, нужны ли изолированные venv для каждой библиотеки), мы прекратили их поставку и предоставляем ссылки для истории.
| Категория | Источник | Инструмент | Описание |
|---|---|---|---|
| binary | Library | capstone | Многоархитектурный фреймворк дизассемблирования. |
| binary | Library | keystone | Лёгкий многоархитектурный фреймворк ассемблера. |
| binary | Library | lief | Библиотека для инструментирования исполняемых форматов. |
| binary | Library | miasm | Фреймворк реверс-инжиниринга на Python. |
| binary | Library | unicorn | Многоархитектурный фреймворк эмуляции ЦПУ. |
| binary | Library | virtualsocket | Отличная библиотека для взаимодействия с бинарными файлами. |
| crypto | Library | cryptanalib3 | Выжившее ядро инструмента криптоанализа featherduster, обновлённое для python3. |
| crypto | Library | python-paddingoracle | Автоматизация атаки с оракулом дополнения. |
| Инструмент анализа PNG. |
| stego | apt | sonic-visualizer | Визуализация аудиофайлов. |
| networking | apt | dsniff | Перехватывает пароли и другие данные из pcap/сетевых потоков. |
| networking | apt | bettercap | Швейцарский нож для сетевых шалостей. |
| misc | apt | z3 | Доказатель теорем от Microsoft Research. |
| osint | apt | sherlock | Инструменты для поиска аккаунтов в социальных сетях по имени пользователя в более чем 400 социальных сетях. |