RSS |

Blog de Omar

Just another WordPress weblog

Advertisement

Estúpido y sensual EXCEL: Me robo tu información con una encuesta

portada

 

Realizar hacking es más fácil de lo que parece o al menos eso es lo que trato de hacer parecer con este blog y hago lo propio cada vez que dicto capacitaciones en diversas empresas. Lo cierto es que lo único que necesitamos muchas veces es tan sólo un momento de lucidez, un momento de espiración, un poco de alcohol y dejar que las ideas fluyan a la buena o a la mala (cuando el cliente nos mete presión peor que Diego Godín cuando defiende a su selección) .

Después de una semana de agonía donde vi caer una vez mas a la selección peruana por las clasificatorias Rusia 2018, he decidido escribir sobre unas de las técnicas que suelo utilizar cuando nos solicitan realizar pruebas de Ingeniería Social, sólo necesitamos mezclar algunas técnicas del tipo spear phishing y obtendremos resultados muy interesantes. Vamos a utilizar un programa que todos suelen utilizar, el estúpido y sensual EXCEL.

¿Cómo lo vamos hacer?

  1. Primero, la idea es  utilizar Ingeniería Social para esto, hay que hacer que nuestro archivo Excel llegue a las manos de nuestra amigo víctima y que sea lo suficientemente creíble para que pueda ser abierta (aquí esta el ingenio y el verdadero trabajo).
  2. Una vez que nuestro causa víctima haya abierto el archivo, todo cae por su peso, producto de la ingenuidad, de la estupidez confianza que tienen las personas para ejecutar MACROS en los archivos Excel. Hay que admitirlo, a las personas les gusta Excel, al diablo con las Bases de Datos Oracle, MySQL, etc; la mejora base de datos para el común de los mortales un archivo XLS.
  3. El archivo Excel contiene una pequeña encuesta pero detrás de esto se ejecuta una MACRO muy linda, la macro hace lo siguiente:
    1. Crea unos archivos tipo LOGS en el directorio D:\ del computador, estos archivos sólo los utilizo como evidencia de que se puede ejecutar cualquier comando.
    2. La MACRO ejecuta comandos FTP y realiza una conexión a un servidor externo en Internet y envía archivos hacia un lugar lejano, muy lejano.
    3. Finalmente, la MACRO buscar archivos con una extensión específica, para la prueba de concepto (POC) sólo busca archivos PDF en el directorio D:\ ¿quieren algo más sofisticado? pues esfuércense un poquito.

  4. Finalmente, aparece un mensaje de agradecimiento indicando que han enviado los datos solicitados para la encuesta. A veces hasta te nuestro súper amigo víctima envía un correo indicando que ya respondió la encuesta y que merece un ascenso por ser tan proactivo.

Les dejo una imagen de la encuesta que se me ocurrió para el evento de ISACA del año 2015, cuando dabas CLIC en el botoncito “Enviar Encuesta” has sido OWNEADO.

2

 

Dejen volar su imaginación: algunas variantes interesantes

1. Que tal si …. obtenemos las contraseñas de las redes Wireless que almacenan los computadores.

Se me ocurre que en vez de ejecutar un simple IPCONFIG como en el ejemplo anterior, ejecutamos un comando para obtener las contraseñas en texto claro de las redes inalámbricas almacenadas en el computadores de nuestra víctima.

3

 

Y ya está, no necesitamos hacer mucho esfuerzo para obtener la contraseña de la red inalámbrica, además,  imaginemos un hacker un poco más interesado y preocupado en poder obtener información seguro que ya realizó algo de wardriving previo al envío del archivo Excel. Aquí puedes aprender como realizar wardriving de manera rápida y sencilla [AQUÍ].

 

2. Que tal si…. ejecutamos comandos interesantes

Y finalmente, se me ocurren ejecutar comandos interesantes para obtener información del computador de una organización y que puede servirnos para ir escalando privilegios en otros computadores de la organización, a continuación alguno de los comandos que podríamos utilizar:

  1. Net user: Para obtener los usuarios locales del sistema operativo o para agregar usuarios.
  2. Net localgroup Administradores [Administrators]: Para obtener los usuarios que pertenecen al grupo de Administradores
  3. Arp –a: Para obtener el listado de direcciones IP con las que ha estado en comunicación el computador.
  4. Netsh advfirewall firewall show rule name=all: Para obtener las reglas del firewall del computador.
  5. dir /s/b  D:\*.pdf: Para buscar archivos PDF en el directorio D:\ del computador de manera recurrente.
  6. Lo que sea fruto de tu imaginación.

