
HellPot es un portal multiplataforma de sufrimiento interminable diseñado para castigar a los bots HTTP desobedientes.
HellPot es un honeypot interminable basado en Heffalump que envía bots HTTP desobedientes al infierno.
Destaca por implementar un archivo de configuración toml, tener registro en JSON y ofrecer importantes mejoras de rendimiento.
Los clientes (idealmente bots) que ignoren robots.txt y se conecten a su instancia de HellPot sufrirán consecuencias eternas.
HellPot enviará un flujo infinito de datos que es lo suficientemente cercano a un sitio web real como para que puedan quedarse hasta que su alma sea desgarrada y dejen de existir.
Bajo el capó de este sufrimiento eterno hay un motor markov que lanza fragmentos de El nacimiento de la tragedia (Helenismo y pesimismo) de Friedrich Nietzsche al cliente usando fasthttp.
HellPot probablemente debería compilarse con Go versión 1.17 o superior.
HellPot utiliza módulos de Go. Esto debería hacer que sea muy sencillo compilar con una instalación estándar de Go. Para hacerlo aún más simple, hemos añadido un Makefile de GNU.
1 ) git clone https://github.com/yunginnanet/HellPot
2 ) cd HellPot
4 ) make
5 ) Considere las posibles graves consecuencias de sus acciones.
En caso de que falte un archivo de configuración, HellPot intentará colocar su configuración predeterminada en $HOME/.config/HellPot/config.toml. Esto permite que las almas irresponsables comiencen a llover fuego infernal con facilidad, inmediatamente:
1 ) Descargue una versión compilada
2 ) Ejecute el binario y comience inmediatamente a enviar clientes directamente al infierno.
1 ) Configure el servidor web como proxy inverso (ver más abajo)
2 ) ./HellPot --genconfig
3 ) Edite su config.toml recién generado según lo desee.
4 ) Reflexione sobre su existencia capacidad del servidor para manejar los valores de rendimiento elegidos.
5 ) ./HellPot -c config.toml
666 ) 𝙏͘͝𝙝̓̓͛𝙚͑̈́̀ 𝙨͆͠͝𝙠͑̾͌𝙮̽͌͆ 𝙞̓̔̔𝙨͒͐͝ 𝙛͑̈́̚𝙖͛͒𝙡͑͆̽𝙡̾̚̚𝙞͋̒̒𝙣̾͛͝𝙜͒̒̀.́̔͝
[!TIP] Los valores de configuración se pueden sobrescribir con variables de entorno con el prefijo
HELLPOT_. Al usar este método, reemplace los guiones bajos en las claves de configuración con dos guiones bajos.p.ej: para establecer
http.bind_addrmediante env, establezcaHELLPOT_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;
}
Todas las URL inexistentes se están redirigiendo mediante proxy inverso a una instancia de HellPot en localhost, que está configurada para capturar todo. El tráfico servido por HellPot está limitado a 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>