HellPot은 무질서한 HTTP 봇을 지옥으로 보내는 Heffalump 기반의 끝없는 허니팟입니다.
특히 toml 구성 파일을 구현하고 JSON 로깅을 포함하며 상당한 성능 향상을 제공합니다.
robots.txt
무시하고 HellPot 인스턴스에 연결하는 클라이언트(봇이기를 바랍니다)는 영원한 결과를 겪게 됩니다.
HellPot은 영혼이 찢어지고 더 이상 존재하지 않을 때까지 계속 머물 수 있는 실제 웹사이트에 충분히 가까운 무한한 데이터 스트림을 보낼 것입니다.
이 영원한 고통의 후드 아래에는 fasthttp를 사용하여 클라이언트에서 Friedrich Nietzsche의 비극의 탄생(헬레니즘과 비관주의)의 일부를 처리하는 마르코프 엔진이 있습니다.
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은 catchall로 설정된 localhost의 HellPot 인스턴스로 역방향 프록시됩니다. HellPot에서 제공하는 트래픽의 속도는 5KiB/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 >