4

 

¿Cómo prevenimos este tipo de ataques?

  1. Si nos encontramos en un dominio, es decir, nuestra computadora se encuentra attachada a un Active Directory, podemos configurar una GPO que deshabilite la ejecución de Macros.

    5
    Nota: Debes deshabilitar las macros para programa de Office, es decir, deshabilitar para Microsoft Word, Microsoft Excel, Microsoft Power Point, etc. Los excel son los mas peligrosos por lo general porque son los mas comunes.

    Nota2: Hay forma de sacarle la vuelta a la aplicación a la aplicación de la política del AD, toca guardar el archivo Excel en la Trusted Location, que son directorios donde la GPO no aplica. Absurdo por todos lados.

    7

  2. En general, no me da ninguna confianza ejecutar ningún archivo que contiene una MACRO. El mensaje de advertencia es tan grande que desanima a cualquiera abrir un archivo de este tipo. No lo abras!!

6

 

Listo señores, el resto de lo que pueden hacer con Excel se los dejo a su imaginación. Nos vemos y happy hacking!! wq!

 

************************************************************

Popularity: 7% [?]

Post Relacionados

Hookworm: Un backdoor silencioso con PHP – Parte 02

Como lo prometido es deuda, estoy tratando de escribir más seguido en el blog. Dejando de lado el tedioso proceso de documentación de los proyectos que estoy realizando, dejando de lado el calor infernal que nos asfixia en Lima durante este verano y dejando de lado la pereza dominical que me invade cada fin de semana que me estoy atreviendo a escribir un nuevo post en el blog.

Antes de comenzar, es casi un requisito leer el post anterior donde habíamos revisado algunas técnicas backdoors que ahora vamos a utilizar: [Backdoors en Linux – Parte 01]

Google Hacking y backdoors

Hay algunos backdoors que son fácilmente de ubicar a través de algunas técnicas de Google Hacking, por lo general estos archivos son utilizados porque son empaquetados y están listos para ser utilizados. Los más comunes son los famosos C99.PHP, C100.PHP, R57.PHP y todas sus variantes. De hecho es muy fácil encontrar servidores que han sido vulnerados y cuyos sysadmins aun no han advertido del hacking ocurrido sobre sus servidores.

image

 

image

 

Ok y si son tan buenos backdoors que todos utilizan, ¿cuál es el problema? de hecho si hay problema, cuando se instalan estos backdoors las solicitudes a estas páginas se realizan a través del método GET y son muy evidentes cuando se revisan los logs, es decir, un administrador de sistemas puede notar algún movimiento extraño al llamar a un archivo que normalmente no forma parte de la aplicación. De hecho hay dos (02) maneras básicas para poder detectar posibles backdoors que podría utilizar un administrador de sistemas:

  1. A través de la evaluación de los logs del servidor: Esto se podría hacer manualmente, es decir buscar archivos clásicos utilizados como backdoors, [AQUÍ] una lista de los más utilizados. Existen herramientas que automatizan la revisión de los archivos de eventos en busca de palabras típicas de un evento de hacking.

    image

    Una herramienta muy interesante para analizar logs de un servidor APACHE se llama LORG y encuentra todo tipo de ataques realizados al servidor. Pueden encontrar mayor información del proyecto LORG en el siguiente enlace: [AQUÍ]. Yo lo instalé para probarlo y ver si detectaba un backdoor muy conocido como el C99.PHP y no lo identificó, realicé algunos ataques manuales de Inyección de Código SQL y funcionó muy bien, aquí si detecto el ataque, les dejo algunas gráficas para que vean como funciona.

    image

  2. A través de scripts que revisan los archivos tipo PHP en busca de funciones “maliciosas” en el servidor, es decir, funciones que no deberían ser utilizadas normalmente, por ejemplo, funciones: EVAL, SYSTEM, EXEC, etc etc. Al final lo que hace este script es buscar funciones dentro de los archivos y nos muestra un resumen de los archivos que ha encontrado con información de posibles puertas traseras.

    Existen varias herramientas que hacen esta revisión:

    - Neopi [Enlace AQUÍ]: De manera personal debo decir que este script realizado en Python no me gusto mucho, me mostraba muchos falsos positivos a pesar de que utilicé los diferentes mecanismos de detección, a pesar de eso pueden probarlo y sacar sus propias conclusiones.

    - PHP SHELL Detector [Enlace AQUÍ]: Este es mucho más simple de utilizar, basta copiar los archivos en el directorio raiz de nuestro apache y ejecutarlo desde el browser. Me gustó porque detectó los backdoors que había colocado en mi servidor de prueba. Lo recomiendo totalmente, aquí les dejo unos printscreen de los resultados obtenidos, en la imagen se puede observar como detectó un archivo PHP ofuscado y el clásico C99.PHP.

    image

    image

  3. Otro mecanismo para detectar los backdoors es buscar de manera manual funciones maliciosas. ¿De manera manual? Pues, es como si tuviéramos que buscar un string en unos archivos que están en determinada carpeta.

