Hay que tener en cuenta una sencilla pregunta: ¿El exploit necesita un payload? Según la respuesta a esta pregunta, el nuevo módulo tendrá que heredar de Module o PayloadModule. El nombre de la clase siempre será el mismo BoomerModule.
Existe una función obligatoria que es run, y tiene que llevar la funcionalidad que uno quiere que el módulo ejecute. Luego existe una función opcional, llamada check, y que se utiliza para comprobar si un sistema es vulnerable a ese módulo, no es obligatorio, porque en ocasiones está funcionalidad no es necesaria.
El desarrollador del módulo puede extender los comandos disponibles con la siguiente funcionalidad (pueden ser operaciones sin parámetros, con uno o varios):
También es posible eliminar un cierto comando, por ejemplo, si no es necesario configurar opciones en un módulo y es todo por defecto, se puede quitar put:
Las opciones necesarias del módulo se agregan a un mapa llamada options, como se aprecia en la próxima captura. La clave del mapa es la opción, el valor es una lista, el primer valor es la ayuda que se quiere proporcionar al usuario, el segundo el valor por defecto, y el tercero indica si es una opción obligatoria o no, si está en True, el usuario tendrá que proporcionar un valor antes de lanzar el módulo.
Además, es interesante que se le dé una información al módulo:
Por último, hay que buscarle una localización, dentro de la carpeta modules, que se divide según sistema operativo y funcionalidad.
Por ejemplo, se quiere desarrollar un módulo que muestre la información de red en Linux, para esta tarea no es necesario ningún Payload y la funcionalidad check tampoco se necesita, en este caso podríamos tener un parámetro (por ejemplo, la interface de red), o no necesitarlo y eliminarlo. Se agrega una nueva funcionalidad “tfm”. Su localización sería en “linux/gathering information” El módulo quedaría como se muestra a continuación:
Y un ejemplo del uso de este módulo que hemos creado:
Como se ha podido observar a lo largo del post, la creación de módulos para BoomER no es nada complicado. ¿Sugerencias? Hasta la próxima.
No hay comentarios:
Publicar un comentario