Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/redcode-labs/neurax
РазведкаАтаки на ПаролиГенерация полезной нагрузкиМеханизмы персистентностиЭксплуатацияЛатеральное перемещениеПост-эксплуатацияАнализ вредоносных программКомандование и УправлениеRed Teaming
GitHubredcode-labs/neurax
1.0k10142 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

neurax

Фреймворк для создания самораспространяющихся бинарных файлов

Репозиторий
Поделиться



Neurax



Фреймворк, помогающий в создании самораспространяющегося ПО



Обзор

С помощью Neurax бинарные файлы Golang могут распространяться по LAN/WAN без использования внешних серверов.

Разнообразные параметры конфигурации и командные стейджеры позволяют быстро распространяться в различных беспроводных средах.

Пример кода

root@kitploit:~
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)
  • Возможность установить время жизни созданного бинарного файла

Список записей конфигурации

Поиск новых целей

Функция NeuraxScan(func(string)) позволяет обнаруживать активные хосты в локальной сети. Единственный аргумент — это функция обратного вызова, которая вызывается в фоновом режиме для каждого активного хоста. Хост считается активным, если у него открыт хотя бы 1 порт, он ещё не заражён и удовлетворяет условиям, указанным в N.

NeuraxScan() работает как бесконечный цикл: она сканирует всю подсеть, указанную в записи конфигурации .Cidr, и когда все хосты просканированы, функция засыпает на интервал, заданный в .ScanInterval.

Заражение дисков

Бинарный файл Neurax не обязательно должен копировать себя по беспроводной сети. Функция NeuraxDisks() копирует текущий бинарный файл (под не подозрительным именем) на все найденные логические диски. Скопированный бинарный файл не выполняется, а просто находится в месте назначения в ожидании запуска. NeuraxDisks() возвращает error, если список дисков не может быть получен или копирование на любой из них невозможно.

Другая функция, NeuraxZIP(num_files int) err, позволяет создать случайно названный zip-архив, содержащий текущий бинарный файл. Он сохраняется в текущем каталоге и содержит до num_files случайных файлов.

NeuraxZIPSelf() просто упаковывает текущий бинарный файл, создавая архив с тем же именем.

Обратные соединения

Интерактивная обратная оболочка может быть установлена с помощью NeuraxReverse(). Она будет получать команды от имени хоста, указанного внутри .ReverseListener в форме "<host>:<port>". Используемый протокол определён в .ReverseProto Если NeuraxOpenComm() была запущена до вызова этой функции, каждая команда будет вести себя, как описано в разделе выше. Если нет, команды будут выполняться локально.

Примечание: эту функцию также следует запускать как горутину, чтобы предотвратить блокировку, вызванную бесконечным циклом приёма.

Очистка

Всякий раз, когда узел получает команду "purge", он пересылает эту команду всем остальным узлам, удаляет себя с хоста и завершает работу. Это поведение также можно инициировать с помощью NeuraxPurge(), выполненной где-то в исходном коде.

Создание словаря

Если выбранный вами вектор распространения основан на каком-либо брутфорсе, полезно подготовить подходящий словарь. Хранение слов в текстовом файле на стороне клиента не очень эффективно, поэтому вы можете мутировать базовый словарь с помощью NeuraxWordlist(...words) []string. Для перестановки заданных слов используйте NeuraxWordlistPermute(..words) []string

Установка времени жизни

Если вы хотите, чтобы ваш бинарный файл удалился через заданное время, используйте NeuraxSetTTL() в начале вашего кода. Эту функцию следует запускать как горутину. Например:

go NeuraxSetTTL("2m")

заставит бинарный файл выполнить NeuraxPurgeSelf() через 2 минуты после начального выполнения.

Использование нескольких стейджеров одновременно

Если вы хотите объединить все доступные для данной платформы стейджеры в цепочку, установите .Stager в "chain".

Перемещение сброшенного бинарного файла

Если вам нужно скопировать бинарный файл после начального выполнения, используйте NeuraxMigrate(path string). Он скопирует бинарный файл по указанному пути, удалит текущий бинарный файл и выполнит вновь перенесённый.

Поддержка этого инструмента

Если вам нравится этот проект и вы хотите видеть его развитие, пожалуйста, рассмотрите возможность небольшого пожертвования :>

>>>>> ПОЖЕРТВОВАТЬ <<<<<

Лицензия

Это программное обеспечение находится под лицензией MIT