image

 

 

Hookworm: Un backdoor muy silencioso

Todas las técnicas arriba mostradas para detectar puertas traseras son las más básicas y seguro funcionan muy bien pero si queremos esconder algún backdoor hay muchas formas interesantes de poder hacerlo y obviamente sin que alguien pueda advertir de su presencia. Voy a detallar los pasos para tener un backdoor en el servidor, aunque primero voy a detallar un escenario para que se comprenda mejor:

Escenario:

Un atacante tiene acceso a través de SSH a un servidor Linux ya que obtuvo la contraseña, un patrón de contraseña utilizado por el administrador de servidores para todos los servidores de la organización. El atacante sabe que el acceso a través de SSH solo es posible desde la red LAN de la empresa y que sólo el puerto TCP/80 del servicio Apache se encuentra expuesto a Internet. Además, cabe la posibilidad que el administrador de servidores restrinja el acceso al puerto SSH a ciertas direcciones IP por lo que es imperativo dejar un backdoor que cumpla con tres (03) características: que le permita acceder con privilegios del usuario ROOT,  sea accedido desde Internet y que además sea lo mas sigiloso posible para pasar desapercibido.

Pasos a realizar:

1. Crear y compilar un archivo escrito en C para obtener un ejecutable. Configurar el SETUID para que se pueda ejecutar con permisos de ROOT.

2. Modificar un archivo el servidor web, de preferencia un archivo PHP que ya existe y añadir la siguiente línea:

image
3. Si reparan en el archivo PHP creado en el paso 02, lo que realmente hace es recibir la variable enviado a través de la cabecera HTTP, en este caso las cookies. Estas cookies recibidas son ejecutadas en el sistema operativo para acceder a cierta información. Lo único que nos falta es poder ejecutar comandos con privilegios de ROOT. Es aquí donde entra el paso 01, con el archivo escrito C y configurado el SETUID podemos obtener estos permisos. Nada complicado por si lo notan, sólo que sigiloso ya que no son enviadas a través de GET o POST.

A. Entonces creamos el archivo en C y lo compilamos para tener un ejecutable. Esto ya lo hicimos en un anterior POST donde está mejor explicado, puedes leer el detalle [AQUÍ]

 

B. Desde un navegador web en donde podamos modificar las cabeceras HTTP y colocar un valor en el cookie. Podríamos haber utilizado BURP SUITE o el TAMPER. Yo he utilizado el Burp Suite que se me hace más fácil de utilizar.

image

 

C. Ahora si ejecutamos comandos de manera conjunta con el backdoor que hemos dejado podemos pasar a convertirnos en ROOT y ser felices tan sólo una vez mas.

image

 

Finalmente, podríamos reemplazar la función SHELL_EXEC (  ) con la función EVAL(  ) de PHP para que pueda pasar más desapercibido todavía. Esto lo haremos en el video para no alargar mas el POST. Hasta pronto.

image

Pd: Este POST comenzó a escribirse el domingo 28 de Febrero de 2016 y terminó de escribirse el 09 de Marzo, me estoy haciendo viejo para escribir en el blog Triste. Saludos.

Popularity: 5% [?]

Post Relacionados

  • No Related Posts
Puertas Traseras: Backdorizando un Linux–Parte 01

1Después de mucho tiempo me tomo algo de tiempo para escribir, sin más preámbulo voy a escribir sobre puertas traseras en sistemas operativos basados en Linux. Las puertas traseras o backdoors son mecanismos de acceso que se instalan o configuran en un servidor para poder tener un acceso  rápído y facil al después de haber tenido acceso al mismo. Hace algún tiempo escribí sobre backdoors en sistemas Operativos Windows, aquí puedes ver los posts:

  • Making Metasploit Backdoors – Parte 1 [AQUÍ]
  • Making Metasploit Backdoors – Parte 2 [AQUÍ]

Algunas premisas:

