Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Hale — Monitor de comando y control de botnets | Kitploit
Herramientas/GitHubGitHub/pjlantz/hale
OSINT (Inteligencia de Fuentes Abiertas)ReconocimientoRecopilación de InformaciónSeguridad de RedesAnálisis de MalwareComando y ControlInteligencia de AmenazasRespuesta a Incidentes
GitHubpjlantz/hale

Hale

Monitor de comando y control de botnets

Ver Repositorio
2026058hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Acerca de

Hale es un monitor/espía de command & control para botnets con un diseño modular que facilita el desarrollo de nuevos módulos para monitorizar nuevos protocolos usados por servidores C&C. Hale incluye monitores IRC y HTTP desarrollados con Twisted para manejar la escalabilidad de un gran número de conexiones. Estos módulos tienen gramática de protocolo y configuraciones de bot ajustables, pero también pueden modificarse para satisfacer tus necesidades. Todos los registros y archivos capturados se guardan en una base de datos y, en el caso de IRC, también se rastrean las direcciones IP.

Para ocultar la ubicación del operador, las conexiones pueden hacerse a través de proxies SOCKSv5, y esto es configurable mediante la interfaz web, donde también se pueden explorar todos los registros junto con gráficos estadísticos y líneas de tiempo. La interfaz se desarrolló con Django y Google Visualization API. Algunos extras en la interfaz web incluyen soporte para una API RESTful con soporte OAuth y un motor de búsqueda.

La idea principal de Hale es ayudar en la caza de botnets y la investigación colaborativa mediante la creación de una red de sensores (monitores Hale). Para mejorar esta idea, hay disponible un bot XMPP que se conecta a un servidor XMPP centralizado donde actualmente se utilizan dos salas de grupo diferentes: una para coordinar entre sensores y otra para compartir registros y archivos. La sala de coordinación utiliza hashes de botnet generados a partir de las claves únicas en las configuraciones de la botnet; de esta manera, dos botnets con el mismo hash (identidad) no se monitorizan simultáneamente, mejorando la utilización. Para ayudar a terceros a hacer uso de esta red, un bot puede unirse a la sala de coordinación y pedirle a un sensor que comience a rastrear una botnet si no está siendo rastreada, enviando las configuraciones correspondientes. Además, en la sala de compartición, bots de terceros pueden obtener registros y archivos capturados por los sensores en tiempo real. Para facilitar el historial de registros se puede usar la API web que soporta solicitudes GET.

Instalación

Hale tiene las siguientes dependencias:

Python == 2.6
Django == 1.2.1
Twisted == 10.1.0
GeoIP-Python == 1.2.4 (y librería C de GeoIP)
Whoosh == 0.3.18
django-haystack == 1.0.1-final
django-piston == 0.2.3rc1
pefile == 1.2.10-63
sleekxmpp == 0.9Rrc1
wsgiref == 0.1.2
zope.interface == 3.6.1
oauth2 == 1.2.0
httplib2 == 0.6.0

Adicionalmente, el monitor requiere un controlador de base de datos back-end correspondiente a la base de datos utilizada por Django. Cuando estas librerías estén instaladas, descarga el código fuente desde aquí y extráelo en cualquier lugar.

