Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Swego — Golangで書かれたスイスアーミーナイフ的なWebサーバー。PythonのSimpleHTTPServerのようにシンプルでありながら、多くの機能を備えています。 | Kitploit
ツール/GitHubGitHub/nodauf/swego
ペイロード生成ウェブセキュリティペネトレーションテストユーティリティとフレームワークレッドチーミング
GitHubnodauf/swego

Swego

Golangで書かれたスイスアーミーナイフ的なWebサーバー。PythonのSimpleHTTPServerのようにシンプルでありながら、多くの機能を備えています。

リポジトリを見る
198321年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Swego

Golang製のスイスアーミーナイフなWebサーバー。 PythonのSimpleHTTPServerのようにシンプルでありながら、多くの機能を備えています。

Swego screenshot

使用法

バイナリを実行する

ビルドしたくない場合は、https://github.com/nodauf/Swego/releases でバイナリが利用可能です。

そうでない場合は、build-essential がインストールされ、GOPATH が設定されている必要があります:

root@kitploit:~
git clone https://github.com/nodauf/Swego.git
cd Swego/src
make compileLinux # または make compileWindows

使用方法

web サブコマンド:

root@kitploit:~
$ ./webserver web --help
Start the webserver (default subcommand)

Usage:
  Swego web [flags]

Flags:
  -b, --bind int                  Bind Port (default 8080)
  -c, --certificate string        HTTPS certificate : openssl req -new -x509 -sha256 -key server.key -out server.crt -days 365
  -d, --disableListing            Disable directory listing
  -g, --gzip                      Enables gzip/zlib compression (default true)
      --ip string                 Binding IP (default "0.0.0.0")
  -k, --key string                HTTPS Key : openssl genrsa -out server.key 2048
  -o, --oneliners                 Generate oneliners to download files
  -p, --password string           Password for basic auth (default "notsecure")
      --private string            Private folder with basic auth (default "/home/florian/dev/SimpleHTTPServer-golang/src/private")
      --promptPassword            Prompt for for basic auth's password
  -r, --root string               Root folder (default "/home/florian/dev/SimpleHTTPServer-golang/src")
  -s, --searchAndReplace string   Search and replace string in embedded text files
      --tls                       Enables HTTPS
  -u, --username string           Username for basic auth (default "admin")

Global Flags:
      --config string   config file (default is $HOME/.Swego.yaml)
  -h, --help            Help message

run サブコマンド:

root@kitploit:~
$ ./webserver web --help
Run an embedded binary

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

HTTPでのWebサーバー

root@kitploit:~
$ ./webserver
Sharing /tmp/ on 8080 ...
Sharing /tmp/private on 8080 ...

HTTPSでのWebサーバー

root@kitploit:~
$ 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
Sharing /tmp/ on 8080 ...
Sharing /tmp/private on 8080 ...

プライベートディレクトリとルートディレクトリを使用したWebサーバー

同じディレクトリ内のプライベートフォルダ

root@kitploit:~
$ ./webserver-linux-amd64 web --private ThePrivateFolder --username nodauf --password nodauf
Sharing /tmp/ on 8080 ...
Sharing /tmp/ThePrivateFolder on 8080 ...

ルートとプライベートディレクトリに異なるパスを指定

root@kitploit:~
$ ./webserver-linux-amd64 web --private /tmp/private --root /home/nodauf --username nodauf --password nodauf
Sharing /home/nodauf on 8080 ...
Sharing /tmp/private on 8080 ...

埋め込みバイナリ(Windowsのみ)

埋め込みバイナリの一覧表示:

root@kitploit:~
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

引数を指定してバイナリを実行:

root@kitploit:~
C:\Users\Nodauf>.\webserver.exe run --binary mimikatz.exe --args "privilege::debug sekurlsa::logonpasswords"
....

この方法でバイナリを実行すると、AVの保護を回避するのに役立つ場合があります。バイナリに渡される引数がAVに検出される可能性があるため、可能であればバイナリのインタラクティブCLI(mimikatzなど)を使用するか、バイナリを再コンパイルして引数名を変更してください。

機能

  • HTTPS(証明書/キーが指定されていない場合は自動生成)
  • ディレクトリ一覧表示
  • ベーシック認証付きのプライベートフォルダを定義
  • 複数ファイルのアップロード
  • 暗号化されたzipとしてファイルをダウンロード(パスワード:infected)
  • フォルダをzipでダウンロード
  • 埋め込みファイル
  • C#で書かれた埋め込みバイナリの実行(Windowsのみ)
  • ブラウザからフォルダを作成
  • 埋め込みバイナリを実行する機能
  • 検索と置換機能(例:リバースシェルのIPアドレスを埋め込むため)
  • 埋め込みファイルをダウンロードして実行するワンライナーを生成
  • 設定ファイル .Swego.yamlの例
  • TLS用にランダムな証明書を自動生成

Todo

  • Webdav(Net-NTLMハッシュのキャプチャ対応)
  • ログファイル
  • JS/CSSメニューでPowerShell、一部のlolbins、curl、wgetでのダウンロードと実行コマンドを提供
  • 検索と置換に正規表現を使用
  • 埋め込みファイルを管理する仮想ファイルシステムの使用
ツールをダウンロード