Antes de que inicies a leer este POST, debes tener en cuenta lo siguiente sobre los backdoors:

  1. Un backdoor se puede instalar cuando el sistema ya ha sido vulnerado (obvio pero lo digo por si acaso).
  2. Si alguna vez te dejaron un computador Linux por unos momentos, este post es para PARA TI.
  3. Un backdoor puede ser instalado si es que tenemos un acceso físico al computador. Por ejemplo: “Te dejo la compu un momento, voy al baño”, es aquí donde puedes aprovechar, es tu momento.
  4. La idea de un backdoor es pase lo mas desapercibido posible, es decir, que el sysadmin no sospeche que podemos acceder a su computador/servidor cuando nosotros querramos.

Bueno, sin más preámbulo iniciemos con los métodos para backdoorizar un sistema Linux.

 

Los archivos utilizados en este POST lo pueden descargar desde: [AQUÍ]

Método 01: Setuid Backdoors

Un poco de teoría

Todos hemos escuchado hablar de los permisos en Linux, verdad? obvio que sí pero de pronto algunos nunca escucharon de los permisos GETUID, SETUID y STICKY. Pues este mecanismo de backdoor está asociado a SETUID.

¿Entonces en que consiste el SETUID?

El SETUID es un bit que permite a las aplicaciones ejecutarse con los permisos de su propietario. El concepto puede sonar muy abstracto pero si ponemos un ejemplo es más facil entender, vamos a crear un archivo llamado TEST.C y lo compilamos.

image

 

Ahora vamos a ejecutar el archivo TEST con un usuario distinto al de ROOT y veremos que los comandos CAT /ETC/SHADOW y LS /ROOT no se ejecutarán debido a que no cuentan con los permisos requeridos. Sin embargo, si le asignamos el bit SETUID se logran ejecutar los comandos debido a que ahora cuentan con los permisos de su propietario, es decir, de ROOT.

image

 

Le asignamos el bit SETUID y vemos que se puede ejecutar los comandos.

image

 

Este es sólo un resumen  rápido del bit SETUID pero si aún te quedan dudas de como funciona puedes revisar los siguientes enlaces:

Ahora sí el BACKDOOR

Bueno, ahora que ya vimos algo de la teoría necesaria, vamos a plantar el backdoor en el servidor utilizando SETUID. Vamos a crear un pequeño programa en C en donde se ejecutar una shell con los permisos de ROOT al invocarlo, es decir, cada vez que un usuario diferente a ROOT ejecute este archivo vamos a obtener una SHELL con los permisos de ROOT. Lo que toca es colocar (o esconder) este ejecutable en un lugar en donde nadie pueda sospechar que exista y asi podremos tener una shell para acceder como ROOT cuando quisieramos.

 

image

 

Algunos son mas ingeniosos, es decir, imaginemos que tenemos un Sysadmin algo curioso y encuentra un ejecutable con un nombre extraño y lo ejecuta, caramba!! habremos sido descubiertos y tendremos que buscar una buena excusa para argumentar porque dejamos un backdoor. Debido a eso podemos ser un poco más ingeniosos y hacer parecer nuestro ejecutable malicioso un ejecutable conocido e inofensivo. Miran el siguiente ejemplo:

 

image

 

 

Método 02: Backdoors en Archivos .deb

Los archivos con extensión DEB son los paquetes utilizados por distribuciones Linux basados en Debian. Digamos que es algo así como un .EXE en Windows (algo así). Cuando los archivos .DEB son instalados ejecutan unos comandos de postinstalación, basicamente para borrar algunos archivos temporales creados durante la instalación, pues lo que vamos hacer es editar esos comandos que se ejecutan POST instalación para beneficiarnos. A continuación los pasos para colocar un backdoor en un archivo .DEB:

 

  1. Vamos a utilizar un archivo .DEB que sepamos que el sysadmin va a instalar, digamos que tenemos acceso al repositorio de instaladores que normalmente usa el sysadmin y vamos a colocarle un backdoor.
  2. Vamos a utilizar el archivo sudo.c que creamos en el ejemplo anterior para colocarlo dentro de la nueva estructura del archivo .DEB. Aquí vamos:

 

  • Descargarmos un paquete, en este caso el freesweep.deb pero puede ser cualquiera. Fijense que le hemos puesto la opción –download-only para que no se instale sino que sólo se descargue.
  • Creamos una carpeta de trabajo llamada /tmp/prueba/work y sobre esa carpeta vamos a trabajar y modificar el archivo .DEB

image

 

  • Ahora toca crear el archivo POSTINST que se ejecuta después de instalar el paquete .DEB, en el archivo POSTINST hemos añadido una línea para que nuestro backdoor funcione.

