Beelzebub es un marco de honeypot avanzado diseñado para proporcionar un entorno altamente seguro para detectar y analizar ataques cibernéticos. Ofrece un enfoque de código bajo para una fácil implementación y utiliza IA para imitar el comportamiento de un honeypot de alta interacción.
Manténgase actualizado sobre los ataques en tiempo real uniéndose a nuestro canal de telegrama dedicado: Telegram Channel
Para comprender mejor las capacidades de Beelzebub, puede explorar nuestro repositorio de ejemplo: MarioCandela/Beelzebub-Exemplo
Proporcionamos dos opciones de inicio rápidos para la construcción y ejecución de Beelzebub: usando Docker Compose o el compilador GO.
Construye las imágenes de Docker:
$ docker-compose buildComience Beelzebub en modo separado:
$ docker-compose up -dDescargue los módulos GO necesarios:
$ go mod downloadConstruya el ejecutable de Beelzebub:
$ go buildRun Beelzebub:
$ ./beelzebubTimón de instalación
Implementar beelzebub:
$ helm install beelzebub ./beelzebub-chartSiguiente lanzamiento
$ helm upgrade beelzebub ./beelzebub-chartProporcionamos dos tipos de pruebas: pruebas unitarias y pruebas de integración.
Para ejecutar pruebas unitarias:
$ make test.unitPara ejecutar pruebas de integración:
$ make test.dependencies.start
$ make test.integration
$ make test.dependencies.downBeelzebub ofrece una amplia gama de características para mejorar su entorno de honeypot:
Beelzebub permite una fácil configuración para diferentes servicios y puertos. Simplemente cree un nuevo archivo para cada servicio/puerto dentro del directorio /configurations/services .
Para ejecutar Beelzebub con su ruta personalizada, use el siguiente comando:
$ ./beelzebub --confCore ./configurations/beelzebub.yaml --confServices ./configurations/services/Aquí hay algunas configuraciones de ejemplo para diferentes escenarios de honeypot:
apiVersion : " v1 "
protocol : " http "
address : " :80 "
description : " Wordpress 6.0 "
commands :
- regex : " ^(/index.php|/index.html|/)$ "
handler :
<html>
<header>
<title>Wordpress 6 test page</title>
</header>
<body>
<h1>Hello from Wordpress</h1>
</body>
</html>
headers :
- " Content-Type: text/html "
- " Server: Apache/2.4.53 (Debian) "
- " X-Powered-By: PHP/7.4.29 "
statusCode : 200
- regex : " ^(/wp-login.php|/wp-admin)$ "
handler :
<html>
<header>
<title>Wordpress 6 test page</title>
</header>
<body>
<form action="" method="post">
<label for="uname"><b>Username</b></label>
<input type="text" placeholder="Enter Username" name="uname" required>
<label for="psw"><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="psw" required>
<button type="submit">Login</button>
</form>
</body>
</html>
headers :
- " Content-Type: text/html "
- " Server: Apache/2.4.53 (Debian) "
- " X-Powered-By: PHP/7.4.29 "
statusCode : 200
- regex : " ^.*$ "
handler :
<html>
<header>
<title>404</title>
</header>
<body>
<h1>Not found!</h1>
</body>
</html>
headers :
- " Content-Type: text/html "
- " Server: Apache/2.4.53 (Debian) "
- " X-Powered-By: PHP/7.4.29 "
statusCode : 404 apiVersion : " v1 "
protocol : " http "
address : " :8080 "
description : " Apache 401 "
commands :
- regex : " .* "
handler : " Unauthorized "
headers :
- " www-Authenticate: Basic "
- " server: Apache "
statusCode : 401 Ejemplo con OpenAI GPT-4:
apiVersion : " v1 "
protocol : " ssh "
address : " :2222 "
description : " SSH interactive OpenAI GPT-4 "
commands :
- regex : " ^(.+)$ "
plugin : " LLMHoneypot "
serverVersion : " OpenSSH "
serverName : " ubuntu "
passwordRegex : " ^(root|qwerty|Smoker666|123456|jenkins|minecraft|sinus|alex|postgres|Ly123456)$ "
deadlineTimeoutSeconds : 60
plugin :
llmModel : " gpt4-o "
openAISecretKey : " sk-proj-123456 "Ejemplo con Ollama Llama3:
apiVersion : " v1 "
protocol : " ssh "
address : " :2222 "
description : " SSH Ollama Llama3 "
commands :
- regex : " ^(.+)$ "
plugin : " LLMHoneypot "
serverVersion : " OpenSSH "
serverName : " ubuntu "
passwordRegex : " ^(root|qwerty|Smoker666|123456|jenkins|minecraft|sinus|alex|postgres|Ly123456)$ "
deadlineTimeoutSeconds : 60
plugin :
llmModel : " llama3 "
host : " http://example.com/api/chat " # default http://localhost:11434/api/chat apiVersion : " v1 "
protocol : " ssh "
address : " :22 "
description : " SSH interactive "
commands :
- regex : " ^ls$ "
handler : " Documents Images Desktop Downloads .m2 .kube .ssh .docker "
- regex : " ^pwd$ "
handler : " /home/ "
- regex : " ^uname -m$ "
handler : " x86_64 "
- regex : " ^docker ps$ "
handler : " CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES "
- regex : " ^docker .*$ "
handler : " Error response from daemon: dial unix docker.raw.sock: connect: connection refused "
- regex : " ^uname$ "
handler : " Linux "
- regex : " ^ps$ "
handler : " PID TTY TIME CMD n 21642 ttys000 0:00.07 /bin/dockerd "
- regex : " ^(.+)$ "
handler : " command not found "
serverVersion : " OpenSSH "
serverName : " ubuntu "
passwordRegex : " ^(root|qwerty|Smoker666)$ "
deadlineTimeoutSeconds : 60 Nuestros planes futuros para Beelzebub incluyen desarrollarlo en una plataforma PAAS robusta.
El equipo de Beelzebub da la bienvenida a las contribuciones y la participación del proyecto. Ya sea que desee informar errores, contribuir con nuevas funciones o tener alguna pregunta, consulte nuestra Guía de contribuyentes para obtener información detallada. Alentamos a todos los participantes y mantenedores a adherirse a nuestro código de conducta y fomentar una comunidad de apoyo y respetuoso.
¡Feliz piratería!
Beelzebub tiene licencia bajo la licencia MIT.