en temas anteriores mencionamos que BeEF categoriza los plugins en
Preth00nkers-M:modules preth00nker$ pwd
/Users/preth00nker/beef-pret/modules
Preth00nkers-M:modules preth00nker$ ls -ls
total 0Así que por clarificar el ejemplo agreguemos un plugin en la categoría browser.
0 drwxr-xr-x 31 softwareallies staff 1054 Oct 10 20:51 browser
0 drwxr-xr-x 8 softwareallies staff 272 Sep 9 13:50 chrome_extensions
0 drwxr-xr-x 10 softwareallies staff 340 Sep 9 13:50 debug
0 drwxr-xr-x 30 softwareallies staff 1020 Sep 9 13:50 exploits
0 drwxr-xr-x 20 softwareallies staff 680 Sep 9 13:50 host
0 drwxr-xr-x 8 softwareallies staff 272 Sep 9 13:50 ipec
0 drwxr-xr-x 3 softwareallies staff 102 Sep 9 13:50 metasploit
0 drwxr-xr-x 9 softwareallies staff 306 Sep 9 13:50 misc
0 drwxr-xr-x 11 softwareallies staff 374 Sep 9 13:50 network
0 drwxr-xr-x 6 softwareallies staff 204 Sep 9 13:50 persistence
0 drwxr-xr-x 17 softwareallies staff 578 Sep 9 13:50 phonegap
0 drwxr-xr-x 16 softwareallies staff 544 Sep 9 13:50 social_engineering
Preth00nkers-M:modules preth00nker $ cd browser/
Preth00nkers-M:browser preth00nker $ mkdir my_first_plugin
Preth00nkers-M:browser preth00nker $ cd my_first_plugin/Preth00nkers-M:my_first_plugin
Y agregaremos 3 archivos para comenzar.
Preth00nkers-M:my_first_plugin preth00nker $ ls -ls
total 32
16 -rw-r--r-- 1 softwareallies staff 4993 Sep 9 13:50 command.js
8 -rw-r--r-- 1 softwareallies staff 823 Sep 9 13:50 config.yaml
8 -rw-r--r-- 1 softwareallies staff 2506 Sep 9 13:50 module.rb
Hasta ahora nuestro plugin no aparecerá en los modulos disponibles para lanzar en la interface de de usuario de BeEF, asi que pongamos el código necesario para ello.
//command.js
beef.execute(function() {
alert("hi there..");
});
//config.yaml (Los espacios son importantes para los archivos yaml)
beef:
module:
my_first_plugin:
enable: true
category: "Browser"
name: "My First Plugin"
description: "this is just a test"
authors: ["YourName"]
target:
working: ["All"]
//module.rb
class My_first_plugin < BeEF::Core::Command
def pre_send
print "This is before.."
end
def self.options
end
def post_execute
print "All is done.."
end
end
con lo anterior deberíamos estar viendo nuestro modulo agregado en la interface gráfica de BeEF disponible para ser lanzado contra un blanco:
de modo que la víctima ejecutara el código localizado en el archivo command.js:
Bien, ahora tenemos nuestro modulo corriendo, el siguiente paso es extender la funcionalidad. aunque seguramente esto dependerá de lo que ustedes quieran lograr con su módulo, yo les puedo ayudar explicando las opciones que BeEF ofrece para cada archivo, estos temas son bastante largos y serán explicados en siguientes entradas, sin embargo, como material de apoyo, nuevamente les recomiendo leer los anteriores artículos.
espero hayan disfrutado el artículo y nos leemos la próxima ;).
saludos!
No hay comentarios:
Publicar un comentario