image

 

  • Finalmente, el sysadmin instala el paquete y la instalación generará el archivo /usr/share/menu/freesweep.old en el servidor. Este archivo luego puede ser utilizado por un usuario de menos privilegios para obtener una shell con permisos del usuario ROOT.

image

Algunos detalles:

El segundo método utilizado es algo tedioso si es que vemos que el resultado es el mismo que el primer método, obtener un ejecutable que nos permite acceder como ROOT; además hay ciertas desventajas:

  • El ejecutable malicioso llamado SUDO tendría que haber sido compilado en el mismo servidor o en un servidor con la misma infraestructura (lo que nos quita algo de tiempo)
  • Tardamos mucho en el segundo método, por lo que el primer método por ser más rápido seria a todas luces mucho mas conveniente. Sin embargo, que tal si colocamos un ejecutable que intente conectarse remotamente a través de NETCAT o a través de una conexión reversa. Ese mecanismo es ya conocido y está en portal web de Offensive Security así que no pienso repetirlo en el blog pero sí en el video de manera rápida.

 

Conclusiones:

  1. Nunca le dejes tu computador desbloqueado a nadie, menos con privilegios de ROOT.
  2. Si tu computador Linux ya ha sido vulnerado lo más probable es que te hayan dejado algún backdoor y no te des cuenta. Y si tienes algún ROOTKIT pues….. mejor dile adiós a tu sistema operativo.
  3. Trataré (no prometo nada) escribir más seguido.

 

*****************************************************

Popularity: 7% [?]

Post Relacionados

Routers, Facebook y otras hierbas

Si hay algo que no logro comprender todavía en esta vida es esa estúpida pregunta que me suelen hacer cada vez que menciono el “humilde” oficio al que me dedico, las preguntas varían tanto como entre tomar una Coca-Cola y una Pepsi con los ojos cerrados y es que las estadísticas indican que tod@s siempre terminarán haciéndome tarde o temprano (más temprano que tarde) la misma cojuda pregunta: “¿entonces…. me puedes hackear un facebook?” o algunos más osados todavía me preguntan: “¿me puedes enseñar a hackear un facebook….?”

Digamos que las conversaciones suelen ser bastante escuetas y cada vez que me hacen la trillada pregunta: “¿y a que te dedicas?” ya empiezo a sospechar en que terminará la conversación, por lo general suelo decir soy Ing. de Sistemas para ahorrar palabras y explicaciones insulsas pero nunca faltan los  preguntones, los curiosos, los escarbadores que insisten para saber el detalle de mis actividades cotidianas y como ya les conté, casi siempre termina en la misma pregunta de siempre, es decir, tratando de ultrajar sin piedad el Facebook de una insospechada víctima.

Aquí alguna de mis colecciones que pronto espero colocar en una sección de fotos del Facebook llamada “El Muro de la Fama”.

 

27 28

2014-11-23_09-36-38

2014-11-23_09-39-09

2014-11-23_09-39-28

2014-11-23_09-52-10

 

Sólo tengo una curiosidad adicional, ¿el escenario se repetirá para todas los profesiones?, o sea….. nadie va por la vida pidiéndole a un Ing. Civil que le construya un edificio de cinco pisos cada vez que menciona su profesión, tampoco recuerdo haber escuchado  que desafíen a un actor que estalle en llanto de un momento a otro para recién creerle que es un actor profesional, pffff bobadas everywhere. Ahora si iniciemos con la seguridad.

 

Hackeando Routers hasta llegar al Facebook

Como siempre este blog tiene como objetivo dos (02) cosas, primero aprender a protegernos y segundo conocer las técnicas que utilizan los “delincuentes informáticos” para realizar ataques, como ya se habrán dado cuenta ambas cosas están muy ligadas y no se puede hacer ninguna de las dos cosas por separado.

Hoy vamos aprender como se realizan los ataques masivos a routers, cómo se cambian la configuración de los mismos y como se roban masivamente contraseñas de la tan famosa red social “Facebook”, voy a dividir el post en varias secciones para que quede lo mejor explicado este asunto. Bueno, comenzamos de una vez.

 

1. NMap y la identificación de Routers

Nos vamos a centrar en este post en Routers del tipo Zyxel y para hacer esto necesitamos poder identificarlos y para eso vamos a utilizar la mejor herramienta de todas, NMap por supuesto.  Sólo un detalle adicional, vamos a utilizar NMap junto con Python, de pronto no todos los saben que existe un package que permite trabajar con NMap desde Python y esto es realmente alucinante porque permite realizar conexiones a Bases de Datos, automatizar la identificación de puertos, tabularlos, etc. Así que primero vamos a instalarlo y luego vamos a utilizarlo para escanear nuestro router doméstico.

