Pentesting BeEF; & API Rest (automate tasks) (vol. II)


BeEf-2-Blog-002

BeEf-2-Blog-003
Captura 1: FinalArtículo” = Pentesting BeEF; & API Rest (automate tasks) (vol. I) 😉

BeEf-2-Blog-004

BeEf-2-Blog-005


BeEf-2-Blog-006


$~ A "diferencia" de "otras herramientas de <pentesting web>", <Beef> se centra en el contexto de los "clientes" y utilizando un <"hook" en "Javascript">, - permite - <crear> una <"red" de "bots"> que "pueden ser controlados" desde un "panel de control central". Basta con que un <usuario> "navegue" por un <sitio web> que contenga dicho <hook> para que <automáticamente> forme parte de esa <"red" de "bots">.

- Hay que "tener en cuenta" que dicho <hook> no "explota" ninguna <"vulnerabilidad 0day"> sobre los <navegadores web> o cosas similares, sino que simplemente "incluye" varias rutinas desarrolladas en <Javascript> que "realizan peticiones" contra el "panel de control de <Beef>" y desde dicho "panel de control", se pueden "enviar instrucciones al <hook>" para que "realice tareas" sobre el entorno (navegador web) de la <víctima>, de esta forma "es posible acceder a información" básica del <navegador web>, <activar> o <desactivar> "plugins" y "extensiones" o incluso <forzar la navegación hacia sitios web arbitrarios>, obviamente sin la debida autorización por parte de la <víctima>. 

BeEf-2-Blog-007
~$ En la <siguiente imagen> (inferior) se "muestra" la <"arquitectura" de "Beef"> y como se puede ver, se "compone" por un "servidor central" del <C&C> y una serie de <zombies> que se encuentran <“infectados”> por el <hook>. 

- Ahora bien, esta supuesta <“infección”> no es "persistente" ni mucho menos, ya que se trata simplemente de un <fichero "Javascript"> se "ejecuta" en el contexto de la <página web> visitada por la <víctima>, basta con cerrar dicha "página web" y problema resuelto ;)

BeEf-2-Blog-008 La <imagen anterior> (superior) ha sido "capturada" del <"sitio web" oficial de "Beef"> y "<se puede apreciar perfectamente el funcionamiento de la herramienta que es simple y a su vez muy potente>".

- Cuando una <víctima> "accede" a una <página web> que contiene el <hook> y a menos que exista algún "bloqueo" de las <peticiones "HTTP"> entre el <"C&C" de "Beef"> y la <"víctima">, aparecerá <automáticamente> en el "panel de control" un nuevo <bot>.

BeEf-2-Blog-009·\ A partir de aquí, es el momento de "establecer el <vector> de <ataque>". Debes "crear una <página web>" que incluya el <script> “<hook.js>” y evidentemente, entre mejor elaborado sea dicho vector, mejores resultados (+ víctimas) lograrás conseguir. Aquí entra en juego la <creatividad> y "definir <quien o quienes> van a ser los <objetivos> del <ataque>", de tal forma que puedas ofrecer algo que tus <víctimas> "potenciales" puedan querer y les invite a entrar y permanecer en el <sitio web> que <ejecuta> el "hook", aquí las <técnicas de "ingeniería social"> son <vitales> y "ofrecer un servicio" perfectamente “<legitimo>” como un "juego <online>" o algún <servicio web> concreto, puede ser lo suficientemente "atractivo" para la <víctima> como para que decida "visitar el sitio" y permanecer en él algún tiempo. Dicha página lo único que necesita tener es esto;

BeEf-2-Blog-010- Y así de "fácil" ;)

/- Cuando una <víctima> "accede" a la <página web> "maliciosa", <automáticamente> se convierte en un <bot> del <C&C> de "Beef", tal como "podéis" <observar> en la <"siguiente imagen"> (inferior); 

BeEf-2-Blog-011

BeEf-2-Blog-012


BeEf-2-Blog-013

BeEf-2-Blog-014


-) Ahora viene la <parte "divertida">, <Beef> cuenta con una <API Rest> que "permite" la <"automatización" de "tareas">, algo que desde luego viene muy bien cuando se deben <"gestionar múltiples víctimas"> y resulta muy "ineficiente" (y tedioso) hacerlo desde la <interfaz web>. Su uso es bastante simple y "como habéis visto" en <líneas anteriores>, solamente es "necesario" contar con la <API Key> que "genera" la "herramienta" de forma <automática> cuando se levanta <Beef>.

- Con dicha <API Key> se pueden "invocar" los <endpoints> "definidos" en la <API> y de esta forma, "obtener información" del <C&C> de <Beef> en "formato <JSON>". Para hacer "pruebas" simples se puede utilizar una "herramienta" con <CURL> o <WGET> y posteriormente, utilizar un <lenguaje> como "Python" o "Ruby" para <crear rutinas> que "permitan invocar" múltiples <endpoints> y hacer cosas mucho más interesantes.

BeEf-2-Blog-015BeEf-2-Blog-016(- Como "podéis <ver>" (<"imagen superior">), "aparecen" los <bots> que salen en el <panel de control> de "Beef" y en este caso, cada “<hooked-browser>” puede encontrarse "online" u "offline" y cuenta con un <identificador> (atributosession”) que "puede ser utilizado" para <realizar consultas> contra ese <bot> concreto como por ejemplo;

BeEf-2-Blog-017BeEf-2-Blog-018-) En este caso, el <"valor" “session” del "bot"> nos "permite acceder" a todos los <detalles> del "navegador web" de la <víctima>, algo que puede ser utilizado para posteriormente <"ejecutar ataques"> dirigidos contra dicho <bot>.

BeEf-2-Blog-019BeEf-2-Blog-020- También "podéis" <acceder> a los <logs> que se han "producido" para un <bot> concreto, nuevamente partiendo del "valor" “<session>” del <bot> en cuestión.

BeEf-2-Blog-021BeEf-2-Blog-022\- <Listar> los <módulos> desde la <"API Rest"> no tiene mayores beneficios, ya que es lo mismo que se puede hacer desde el "navegador web" accediendo directamente al <panel de "administración">, sin embargo si que es <importante> "obtener el identificador" de cada <módulo> para poder "ejecutarlo" contra uno o varios <bots> de forma <programática>, dicho "identificador" se puede <obtener> de la "respuesta a la invocación del servicio anterior".

- <Existen> muchos más <endpoints> en la <API Rest> de <Beef> que "se encuentran documentados" en el <siguiente "enlace"> ("clic" <imagen inferior>);

BeEf-2-Blog-023/- Esto "permitirá" <acceder> a todos los "<detalles> de <configuración>" del "panel" de <Beef> y <controlar programáticamente> todas las <víctimas capturadas>, algo que desde luego "resulta muy interesante" :)

BeEf-2-Blog-024

Salu2


TonyHAT - 389

Anuncios

Un comentario en “Pentesting BeEF; & API Rest (automate tasks) (vol. II)”

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s