
HellPot è un portale cross-platform per sofferenza infinita pensato per punire i molesti bot HTTP.
HellPot è un honeypot infinito basato su Heffalump che invia i bot HTTP indisciplinati all'inferno.
In particolare, implementa un file di configurazione toml, ha logging JSON e offre significativi miglioramenti delle prestazioni.
I client (si spera bot) che ignorano robots.txt e si connettono alla tua istanza di HellPot subiranno conseguenze eterne.
HellPot invierà un flusso infinito di dati che è abbastanza simile a un vero sito web da far sì che restino finché la loro anima non venga fatta a pezzi e cessino di esistere.
Sotto il cofano di questa sofferenza eterna c'è un motore markov che scaglia pezzi di La nascita della tragedia (Ellenismo e Pessimismo) di Friedrich Nietzsche al client utilizzando fasthttp.
HellPot dovrebbe essere compilato con Go versione 1.17 o superiore.
HellPot utilizza go modules. Questo dovrebbe renderlo estremamente semplice da compilare con una installazione standard di Go. Per renderlo ancora più semplice, abbiamo aggiunto un Makefile GNU.
1 ) git clone https://github.com/yunginnanet/HellPot
2 ) cd HellPot
4 ) make
5 ) Considera le potenziali gravi conseguenze delle tue azioni.
In caso di file di configurazione mancante, HellPot tenterà di posizionare la sua configurazione predefinita in $HOME/.config/HellPot/config.toml. Ciò consente alle anime irresponsabili di iniziare a scatenare il fuoco infernale con facilità, immediatamente:
1 ) Scarica una release compilata
2 ) Esegui il binario e inizia immediatamente a inviare i client direttamente all'inferno.
1 ) Configura il webserver come proxy inverso (vedi sotto)
2 ) ./HellPot --genconfig
3 ) Modifica il tuo nuovo config.toml generato come desideri.
4 ) Rifletti sulla capacità del tuo esistere server di gestire i valori di performance scelti.
5 ) ./HellPot -c config.toml
666 ) 𝙏͘͝𝙝̓̓͛𝙚͑̈́̀ 𝙨͆͠͝𝙠͑̾͌𝙮̽͌͆ 𝙞̓̔̔𝙨͒͐͝ 𝙛͑̈́̚𝙖͛͒𝙡͑͆̽𝙡̾̚̚𝙞͋̒̒𝙣̾͛͝𝙜͒̒̀.́̔͝
[!TIP] I valori di configurazione possono essere sovrascritti con variabili d'ambiente con prefisso
HELLPOT_. Quando usi questo metodo, sostituisci i trattini bassi nelle chiavi di configurazione con due trattini bassi.es.: per impostare
http.bind_addrtramite env, impostaHELLPOT_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;
}
Tutti gli URL inesistenti vengono reverse proxyati verso un'istanza HellPot su localhost, che è impostata su catchall. Il traffico servito da HellPot è limitato 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>