1

 

Con el script que muestro abajo, lo que hacemos es escanear con NMap nuestro router local, es decir, el router que tiene como dirección IP 192.168.1.1. Ahora… es normal que la primera vez que alguien utilice Python con NMap se maree, especialmente porque el resultado parece no tener una estructura organizada como resultado pero se equivocan, primero miren la imagen del resultado y luego la imagen de la estructura que me he tomado la molestia de hacer para que sea de fácil entendimiento para todos mis lectores Smile.

 

2

 

3

Popularity: 34% [?]

Post Relacionados

Hackeando Android: Ingeniería Social y una linda camiseta

nunca confies en miHace un tiempo atrás leí una novela cuyo título me gustó mucho, Nunca confíes en mí , menudo nombre para una obra literaria no les parece?? La obra narra de manera espléndida el calenturiento y tormentoso amor entre Amanda y Gabriel, dos amigos de colegio que se reencuentran después de largos años despertando sus mas bajas pasiones y viviendo historias sin dudad cotidianas pero que encienden  el morbo de cualquier lector con ánimos de divertirse (mientras los protagonistas no seamos nosotros). El autor de esta obra es el peruano  Renato Cisneros y que tuvo la magnífica idea de terminar la obra de la mejor manera que se puede terminar una (y que contraviniendo las buenas costumbres sociales voy a proceder a contar), traicionando la confianza de sus amigos Amanda y Gabriel – los protagonistas de la obra – y  publicando la novela con los detalles del sórdido amor que habían vivido, colando como parte final del libro la frase que dio nombre a la obra: “Nunca confíes en mí”.

Recuerdo haber obsequiado este libro hace ya algún tiempo y es que no hay nada mas excitante que regalar un rompecabezas listo para ser armado por nuestra imaginación (y por nuestras vivencias), una buena novela literaria. Así que si alguna vez obsequié este libro, créanme fue el mejor regalo que pudieron haber recibido de mi (ya dejen de acusarme de tacaño por favor Smile).

 

 

¿Y qué tiene que ver todo esto con seguridad de información?  pues en mi último viaje a la ciudad heroica de Tacna [ver AQUÍ] realice 02 Charlas y 02 Talleres sobre seguridad informática y decidí realizar un experimento con los participantes del evento, el experimento consistía en que los participantes me brinden muy generosamente toda la información de sus celulares obviamente de la manera mas sutil posible y sin que ellos pudieran advertir lo que en realidad estaba ocurriendo. Aquí les explico como pero primero la respectiva ficha técnica:

  • Número de participantes: 20 personas aprox.
  • Edad de los participantes: Entre 20 y 30 años
  • Grado académico: Estudiantes y egresados de ingeniería de sistemas y computación
  • Lugar: Tacna – Perú (Universidad Nacional Jorge Basadre)
  • Nivel de seguridad informática: media (o quizás baja después del experimento)
  • Impulso para ganar: una camiseta del Blog de Omar

¿Quieren ver el premio que el feliz hackeado ganador se llevo por entregarnos toda la información de su celular? Pues aquí se los dejo y espero poder regalar más en mi próxima charla.

 

20141009_220641

Hackeando un Android

