Así que, comencemos con el tema como tal..
Para obtener una copia de BeEF la forma mas fácil sería clonar el proyecto directamente desde el repositorio oficial del proyecto https://github.com/beefproject/beef. si ya cuentas con acceso a github entonces en la parte derecha de la página deberás ver la leyenda HTTPS clone URL de forma que si ya posees un cliente de git en tu maquina bastará con ir a tu consola y teclear el comando
~$ git clone https://github.com/beefproject/beef.git my_beef_copy
con lo anterior deberás obtener una copia (de solo lectura para el repositorio oficial) para uso personal, ahora, si tu finalidad es contribuir con el proyecto entonces primero deberás hacer un fork del proyecto a tu repositorio personal de github. esto se logra clickeando en el botón fork del repositorio oficial logeado con tu cuenta de github y despues clonando el proyecto desde tu repositorio personal. de esta forma podras llevar un historial de commits y guardando tus cambios en tu cuenta personal para que estén disponibles en cualquier maquina que tenga un cliente git.
Bien. Hasta este punto ya deberiamos poseer una copia local para hacer pruebas presumiblemente con el nombre my_beef_copy en nuestra carpeta personal. de forma que podemos comenzar a jugar con BeEF.
lo primero que haremos será ejecutar beef desde la consola y ver que es lo que pasa.
~$ cd my_beef_copy; ls -ls
total 25080
8 -rw-r--r-- 1 softwareallies staff 83 Sep 7 18:19 BeEFLive.sh
8 -rw-r--r-- 1 softwareallies staff 1208 Sep 7 18:19 Gemfile
8 -rw-r--r-- 1 softwareallies staff 1651 Sep 7 18:22 Gemfile.lock
8 -rw-r--r-- 1 softwareallies staff 2191 Sep 7 18:19 INSTALL.txt
8 -rw-r--r-- 1 softwareallies staff 2208 Sep 7 18:19 README
8 -rw-r--r-- 1 softwareallies staff 2206 Sep 7 18:19 README.mkd
16 -rw-r--r-- 1 softwareallies staff 4781 Sep 7 18:19 Rakefile
8 -rw-r--r-- 1 softwareallies staff 195 Sep 7 18:19 VERSION
16 -rwxr-xr-x 1 softwareallies staff 5408 Sep 7 18:19 beef
24936 -rw-r--r-- 1 softwareallies staff 12767232 Sep 15 14:09 beef.db
8 -rw-r--r-- 1 softwareallies staff 1119 Sep 7 18:19 beef_cert.pem
8 -rw-r--r-- 1 softwareallies staff 916 Sep 7 18:19 beef_key.pem
16 -rw-r--r-- 1 softwareallies staff 4453 Sep 7 18:19 config.yaml
0 drwxr-xr-x 18 softwareallies staff 612 Sep 7 18:19 core
0 drwxr-xr-x 4 softwareallies staff 136 Sep 7 18:19 docs
0 drwxr-xr-x 17 softwareallies staff 578 Sep 7 18:19 extensions
8 -rwxr-xr-x 1 softwareallies staff 732 Sep 7 18:19 install
8 -rw-r--r-- 1 softwareallies staff 3953 Sep 7 18:19 install-beef
0 drwxr-xr-x 5 softwareallies staff 170 Sep 7 18:19 liveCD
0 drwxr-xr-x 15 softwareallies staff 510 Sep 8 12:13 modules
0 drwxr-xr-x 7 softwareallies staff 238 Sep 7 18:19 test
8 -rwxr-xr-x 1 softwareallies staff 218 Sep 7 18:19 update-beef
~$./beef[18:32:52][*] Bind socket [imapeudora1] listening on [0.0.0.0:2000].
[18:32:52][*] Browser Exploitation Framework (BeEF) 0.4.4.8-alpha
[18:32:52] | Twit: @beefproject
[18:32:52] | Site: http://beefproject.com
[18:32:52] | Blog: http://blog.beefproject.com
[18:32:52] |_ Wiki: https://github.com/beefproject/beef/wiki
[18:32:52][*] Project Creator: Wade Alcorn (@WadeAlcorn)
[18:32:52][*] BeEF is loading. Wait a few seconds...
[18:32:53][*] 10 extensions enabled.
[18:32:53][*] 184 modules enabled.
[18:32:53][*] 3 network interfaces were detected.
[18:32:53][+] running on network interface: 127.0.0.1
[18:32:53] | Hook URL: http://127.0.0.1:3000/hook.js
[18:32:53] |_ UI URL: http://127.0.0.1:3000/ui/panel
[18:32:53][+] running on network interface: 127.94.0.1
[18:32:53] | Hook URL: http://127.94.0.1:3000/hook.js
[18:32:53] |_ UI URL: http://127.94.0.1:3000/ui/panel
[18:32:53][+] running on network interface: 192.168.1.73
[18:32:53] | Hook URL: http://192.168.1.73:3000/hook.js
[18:32:53] |_ UI URL: http://192.168.1.73:3000/ui/panel
[18:32:53][*] RESTful API key: 590b4960510e7682e248ea570f954ef6f5422132
[18:32:53][*] HTTP Proxy: http://127.0.0.1:6789
[18:32:53][*] BeEF server started (press control+c to stop)
Lo anterior nos indica que ya tenemos la interface web (para atacantes) corriendo por defecto en el puerto 3000 de modo que podemos ir cómodamente a nuestro navegador y visitar el portal http://http://localhost:3000/ui/panel para acceder. Si hasta el momento no hemos modificado ninguna configuración, deberíamos ser capaces de acceder con la cuenta beef:beef y ver algo como:
Una de las primeras cosas que resalta a la vista seguramente será la elegante interface que caracteriza a beef en su versión 0.4.4.x. Esta interface es soportada por una poderosa API dedicada al diseño ágil de interfaces FrontEnd llamada ExtJS desarrollada por la empresa Sencha ( http://www.sencha.com/ ). A estas alturas seguramente se estarán preguntando
porque nos interesa que BeEF utilize ExtJS como herramienta para el manejo de la interface UI?
Pues bien, la respuesta a esa pregunta es simple..
Existen dos tipos de componentes de software que están disponibles para su desarrollo en el proyecto. el primero comúnmente llamado modulo, el segundo llamado extensión (citando el wiki del proyecto beef).
Que diferencia existe entre un modulo y una extensión?
Nuevamente la respuesta es simple si nos planteamos la siguiente situación.
Si tu desarrollador quieres implementar un componente que modifique el comportamiento general de beef, entonces estamos hablando de una extension (ejemplo: XssRays, el cual es utilizado para detectar si las URI's path, formularios y ligas son vulnerables a xss). por otro lado, si lo que se desea es desarrollar un componente que amplíe el uso de beef estamos muy ciertamente hablando de un módulo (ejemplo: detector de versiones de chrome).
Ahora que sabemos las diferentes opciones que BeEF ofrece para desarrollo ha llegado la hora de realizar nuestra primera intrusión..
con la interface de beef abierta visitaremos la siguiente dirección http://localhost:3000/demos/butcher/index.html regresaremos a la Web UI y veremos que dentro del folder online browsers -> localhost hay una nueva máquina detectada correspondiente a nuestro navegador y sistema operativo.
en la siguiente entrada hablaremos de como está constituida la estructura de BeEF, los archivos por defecto de un módulo y el uso de cada uno de ellos.
saludos!
No hay comentarios:
Publicar un comentario