HellPot عبارة عن مصيدة لا نهاية لها تعتمد على Heffalump والتي ترسل روبوتات HTTP الجامحة إلى الجحيم.
ومن الجدير بالذكر أنه ينفذ ملف تكوين toml، ويحتوي على تسجيل JSON، ويأتي مع مكاسب كبيرة في الأداء.
العملاء (نأمل أن تكون الروبوتات) الذين يتجاهلون robots.txt
ويتصلون بمثيل HellPot الخاص بك سوف يعانون من عواقب أبدية .
سيرسل HellPot دفقًا لا نهائيًا من البيانات التي تكون قريبة بدرجة كافية من كونها موقعًا حقيقيًا على الويب، وقد يظلون متمسكين بها حتى تتمزق أرواحهم ويتوقفون عن الوجود.
تحت غطاء هذه المعاناة الأبدية يوجد محرك ماركوف الذي يقذف قطعًا وأجزاء من كتاب ولادة المأساة (الهلينية والتشاؤم) لفريدريك نيتشه على العميل باستخدام fasthttp.
من المحتمل أن يتم إنشاء HellPot باستخدام الإصدار 1.17 من Go أو أعلى.
يستخدم HellPot وحدات go. هذا من شأنه أن يجعل عملية الإنشاء سهلة للغاية باستخدام تثبيت Stock 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_
. عند استخدام هذه الطريقة، استبدل الشرطة السفلية في مفاتيح التكوين بشرطتين سفليتين.
على سبيل المثال: لتعيين http.bind_addr
عبر env، قم بتعيين 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 كيلو بايت / ثانية.
< 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 >