Volvamos a lo nuestro que es seguridad, entonces ¿cómo hackeamos un Android? de hecho la principal vulnerabilidad en los sistemas Android proviene de las aplicaciones que instalamos, debemos reconocer que pertenecemos (me incluyo) a una cultura totalmente Windoneana donde somos felices dando clicks en “Next, Next y Next” para instalar aplicaciones, pues aquí radica nuestra principal debilidad en instalar cualquier tipo de aplicación sin antes verificar los permisos y el origen de la misma. Aquí vamos explicar la manera más rápida y fácil de poder hacernos de información de un sistema operativo Android, vamos con los pasos:

  1. Ingeniería Social

    El truco para el éxito de este ataque consiste en ganar la confianza de la(s) otra(s) persona(s) para que se instalen la aplicación con toda la confianza del mundo, alguna de las ideas más utilizadas son las siguientes:

    - Google Play: El truco de los atacantes es engañarte mostrándote aplicaciones milagrosas en el store de Google, hasta la fecha se han detectado muchas – muchísimas – aplicaciones maliciosas en Google Play y es que basta subir aplicaciones con permisos “READ_EXTERNAL_STORAGE” y eso es todo, aquí pueden ver claros ejemplo de los que les cuento:

    * Aplicación maliciosa para hacer Dieta: [AQUÍ]
    * La estafa de la linterna milagrosa en Android: [AQUÍ]
    * 10 millones e aplicaciones maliciosas en Android: [AQUÍ]

    Basta con buscar “WhatsApp” en GooglePlay para obtener varios cientos de resultados, cada aplicación relacionada a WhatsApp que se muestra realiza alguna “maravilla”, ¿ustedes creen que realmente hacen esas maravillas?

    image



    - Instalar aplicaciones de terceros: El engaño de los atacantes consiste en lograr convencerte que puedas instalar una aplicación que no se encuentra en Google Play por cualquier motivo, por ejemplo yo le pedí a las participantes de mi experimento que lo instalaran porque el que contestaba todas las preguntas correctamente se llevaba una camiseta del blog Smile.

    - “Me prestas tu celular”: Es muy común que te pidan prestado tu celular, no? ya saben….. sólo quiero ver tus fotos, quiero entrar a una página de Google o quizás quiero instalarte algo sin que te des cuenta. La instalación de un APK malicioso demora menos de 60 segundos, así que nunca presten su celular, jamás!!

    image

  2. Instalando la Aplicación

    Una vez que hemos logrado ganar la confianza de nuestra víctima mediante alguna de las técnicas arriba descritas, tenemos que instalar la aplicación maliciosa. Aquí también tenemos algunas opciones para poder instalar la aplicación maliciosa, voy a colocar 02 ejemplos:

    * ANDRORAT: Una RAT (Remote Administration Tool) es una herramienta que nos permite administrar remotamente un dispositivo y en este caso específico un celular con el sistema operativo Android, de hecho, ANDRORAT es un proyecto escrito hace 02 años, por el 2012 para ser más exacto y que contiene algunas librerías que no están actualizadas para las últimas versiones del sistema operativo. La mejor manera de instalar ANDRORAT es “bind-eandola”, es decir, ocultándola dentro de otra aplicación  y que cuente con un funcionamiento básico.

    Para nuestro experimento lo escondimos en una aplicación que se llama “Trivia El Palomo” que contenía un pequeño cuestionario sobre preguntas de seguridad, el que respondía correctamente se hacía acreedor a una camiseta del blog.


    1 2


    Enlaces de ayuda:

    - AndroRat: El proyecto lo pueden encontrar [AQUÍ]
    - Versión “Trivia El Palomo”: La versión de AndroRat que hemos utilizado tiene una trivia y se han reemplazado algunas referencias para eliminar errores que aparecían en las nuevas versiones de Android (sobre los errores pueden leer aquí: LINK-1 y LINK-2). Les dejo el código para que lo puedan compilar por ustedes mismos si es que así lo requieren. Los créditos de esta versión se los lleva mi amigo Billy Grados, le pueden escribir a: billy.grados@gmail.com. Esta versión la pueden encontrar [AQUÍ]. (Cuidado que algunos Antivirus los reconocen como virus) 

    3




    * METASPLOIT: Todos ya conocen Metasploit, es seguramente la herramienta de hacking rápido más usado en la actualidad y no podía estar ajeno al hacking de Android. Lo que hace básicamente es generar un APK malicioso que ejecuta una sesión Meterpreter en el celular, es bastante sencillo el generarla.

    image



  3. Extrayendo la información

    * ANDRORAT: En el caso de haber logrado el acceso al celular mediante Androrat, digamos que tenemos 02 opciones para poder obtener acceso:

    Opción I: Haber configurado una dirección IP pública en la aplicación Android instalada: Si hicieron esto es porque desean tener acceso al celular desde cualquier lugar, entonces necesitan un servidor con una dirección accesible desde Internet. Esto lo pueden hacer a través de una configuración en sus routers caseros (NO-IP + NAT) o lo pueden hacer si es que alquilan un servidor VPS (Virtual Private Server) por unos meses, de hecho está se pueden conseguir por precios que no pasan los US$ 8 dólares mensuales.

    Opción II: Configurar una dirección IP no pública, es decir, que pueda ser utilizada en una red LAN, por ejemplo: 192.168.X.X, 172.16.XX. Si deciden colocar una dirección IP no ruteable tocará esperar a que el atacante y la víctima se encuentren en la misma red LAN. ¿Ya se les ocurren situaciones donde esto podría servir? Por ejemplo, en el caso de un(a) esposo(a) celoso(a), en el caso de una señora madre de familia preocupada por lo que sus pubertos hijos o hijas calenturientas hacen por internet, etc.; se requiere como base que el atacante y la víctima estén en la misma red LAN en algún momento del día (o cuando se conecten a la red wireless de la casa).

    Para nuestro experimento, hemos utilizado un servidor Ubuntu VPS que se encuentra en Internet con una dirección IP pública. Aquí las imágenes donde se muestra:

    - La conexión realizada entre el AndroRat y el dispositivo Android
    - Acceso a los mensajes SMS recibidos y enviados en el celular
    - Acceso a las imágenes recibidos a través de WhatsApp (en general acceso a todos los archivos del SDCARD)
    - Acceso a las bases de datos CRYPT7 que contienen las conversaciones de WhatsApp

    image 

    2014-10-22_23-58-14 

    image

    image 

    * METASPLOIT: A diferencia del AndroRat, en el caso de utilizar Metasploit necesitamos que la aplicación instalada sea abierta, es decir, no sólo que sea instalada sino que este en uso para establecer la conexión. La conexión se realiza según la imagen inferior y la sesión Meterpreter ya es bastante conocida, podríamos descargar los archivos que necesitemos como las imágenes y la base de datos de conversación de WhatsApp.

    image

    image


  4. Bonus Track

