
HellPotはHeffalumpをベースにした無限のハニーポットで、手に負えないHTTPボットを地獄へ送ります。
特に、toml設定ファイルを実装し、JSONログを持ち、大幅なパフォーマンス向上を実現しています。
robots.txtを無視してあなたのHellPotインスタンスに接続するクライアント(できればボット)は、永遠の結果に苦しむことになります。
HellPotは、実際のWebサイトに_ほぼ近い_無限のデータストリームを送信します。そのため、彼らは魂が引き裂かれて存在しなくなるまで居座り続けるかもしれません。
この永遠の苦しみの背後では、fasthttpを使用して、フリードリヒ・ニーチェの『悲劇の誕生(ヘレニズムとペシミズム)』の断片をクライアントに投げつけるマルコフエンジンが動作しています。
HellPotはGoバージョン1.17以上でビルドすることを推奨します。
HellPotはGoモジュールを使用しています。これにより、標準のGoインストールで非常に簡単にビルドできるはずです。さらに簡単にするために、GNU Makefileを追加しました。
1 ) git clone https://github.com/yunginnanet/HellPot
2 ) cd HellPot
4 ) make
5 ) 自分の行動の潜在的な重大な結果を考慮してください。
設定ファイルがない場合、HellPotはデフォルト設定を $HOME/.config/HellPot/config.toml に配置しようとします。これにより、無責任な魂が即座に地獄の火を降らせ始めることができます。
1 ) コンパイル済みリリースをダウンロード
2 ) バイナリを実行し、すぐにクライアントを直接地獄へ送り始めます。
1 ) Webサーバーをリバースプロキシとして設定(以下を参照)
2 ) ./HellPot --genconfig
3 ) 新しく生成された config.toml を好みに応じて編集します。
4 ) 自分の 存在 サーバーが選択したパフォーマンス値を処理できるかどうかを熟考します。
5 ) ./HellPot -c config.toml
666 ) 𝙏͘͝𝙝̓̓͛𝙚͑̈́̀ 𝙨͆͠͝𝙠͑̾͌𝙮̽͌͆ 𝙞̓̔̔𝙨͒͐͝ 𝙛͑̈́̚𝙖͛͒𝙡͑͆̽𝙡̾̚̚𝙞͋̒̒𝙣̾͛͝𝙜͒̒̀.́̔͝
[!TIP] 設定値は
HELLPOT_をプレフィックスとする環境変数で上書きできます。 この方法を使用する場合、設定キーのアンダースコアを2つのアンダースコアに置き換えてください。例: 環境変数で
http.bind_addrを設定するには、HELLPOT_HTTP_BIND__ADDR="x.x.x.x"を設定します。
[deception]
# Used as "Server" HTTP header. Note that reverse proxies may hide this.
server_name = "nginx"
[http]
# TCP Listener (default)
bind_addr = "127.0.0.1"
bind_port = "8080"
# header name containing clients real IP, for reverse proxy deployments
real_ip_header = 'X-Real-IP'
# this contains a list of blacklisted useragent strings. (case sensitive)
# clients with useragents containing any of these strings will receive "Not found" for any requests.
uagent_string_blacklist = ["Cloudflare-Traffic-Manager", "curl"]
# Unix Socket Listener (will override default)
unix_socket_path = "/var/run/hellpot"
unix_socket_permissions = "0666"
use_unix_socket = false
[http.router]
# Toggling this to true will cause all GET requests to match. Forces makerobots = false.
catchall = false
# Toggling this to false will prevent creation of robots.txt handler.
makerobots = true
# Handlers will be created for these paths, as well as robots.txt entries. Only valid if catchall = false.
paths = ["wp-login.php", "wp-login"]
[logger]
# verbose (-v)
debug = true
# extra verbose (-vv)
trace = false
# JSON log files will be stored in the below directory.
directory = "/home/kayos/.local/share/HellPot/logs/"
# disable all color in console output. when using Windows this will default to true.
nocolor = false
# toggles the use of the current date as the names for new log files.
use_date_filename = true
[performance]
# max_workers is only valid if restrict_concurrency is true
max_workers = 256
restrict_concurrency = false
location '/robots.txt' {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:8080$request_uri;
}
location '/wp-login.php' {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:8080$request_uri;
}
存在しないすべてのURLは、catchallに設定されたlocalhost上のHellPotインスタンスにリバースプロキシされます。HellPotが提供するトラフィックは5 KiB/sにレート制限されます。
<VirtualHost yourserver>
ErrorDocument 400 "/content/400"
ErrorDocument 403 "/content/403"
ErrorDocument 404 "/content/404"
ErrorDocument 500 "/content/405"
<Directory "$wwwroot/.well-known/">
ErrorDocument 400 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 500 default
</Directory>
/* HTTP Honeypot / HellPot (need mod_proxy, mod_proxy_http) */
ProxyPreserveHost on
ProxyPass "/content/" "http://localhost:8080/"
ProxyPassReverse "/content/" "http://localhost:8080/"
/* Rate Limit config, need mod_ratelimit */
<Location "/content/">
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 5
</Location>
/* Remaining config */
</VirtualHost>