Configuración

  1. Primero, crea una base de datos que será usada por Hale; el motor de base de datos puede ser cualquiera de tu elección. Si estás usando una base de datos existente, omite este paso.

  2. El siguiente paso es instalar los controladores back-end de Python correspondientes al motor del servidor.

  3. Edita settings.py en hale/src/webdb/ y modifica las siguientes configuraciones: ENGINE, NAME, USER, PASSWORD, HOST y PORT, donde el ajuste de engine es, por ejemplo, django.db.backends.mysql si tu motor de servidor es MySQL. El ajuste name es el nombre de tu base de datos que usaste al crearla.

  4. Si no quieres iniciar tu propia interfaz web, omite este paso y ve al 8). En settings.py, cambia PATH_TO_APP para que apunte a la ruta completa de la aplicación Django, por ejemplo: '/home/..../Hale/src/webdb'. En el directorio webdb ejecuta el siguiente comando: python manage.py syncdb. Si obtienes algún error aquí, lo más probable es que los ajustes de la base de datos en settings.py sean incorrectos. Además, durante la sincronización, establece el superusuario que se usará al administrar los usuarios.

  5. Para admitir la búsqueda en la interfaz web, ejecuta python manage.py rebuild_index para que el motor de búsqueda indexe por primera vez. Esto creará un directorio llamado whoosh.index/; para permitir que el servidor web escriba aquí, ejecuta chmod o+w whoosh.index/. Después de esto, ejecuta python manage.py update_index en su lugar y deberías poner esto como una tarea cron para actualizar los índices en un intervalo regular de tu elección.

  6. Ejecuta python manage.py runserver y ve a http://127.0.0.1:8000 para comprobar si la configuración se realizó correctamente.

  7. El comando runserver despliega un servidor de desarrollo que no se recomienda para uso en producción debido a problemas de rendimiento. En su lugar, despliega la interfaz web instalando mod_wsgi para Apache. Suponiendo que estás usando Ubuntu, ejecuta apt-get install libapache2-mod-wsgi. En /etc/apache2/sites-available/default añade lo siguiente:

    Alias /media /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/
    <Location /media>
      Order allow,deny
      Allow from all
    </Location>


    WSGIDaemonProcess username processes=2 maximum-requests=500 threads=10
    WSGIProcessGroup group

    WSGIScriptAlias / /home/..../webdb/django.wsgi

y edita el username y group bajo los que debe ejecutarse el demonio WSGI. WSGIScriptAlias debe establecerse a la ruta completa del archivo django.wsgi ubicado en el directorio webdb. El Alias especificado arriba es necesario para que la página de administración se renderice correctamente. Para poder subir módulos a través de la interfaz web, ejecuta chmod o+w webdb/modules.

  1. Sube los módulos que se usarán desde hale/src/modules/ o escribe los tuyos propios (consulta la sección Desarrollo). Sube el módulo deseado en la interfaz de administración y edita, por ejemplo, el nombre del módulo a irc y el nombre del archivo a ircModule.py. Especifica las reglas de configuración para el módulo en la sección correspondiente ubicada en hale/conf/modules.conf y ponlas en el cuadro de texto; también añade la sección uniqueKeys para el módulo que se está subiendo.

  2. Antes de ejecutar el monitor, edita hale.conf en hale/src/conf/ si deseas usar un servidor XMPP. Para activar el bot XMPP, establece la opción use en True y edita la información de inicio de sesión a una cuenta y servidor existentes, o inicia tu propio servidor XMPP. Un paso importante al iniciar un servidor XMPP es aumentar el tamaño máximo de estrofa (max stanza size) del valor predeterminado a algo como 10Mb. De lo contrario, no será posible la difusión de malware. Los ajustes de canal en hale.conf se usan para la sala de grupo de compartición utilizada por el bot, y el ajuste coord se usa para la sala de grupo donde tiene lugar toda la coordinación entre sensores.

  3. Edita hale.conf y configura los ajustes de cliente y servidor.

Uso

Para iniciar el monitor, ve a hale/src/ y ejecuta python server.py. Si arranca con errores, entonces el archivo settings.py de Django no está configurado correctamente o faltan algunas librerías. Con el cliente es posible enviar comandos al servidor, pero requiere que el usuario se autentique contra el servidor; el acceso se concede a los usuarios que están configurados como miembros del personal (staff) a través de la interfaz web. Cuando el cliente está en ejecución, escribe help o ? para obtener los comandos disponibles. Escribe help comando para obtener más información sobre el comando específico. Iniciar un bot monitor se hace editando primero el archivo hale/src/conf/modules.conf, por ejemplo usando una configuración IRC como la siguiente:

[uniqueKeys]
irc = botnet, *grammar
Descargar herramienta