Скачать инструмент
ИмяОписаниеЗначение по умолчанию
Nrx.Config.StagerИмя используемого командного стейджераслучайный, совместимый с платформой
Nrx.Config.StagerSudoЕсли true, командные стейджеры Linux выполняются с повышенными привилегиямиfalse
Nrx.Config.StagerRetryКоличество повторных выполнений командного стейджера0
Nrx.Config.StagerRemoveDelayИнструкция Sleep применяется перед удалением загруженного бинарного файлаtrue
Nrx.Config.PortПорт для обслуживания6741
Nrx.Config.PlatformЦелевая платформаопределяется автоматически
Nrx.Config.PathПуть, по которому бинарный файл сохраняется на хосте.
Nrx.Config.FileNameИмя, под которым загруженный бинарный файл будет обслуживаться и затем сохранёнслучайное
Nrx.Config.Base64Кодировать передаваемый бинарный файл в base64false
Nrx.Config.CommPortПорт, используемый бинарными файлами для связи друг с другом7777
Nrx.Config.CommProtoПротокол для связи между узлами"udp"
Nrx.Config.ReverseListenerСодержит "<host>:<port>" удалённого обработчика обратной оболочкине указано
Nrx.Config.ReverseProtoПротокол для обратного соединения"udp"
Nrx.Config.ScanRequiredPortNeuraxScan() считает хост активным, только если у него открыт определённый портнет
Nrx.Config.ScanPassiveNeuraxScan() обнаруживает хосты с помощью пассивного мониторинга ARP-трафикаfalse
Nrx.Config.ScanPassiveTimeoutNeuraxScan() мониторит ARP-слой в течение этого количества секунд50 секунд
Nrx.Config.ScanPassiveIfaceИнтерфейс для использования при пассивном сканированиипо умолчанию
Nrx.Config.ScanActiveTimeoutNeuraxScan() устанавливает это значение как тайм-аут для сканируемого порта в каждом потоке2 секунды
Nrx.Config.ScanPassiveAllNeuraxScan() захватывает пакеты на всех найденных устройствахfalse
Nrx.Config.ScanPassiveNoArpПассивное сканирование не устанавливает строгий фильтр захвата ARPfalse
Nrx.Config.ScanFirstСрез, содержащий IP-адреса для первоочередного сканирования[]string{}
Nrx.Config.ScanFirstOnlyNeuraxScan() сканирует только хосты, указанные в .ScanFirstfalse
Nrx.Config.ScanArpCacheNeuraxScan() сначала сканирует хосты, найденные в локальном ARP-кэше. Работает только с активным сканированиемfalse
Nrx.Config.ScanCidrNeuraxScan() сканирует эту CIDRлокальный IP + "\24"
Nrx.Config.ScanActiveThreadsКоличество потоков для NeuraxScan()10
Nrx.Config.ScanFullRangeNeuraxScan() сканирует все порты целевого хоста, чтобы определить, активен ли онс 19 по 300
Nrx.Config.ScanIntervalИнтервал времени для ожидания перед повторным сканированием всей подсети"2m"
Nrx.Config.ScanHostIntervalИнтервал времени для ожидания перед сканированием следующего хоста в активном режиме"none"
Nrx.Config.ScanGatewayFirstПри активном сканировании первым сканируется шлюзfalse
Nrx.Config.VerboseЕсли true, все сообщения об ошибках выводятся в STDOUTfalse
Nrx.Config.RemoveПри возникновении любых ошибок бинарный файл удаляет себя с хостаfalse
Nrx.Config.PreventReexecЕсли true, любая команда, совпадающая с уже полученными ранее, не выполняетсяtrue
Nrx.Config.WordlistExpandNeuraxWordlist() выполняет нестандартные преобразования входных словfalse
Nrx.Config.WordlistCommonДобавить 20 самых распространённых паролей в начало словаряfalse
Nrx.Config.WordlistCommonNumКоличество используемых распространённых паролейвсе
Nrx.Config.WordlistCommonCountriesКарта map[string]int, содержащая коды стран и количество используемых паролейmap[string]int
Nrx.Config.WordlistMutatorsМутаторы для использования, когда указан .WordlistExpand{"single_upper", "cyryllic", "encapsule"}
Nrx.Config.WordlistPermuteNumМаксимальная длина перестановки, генерируемой NeuraxWordlistPermute()2
Nrx.Config.WordlistPermuteSeparatorСимвол-разделитель для использования в перестановках"-"
Nrx.Config.WordlistShuffleПеремешать сгенерированный словарь перед возвратомfalse
Nrx.Config.AllocNumЭта запись определяет, сколько раз NeuraxAlloc() выделяет случайную память5
Nrx.Config.BlacklistСрез, содержащий IP-адреса, исключённые из любого типа сканирования[]string{}
Nrx.Config.FastHTTPHTTP-запрос в IsHostInfected() выполняется с использованием библиотеки fasthttpfalse
Nrx.Config.DebugВключить отладочные сообщенияfalse
Nrx.Config.NoInfectCheckОтключить проверку, заражён ли хостtrue