HellPot 是一個基於 Heffalump 的無盡蜜罐,它將不守規矩的 HTTP 機器人送入地獄。
值得注意的是,它實作了一個 toml 配置文件,具有 JSON 日誌記錄,並帶來了顯著的效能提升。
忽略robots.txt
並連接到您的 HellPot 實例的客戶端(希望是機器人)將遭受永恆的後果。
HellPot 將發送無限的資料流,這些資料足以成為一個真正的網站,他們可能會一直待在那裡,直到他們的靈魂被撕裂並且不再存在。
在這種永恆痛苦的背後是一個馬可夫引擎,它使用 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)將網頁伺服器配置為反向代理(見下文)
2) ./HellPot --genconfig
3 ) 根據需要編輯新產生的config.toml
。
4)思考你的存在伺服器處理您選擇的效能值的能力。
5)./HellPot -c config.toml
666)? ͘͝? ͛͝?
提示
配置值可以用前綴為HELLPOT_
環境變數覆寫。使用此方法時,請將配置鍵中的底線替換為兩個底線。
例如:要透過 env 設定http.bind_addr
,請設定HELLPOT_HTTP_BIND__ADDR="xxxx"
[ 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 都被反向代理到本機上的 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 >