A. Descifrando WhatsApp: Lo primero que hay que tener en cuenta es la fecha de realización de este post, Octubre de 2014, es importante mencionarlo porque los mecanismos de cifrado de WhatsApp cambian frecuentemente así que es muy posible que si leen este post en algunos meses el mecanismo mostrado ahora ya no sirva. Dicho esto, les comento que en la actualidad WhatsApp se necesita lo siguiente para descifrar WhatsApp:

* Obtener el archivo “KEY” el mismo que está en la siguiente ruta: /data/data/com.whatsapp/files/key –  se requiere tener rooteado el celular para acceder a ese archivo.
* Obtener los archivos “CRYPT7” que contienen las conversaciones cifradas de WhatsApp, estos archivos están en: /sdcard/whatsApp/Databases/
*
Para descifrar los archivos “CRYPT7” utilizaremos la aplicación “WhatsApp-Viewer”, el proyecto lo pueden descargar de [AQUÍ]

Consideraciones Importantes:

- No se puede obtener el archivo “KEY” remotamente si es que el dispositivo no esta rooteado. No se puede y no insistan con esta pregunta. OJO: Sí se puede de manera local pero para nuestro caso que es hackear remotamente un Android no hay manera.
- El archivo “KEY” sólo puede ser obtenido en dispositivos Android 4.0 o versiones anteriores, esto ocurre porque extrañamente en estas versiones el archivo “KEY” tiene los permisos para poder ser descargados, en las nuevas versiones sólo tienen permisos de lectura y escritura para ROOT.


image

image



2014-10-29_21-33-43


B. Mi querido Perú: Si de algo no me cabe la menor duda es que los peruanos hemos desarrollado un talento especial para la imaginación, siempre se nos ocurre algo para poder obtener algún beneficio. Lamentablemente no siempre va por el lado de la legalidad (pequeño detalle, no?). Bueno esta vez, a una empresa y página peruana se le ocurrió la maravillosa idea que vender celulares Android hackeados, es decir, vender el celular Android con una versión customizada de AndroRat para espiar de manera ilícita a la víctima. ¿ No me creen? pues aquí la página peruana. De hecho es súper fácil ubicarlo a través de Google. Lo divertido del asunto es que venden una membresía Gold y Platinum jajajaja.


2014-10-29_22-40-58

 

Finalmente…. ¿ Cómo evito que esto me pase?

  • No instales aplicaciones “milagrosas” en tu celular, ni siquiera desde el GooglePlay
  • No instales aplicaciones de un origen desconocido, es decir, aquellas que no estén en el GooglePlay
  • ¿Tener un antivirus instalado en el celular ayuda? Sí ayuda pero no es la solución, por ejemplo, en los casos mostrados en este post el antivirus McAfee no ha reconocido la aplicación creada por MetaSploit como una aplicación maliciosa, el AndroRat si fue reconocido como aplicación maliciosa. En otro post escribiré como funcionan los antivirus en Android.

    2014-10-29_23-30-46

  • Revisa los permisos aceptados al instalar aplicaciones en tu celular, olvídate del “Next, Next, Next” al estilo Windows.
  • Finalmente, “nunca confíes en mi” cuando te diga que te instales una aplicación.

 

********************************************************************

Popularity: 28% [?]

Post Relacionados