
Schweizer Taschenmesser-Webserver in Golang. Behalte es einfach wie den Python SimpleHTTPServer, aber mit vielen Funktionen.
Schweizer Taschenmesser Webserver in Golang. Bleibt einfach wie der python SimpleHTTPServer, aber mit vielen Funktionen

Wenn Sie es nicht selbst bauen möchten, sind Binärdateien verfügbar unter https://github.com/nodauf/Swego/releases
Ansonsten sollte build-essential installiert und GOPATH konfiguriert sein:
git clone https://github.com/nodauf/Swego.git
cd Swego/src
make compileLinux # Or make compileWindows
web Unterbefehl:
$ ./webserver web --help
Startet den Webserver (Standard-Unterbefehl)
Verwendung:
Swego web [flags]
Flags:
-b, --bind int Bind Port (Standard 8080)
-c, --certificate string HTTPS-Zertifikat: openssl req -new -x509 -sha256 -key server.key -out server.crt -days 365
-d, --disableListing Deaktiviert die Verzeichnisauflistung
-g, --gzip Aktiviert gzip/zlib-Kompression (Standard true)
--ip string Binde-IP (Standard "0.0.0.0")
-k, --key string HTTPS-Schlüssel: openssl genrsa -out server.key 2048
-o, --oneliners Generiert One-Liner zum Herunterladen von Dateien
-p, --password string Passwort für Basic-Auth (Standard "notsecure")
--private string Privater Ordner mit Basic-Auth (Standard "/home/florian/dev/SimpleHTTPServer-golang/src/private")
--promptPassword Nach Passwort für Basic-Auth fragen
-r, --root string Stammordner (Standard "/home/florian/dev/SimpleHTTPServer-golang/src")
-s, --searchAndReplace string Suche und ersetze Zeichenkette in eingebetteten Textdateien
--tls Aktiviert HTTPS
-u, --username string Benutzername für Basic-Auth (Standard "admin")
Globale Flags:
--config string Konfigurationsdatei (Standard ist $HOME/.Swego.yaml)
-h, --help Hilfemeldung
run Unterbefehl:
$ ./webserver web --help
Führt eine eingebettete Binärdatei aus
Verwendung:
Swego run [flags]
Flags:
-a, --args string Argumente für die Binärdatei
-b, --binary string Auszuführende Binärdatei
-l, --list Liste eingebetteter Binärdateien
Globale Flags:
--config string Konfigurationsdatei (Standard ist $HOME/.Swego.yaml)
-h, --help Hilfemeldung
$ ./webserver
Teile /tmp/ auf 8080 ...
Teile /tmp/private auf 8080 ...
$ openssl genrsa -out server.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
..........................................+++++
.................................................................................................................+++++
e is 65537 (0x010001)
$ openssl req -new -x509 -sha256 -key server.key -out server.crt -days 365
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
$ ./webserver web --tls --key server.key --certificate server.crt
Teile /tmp/ auf 8080 ...
Teile /tmp/private auf 8080 ...
$ ./webserver-linux-amd64 web --private ThePrivateFolder --username nodauf --password nodauf
Teile /tmp/ auf 8080 ...
Teile /tmp/ThePrivateFolder auf 8080 ...
$ ./webserver-linux-amd64 web --private /tmp/private --root /home/nodauf --username nodauf --password nodauf
Teile /home/nodauf auf 8080 ...
Teile /tmp/private auf 8080 ...
C:\Users\Nodauf>.\webserver.exe run
Usage:
Swego run [flags]
Flags:
-a, --args string Arguments for the binary
-b, --binary string Binary to execute
-l, --list List embedded binaries
Global Flags:
--config string config file (default is $HOME/.Swego.yaml)
-h, --help Help message
C:\Users\Nodauf>.\webserver.exe run --binary mimikatz.exe --args "privilege::debug sekurlsa::logonpasswords"
....
Die Ausführung einer Binärdatei auf diese Weise kann helfen, AV-Schutzmaßnahmen zu umgehen. Manchmal können die an die Binärdatei übergebenen Argumente vom AV abgefangen werden. Verwenden Sie nach Möglichkeit die interaktive CLI der Binärdatei (wie mimikatz) oder kompilieren Sie die Binärdatei neu, um die Argumentnamen zu ändern.