domingo, 31 de agosto de 2014

Architeuthis [I]: camuflando una Raspberry Pi en una regleta de enchufes

¡Saludos!

    Los que me seguís por twitter probablemente ya hayais visto alguna imagen de uno de los proyectos en los que ando enredados este verano y que he bautizado como Architeuthis: usar una raspberry pi camuflada para pivotar dentro de una red. Es decir, alojar una raspberry pi en una regleta de enchufes y poder dejarla conectada por ethernet sin que nadie sospeche; de tal forma que nosotros podamos controlarla desde el exterior de la red. De este modo podremos usarla como pivote para realizar escáneres y ataques desde dentro.

   En esta serie de entradas iré contando los pasos que he estado (y estoy) siguiendo, a modo de bitácora por si alguien quiere hacerse un dispositivo similar. Si no te gusta trastear, y te sobra la pasta puedes optar por comprar un pwn'n'plug o cualquier otro hardware similar, que suelen ser herramientas mucho más completas, ocupan menos, y tienen un diseño agradable.

  La regleta que estoy usando es una que tenía por casa y que posee espacio suficiente para alojar la RP y la toma de corriente.



  Lo que más me gusta de la regleta -a parte del espacio- es que si os fijais en la esquina inferior derecha podeis observar que tiene una entrada y una salida para RJ11 , que podremos eliminar y pasar por ahí un cable RJ45 para conectarnos por ethernet sin que nadie sospeche.

   Para poder alojar la raspberry pi deberemos de eliminar todo el sistema eléctrico y aquellas estructuras de plástico que nos estorben. Lo primero es remover los tornillos y abrir separar la carcasa para acceder al interior. Es muy importante NO TIRAR EL CABLE una vez que lo separemos del cabezal, ya que lo usaremos para alimentar la raspberry. En la imagen ya he quitado el cable, las estructuras de seguridad y el interruptor.



    La mayoría de las partes se pueden eliminar con unos buenos alicates. En el caso de los elementos estructurales de plástico lo mejor es usar una dremel y un cabezal de corte (la dremel que he me pillado es de 15€, y le estoy sacando bastante partido). Mucho cuidado con los macarrones de los tornillos, tened en cuenta donde están situados para no cortarlos :P.



  En la foto de arriba se puede observar el resultado. Si hemos hecho los deberes todo debería de encajar ahora:


  El cable original de la regleta lo reutilizaremos para alimentar la raspberry pi. La forma más sencilla de hacerlo es usando dos fichas de empalme:



Una vez tengamos todo sólo queda ensamblarlo. En los siguientes capítulos empezaremos a configurar e instalar las herramientas.


Byt3z!

5 0verl0ad Labs: agosto 2014 ¡Saludos!     Los que me seguís por twitter probablemente ya hayais visto alguna imagen de uno de los proyectos en los que ando enredados ...

martes, 26 de agosto de 2014

Buscando equipos en red con pyMerc

Tiempo ha desde la última vez que escribí por estos lares, voy a ver si a partir de ahora recupero algo de regularidad (o lo intento). En esta ocasión os traigo una aplicación que he hecho como resultado de un colash de cosas que quería probar hace tiempo, de ahí las distintas cosas en las que me he basado para realizarla.

PyMerc es una aplicación que busca equipos en la red utilizando la API de nmap (python-nmap) para Python realizando un barrido ping. Una vez encuentra equipos los almacena en una base de datos sqlite que permite su futura edición para asignar nombres a cada equipo encontrado en función de su MAC.
Con los datos almacenados estos pueden ser mostrados por la terminal o bien lanzar un servidor web con el framework Bottle para ver los resultados desde el navegador.

Como he dicho quería probar varias tecnologías y he creado esta aplicación para probarlas. Probablemente la mejoraré/corregiré en un futuro o formará parte de un proyecto más grande, pero el tiempo dirá.

Capturas:







Por último, para descargarlo y las instrucciones para utilizarlo en Github:
https://github.com/Aetsu/pyMerc

Un saludo y nos leemos en breve (o no :D),




5 0verl0ad Labs: agosto 2014 Tiempo ha desde la última vez que escribí por estos lares, voy a ver si a partir de ahora recupero algo de regularidad (o lo intento). En es...

martes, 19 de agosto de 2014

Jugando con las redirecciones

¡Saludos!

  Más allá del clásico uso para phising, las webs que permiten redireccionar hacia donde nosotros deseamos pueden ser aprovechadas en otros escenarios para nuestro beneficio.

  Cuando se protegen áreas de una web que requieren cierto privilegio para su visualización (áreas de miembros, zonas de administración, estadísticas, etc.) se suele utilizar una redirección a través de un código 3xx para evitar que un usuario sin dichos privilegios pueda acceder. Realizar esto con PHP, por ejemplo, es algo trivial. ¿Pero qué ocurre si no se implementa de la forma correcta? Veamos el siguiente ejemplo:

<?php
...
...
if ($_SESSION['log'] !== TRUE) {
header("Location: http://foo.es/login.php);
}
....
.....
?>
<h1>Texto que no deberías de poder ver porque no estás logueado</h1>

   En el ejemplo vemos como símplemente se utiliza la función header() para realizar la redirección pero no se corta el flujo de lo que se muestra después, por lo que si hacemos que se ignore la petición de redirección podremos ver esa web restringida.

   El bypass de esta medida se puede realizar fácilmente colocando un proxy en medio para que bloquee el response con el 302, o elimine el header "location". Otra opción mucho más rápida de implementar es utilizar algún add-on que bloquee las redirecciones cuando se navega, como "NoRedirect" de Firefox. Activando el add-on podremos acceder a las zonas restringidas sin estar logueado.


    Otra situación donde podemos abusar de una redirección es cuando ésta es realizada a través de JavaScript (usando document.location.href por ejemplo) y la dirección es pasada a través de una variable a la cual se le realiza un filtrado con htmlentities o funciones similares. De este tipo suelen ser aquellas webs que muestran un mensaje de "Serás redireccionado en X segundos" o te muestran una alerta de que estás abandonando el dominio.

  En estas situaciones estamos ante un XSS no-persistente, ya que podemos usar el viejo truco de "data:text/html;base64,AquiJavaScriptenBase64" para ejecutar javascript.  Como ejemplo:

<script language="JavaScript" type="text/javascript">
document.location.href = '<?php echo htmlentities($_GET['url']); ?>';
</script>



Byt3z!




5 0verl0ad Labs: agosto 2014 ¡Saludos!   Más allá del clásico uso para phising, las webs que permiten redireccionar hacia donde nosotros deseamos pueden ser aprovechad...
< >