Difusión sobre Seguridad informática, programación, trucos, tutoriales y tonterías en general...
sábado, 7 de diciembre de 2013
SkyJack: un drone de bajo coste capaz de "secuestrar" a otros drones
Seguro que habran leído y les ha llamado la atención una noticia reciente en la que se decía que Amazon estaba pensando utilizar drones para repartir paquetes pequeños a sus clientes. La perspectiva de un enjambre pequeño de aviones no tripulados plantea sin embargo una nueva gama de problemas de seguridad...
Samy Kamkar, creador del famoso gusano que noqueó a MySpace en 2005, ha creado un drone de bajo coste que es capaz de encontrar y secuestrar de forma inalámbrica otros drones.
La plataforma del proyecto bautizado como SkyJack se compone de:
- Parrot AR.Drone 2: 289,00€
- Raspberry Pi: 38,95 €
- Batería USB (DigiPower 1100mAh: 16,90€)
- Adaptador inalámbrico Alfa AWUS036H: 27,99€
- Adaptador inalámbrico Edimax EW-7811Un: 14,25€
- Software aircrack-ng, node-ar-drone, node.js y el código fuente de SkyJack (perl/js)
Básicamente lo que hace es ejecutar aircrack-ng para poner su tarjeta de red en modo monitor, detecta las redes y clientes cercanos, reconecta los clientes al Parrot y utiliza Node.js con node-ar-drone para controlar los drones (ciertos tipos, eso sí).
Es decir, por unos 400€ cualquiera podría tener un cuadricóptero capaz de interceptar y secuestrar otros drones para por ejemplo llevarse sus envíos y/o convertirles en drones zombies.
Interesante ¿verdad? http://samy.pl/skyjack/
jueves, 5 de diciembre de 2013
Que hacer después de instalar Kali Linux
Si
eres Novato en Linux no te preocupes, leer
es la solución. Si eres novato el Backtrack
(hoy llamado Kali linux) Primero tienes que utilizar Debian en cualquier
Distribución para que te des una idea sobre el mundo, en serio, de la Seguridad
Informática.
Les
presentaré un tutorial de las configuraciones básicas del Kali Linux Despues de
haberlo instalado, Yo siempre recomiendo hacer una instalación desde 0 que
usando particiones, pero ustedes deciden.
1.- Configurar SOURCES LIST
root@kali:~#
editor /etc/apt/sources.list
Esto
nos abrira el sources.list y colocamos las siguientes lineas debajo de la de
kali
deb
http://http.kali.org/kali kali main contrib non-free
deb
http://security.kali.org/kali-security kali/updates main contrib non-free
Y
ahora para actualizar el sistema con los nuevos repositorios, colocamos lo
siguiente en la consola:
#
apt-get update && apt-get upgrade && apt-get dist-upgrade
una
vez finalizado podemos instalar programas como Gedit, Synaptic, entre otros...
2.- Instalar Programas
apt-get
install alsa-base linux-headers-`uname -r` file-roller openoffice.org-writer
openoffice.org-calc openoffice.org-impress mc htop gnome-tweak-tool etherape
.alsa-base: son controladores de audio, estos
hacen que el volumen no se inicie en cero ademas de que no sale el tipico
mensaje de error "Error: Driver 'pcspkr' is already registered,
aborting..."
.linux-headers-`uname
-r`: son las
cabeceras del kernel, estas son necesarias para el driver
de
NVIDIA, si tienen otra tarjeta y no se los pide pues no lo instalan.
.file-roller: es para comprimir, descomprimir y
abrir archivos comprimidos desde interfaz grafica,
se
integra con el nautilus y es muy comodo.
.openoffice.org-*: para mi solo son necesarios estos
tres, el writer es equivalente al word,
el
calc al exel y el impress al powerpoint, esto es util para abrir este tipo de
archivos.
.mc: como un total-commander para consola,
muy practico para navegar por el sistema de archivosde forma rapida, permite
conexion FTP y lee casi todo tipo de archivos con F3.
.htop: para manejar los procesos de forma
comoda y rapida.
.gnome-tweak-tool: para instalar/configurar temas y
extensiones en gnome-shell
.etherape: sniffer para visualizar el trafico en
un modo grafico-representativo (yo personalmente
no
lo instalo, prefiero el wireshark)
3.
Configurar el grub
Si
tienes Kali junto a Windows 8 hay un error comun que cuando inicias por Windows
te puede salir un error que
dice:
error: no argument especified, o algo por el estilo.
Esto se corrige
sustituyendo --set
por
--set=root en el bloque de windows, esto es en el archivo /boot/grub/grub.cfg.
Esto
ocurre porque el grub 1.99 no es compatible con la sola opción --set sin
argumento alguno.
4.
Pulseaudio
No
se si se habran dado cuenta de un mensaje de error cuando el sistema esta
iniciando que dice: PulseAudio configured for per-user sessions ...
(warning).
Esto
es un bug ya conocido del pulseaudio.
Se
corrige editando el archivo /etc/default/pulseaudio y donde dice
PULSEAUDIO_SYSTEM_START=0
le cambiamos el 0 por un 1 quedando asi: PULSEAUDIO_SYSTEM_START=1
la
proxima vez que reiniciemos la maquina ya no nos saldrá ese warning.
5.
Activar gnome-shell
El
Kali ya trae instalado el gnome-shell pero hay que activarlo, para ello es
necesario tener
instalados
los drivers de video correspondientes a su tarjeta, se activa ejecutando:
Alt+F2
y en el cuadrito de ejecución ponemos: gnome-shell --replace
y
enseguida cambiara a una bella y cómoda interfaz gráfica con todos sus efectos
y bondades 
a
mi de hecho me corre mas rápido que la interfaz de palo de metacity que trae el
Kali por defecto.
Y
para que se inicie gnome-shell con el sistema vamos a Startup Application
Preferences y lo añadimos
o
sea añadimos una entrada con el comando: gnome-shell --replace.
No he
encontrado una forma mejor
de
hacerlo, de hecho en internet entero nadie tiene ni idea de como hacerlo, en
fin el asunto es
que
funcione de cualquier manera.
Lo
otro seria instalar extensiones para enriquecer el entorno, por ejemplo la
extension
CoverflowAltTab
para un efecto mas cómodo a la vista al ejecutar Alt+TAB, esto lo deben
descargar
e
instalar con el gnome-tweak-tool donde dice Shell Extensions/Install Shell
Extension.
6.
Cambiar el GDM a GDM-Shell
editamos
el archivo /etc/gdm3/greeter.gsettings
y
comentamos la linea que dice
session-name='gdm-shell'
y ejecutamos
root@kali:~#
dpkg-reconfigure gdm3
y
reiniciamos.
8.
Cambiar el color de las ventanas a negro
El
tema que usa el sistema por defecto es el Adwaita, lo que haremos sera usar el
mismo tema pero de color negro, para ello copiamos el tema original a otra
carpeta que le pondremos Adwaita-Dark:
root@kali:~#
cp -R /usr/share/themes/Adwaita /usr/share/themes/Adwaita-Dark
Ahora ejecutamos lo siguiente:
root@kali:~#
mv /usr/share/themes/Adwaita-Dark/gtk-3.0/gtk-dark.css
/usr/share/themes/Adwaita-Dark/gtk-3.0/gtk.css
Lo
siguiente es abrir el archivo /usr/share/themes/Adwaita-Dark/gtk-2.0/gtkrc (con
leafpad)
y
borramos todo su contenido (Ctrl+A, Delete), y le copiamos esto:
http://pastebin.com/DkUxvxmf (la pagina te
redirecciona al codigo)
Luego
guardamos los cambios en el archivo y cargamos el tema desde gnome-tweak-tool
(Alt+F2 gnome-tweak-tool)
vamos
a donde dice theme y en GTK+ theme escogemos Adwaita-Dark, igual que en Window
theme.
Reiniciamos
sesion. Tambien se puede ejecutar 'Alt+F2 r Enter' pero la experiencia me dijo
que
reiniciara
la sesion o el sistema.
8.
gsettings
Aqui
lo que hago es arreglar algunos detalles graficos:
.Deshabilitar
el cursor parpadeante que me vuelve loco:
root@kali:~#
gsettings set org.gnome.desktop.interface cursor-blink false
.Deshabilitar
automount-open (o sea que cuando pongas una memoria o montes algun dispositivo
no se abra el nautilus automaticamente)
root@kali:~#
gsettings set org.gnome.desktop.media-handling automount-open false
.Poner
los botones a la derecha (porque si trabajan con Windows tambien se vuelven
locos):
root@kali:~#
gsettings set org.gnome.shell.overrides button-layout ':minimize,maximize,close'
9.
Deshabilitar el boton universal access
Editamos
el archivo /usr/share/gnome-shell/js/ui/panel.js
y
comentamos con // la linea que dice: 'a11y':
imports.ui.status.accessibility.ATIndicator,)
quedando
asi:
//'a11y':
imports.ui.status.accessibility.ATIndicator,)
Un Juego de Android que roba los mensajes de WhatsApp
Hace un par de días llegó un comentario al post que tengo sobre "Cómo Espiar WhatsApp" en la que se hablaba de un servicio para robar la base de datos de WhatsApp mediante un falso juego para Android.
La idea es tan sencilla como convencer a un amigo, compañero, pareja,
hijo, enemigo, etcétera para que se instale ese juego para que le robe
la base de datos de WhatsApp y luego poder consultar los mensajes a través de una página web que te cobrará por ello.
El juego no es más que un sencillo - y feo - en JavaScript que lleva incrustado un código Java que accede a la base de datos y las fotografías de las víctimas del engaño. Es decir, la definición clásica de un Caballo de Troya,
dejas pasar un juego aparentemente inofensivo y este te roba los datos.
Este esquema está descrito de igual forma para terminales iPhone en el libro de Hacking iOS, siguiendo un esquema similar al que utilizaron tanto Charlie Miller con InstaStock como el malware Find & Call para conseguir saltar todos los controles de seguridad de App Store.
![]() |
| Figura 1: Juego troyanizado para robar la base de datos de WhatsApp |
La gran diferencia entre Google Play y App Store es que, mientras que en App Store los controles - aún lejos de ser perfectos - complican mucho la vida a los desarrolladores de app maliciosas, en Google Play esto parece un cachondeo. En el caso de WhatsApp ya vimos como casi todos los días aparecen nuevas apps maliciosas pretendiendo ser la popular app de mensajería en Google Play, y una app
como ésta, orientada a robar los datos de los usuarios ni tan siquiera
se oculta, tal y como se puede ver en las condiciones del servicio.
Supongo que asumiendo que "la policía es tonta", el
servicio pone, como el que no quiere la cosa, que puede hacer una copia
de seguridad de tus archivos, que luego dejará consultar vía una página
web para que cualquiera pueda acceder a los mensajes robados sólo con
poner el número de teléfono y pagar.
![]() |
| Figura 2: Condiciones de servicio donde se "informa" de la copia de archivos |
Aprovechando que tenemos un equipo de investigación de Eleven Paths en Málaga,
le pedí a mis compañeros de Eleven Paths que le echaran un vistazo a lo
que me estaban enviando con el comentario. Con un poco de revisión por Internet
se puede ver que este mismo mensaje o uno similar al que había sido
dejado en mi blog había sido publicado en varios fotos utilizando
nombres distintos, todos creados en fechas similares y más que
probablemente desde las mismas direcciones IP.
Por supuesto, echando una ojeada a la app, se puede ver como el código no deja lugar a dudas de lo que va a hacer. Se puede ver fácilmente tras decompilar el Java que en esta sección se accede tanto a la base de datos, como a los ficheros enviados y recibidos.
![]() |
| Figura 3: Código del troyano que roba la base de datos de WhatsApps |
Me preguntaba Jordi Évole en la entrevista si esto es legal, y lo cierto es que los que han creado esta app
se deben sentir bastante impunes, ya que está creada desde una empresa
sita en España que se publicita junto al servicio. Hablan de "copia de seguridad", pero directamente asocian esta app a un servicio para buscar los mensajes de WhatsApp robados y hacen campañas de spam con explicaciones claras de cómo funciona servicio.
No sé si la "policía es tonta" y se creerá que esto realmente es para jugar "y hacer una copia de seguridad de ficheros", pero lo que sí que creo es que Google Play debería hacer muchas más comprobaciones de seguridad, ya que con dar el permiso de acceso al almacenamiento cualquier app maliciosa puede llevarse la intimidad de tu WhatsApp.
Fuente
miércoles, 4 de diciembre de 2013
La historia de un carnicero agradecido con un "hacker"
Hace algún tiempo, cuando estaba recopilando información para escribir
el artículo sobre la seguridad de los sistemas basados en PLCs que se llamó “Tu industria en mi manos”, creé una lista bastante extensa de equipos de automatización expuestos en Internet. Cuando el tiempo me lo permite - muy de tarde en tarde -, me dedico a volver a comprobar si los sistemas continúan “vivos y expuestos”. Los resultados son desalentadores.
¿Es que nadie leyó el artículo o es que a nadie le importa realmente la seguridad de sus automatizaciones? Lo más probable es que seguramente, salvo a los que estamos cerca del mundo de la tecnología y la seguridad, al resto de las personas no les llegan estas cosas.
Con las automatizaciones que me parecen más críticas hago un esfuerzo
extra, las analizo y busco algún dato que me ayude a ponerme en contacto
con el responsable de ellas de forma directa para poder ayudarle en la
manera que me sea posible. Y es así, de esta forma, como comienza esta
historia con un carnicero.
Entre la larga lista de automatismos expuestos sin seguridad alguna, una de las instalaciones que se encontraba desprotegida en Internet, parecía a simple vista la encargada de controlar la temperatura de alguna industria cárnica.
Husmeando con cuidado de no romper nada en la memoria del PLC, se encuentra un comando AT para enviar mensajes SMS
a un teléfono móvil con las alarmas del sistema. Esto es algo muy común
en este tipo de sistemas de control que pretender avisar a los
responsables en el mismo momento en que se detecte un problema que pueda
afectar a su negocio.
Descubierto esto, quise ponerme en contacto con el dueño de la plataforma para advertirle de la situación de inseguridad en la que se encontraba, así que decidí buscar información de esta persona haciendo un poco de trabajo de campo con los buscadores de Internet.
En este caso, simplemente poniendo el número de teléfono de que aparecía como contacto del sistema de alertas, Google devuelve - entre otros - un resultado la mar de interesante. Un fichero Excel con el número de teléfono buscado que estaba almacenado en algún servidor FTP.
Pero claro, no todo iba a ser tan fácil, ya que al intentar acceder al
fichero, el resultado que se obtiene no es el documento, sino que el
servidor FTP solicita credenciales de acceso.
![]() | ||
| Figura 4: El servidor FTP autenticado |
A partir de aquí, teniendo el nombre y los apellidos de alguien relacionado con el número de móvil que había sacado del PLC, y sabiendo que es una industria cárnica que se encontraba en una localidad donde estaba ubicada la dirección IP en la que se exponía el sistema, encontrarla fue coser y cantar.
Decidí ponerme en contacto mediante un mensaje de correo electrónico aunque he de decir que no me esperaba respuesta alguna. Os aseguro que la mayoría de veces que he intentado avisar a alguien de que tiene una brecha de seguridad he recibido como habitual el silencio por respuesta, cosa bastante frustrante, pero allá cada cual con sus instalaciones.
En este caso la respuesta fue totalmente diferente. La empresa responsable de la infraestructura informática de la planta hizo su trabajo buscándome por redes sociales hasta dar con la empresa donde trabajo y se puso en contacto conmigo, no sólo para que le facilitase la información completa de cómo los había encontrado, sino para agradecerme de parte de la industria cárnica que los avisase. Un sabotaje de éste sistema de automatización podía haber provocado la pérdida de productos cárnicos cuyo valor económico es una linda cifra de seis dígitos.
A día de hoy, he vuelto a comprobarlo y ésta gente ha hecho sus deberes, ya no tiene su PLC expuesto a cualquier desaprensivo con tiempo libre, además de haber cerrado algún otro puerto que tenían abierto. Es reconfortante, muy reconfortante ver que realmente sirve para algo este tiempo que dedicamos a buscar “problemas de otros”. He querido compartir esta experiencia porque, por cada una buena respuesta, sé que hay diez malas, pero aún así...¡no perdamos la esperanza!
Saludos,
Autor: Juan Luis Valverde Padilla
jl.valverde@jvalverde.es
PD: Ahora tendré que hablar con el dueño del servidor FTP para contarle cómo borrar las URLs indexadas en Google y recomendarle algún libro que le ayude aplicar la LOPD correctamente, aunque gracias a su fallo de seguridad, pude dar con la empresa y ayudarles a corregir su fallo de seguridad. Irónico. :)
lunes, 2 de diciembre de 2013
Obtención de contraseñas en claro mediante volcados de memoria (dmp) con WinDbg y la extensión de mimikatz
Como ya saben, con mimikatz podemos obtener los hashes/contraseñas accediendo directamente al proceso o a un minidump de LSASS. Sin embargo, los contenidos de la memoria de LSASS están también "disponibles" a través de otras fuentes:
- archivos de hibernación (archivos hiberfil.sys)
- archivos de volcado de memoria crashdump (.dmp)
...
Hasta ahora mimikatz no podía tratar directamente estas fuentes de datos porque es relativamente complejo (aunque posible) crear un traductor de direcciones virtuales a físicas para todos los modos de direccionamiento (especialmente con las características de Microsoft) y porque el administrador de memoria de Windows no puede garantizar el mapeo de memoria virtual-física durante un tiempo T.
Por eso "Gentil Kiwi" ha creado una extensión para la herramienta más adecuada para la lectura de volcados de memoria (el formato "crashdump") y la manipulación de los símbolos: WinDBG!.
Veamos un ejemplo del uso de esta extensión mediante el análisis y la extracción de un fichero .vmem de una máquina virtual Win7 de VMWare, es decir, el fichero que contiene un backup de la paginación de memoria y que se genera automáticamente al pausar y guardar el estado de una VM.
Empezamos analizando el volcado mediante Volatility y visualizando nuestro objetivo lsass.exe (Local security authentication server):
D:\Hacking>volatility-2.3.1.standalone.exe -f "d:\Virtual Machines\windows7\IE8- Win7-65e39c4c.vmem" --profile=Win7SP0x86 pslist
Volatility Foundation Volatility Framework 2.3.1
Offset(V) Name PID PPID Thds Hnds Sess Wow64 Star
t Exit
---------- -------------------- ------ ------ ------ -------- ------ ------ ------------------------------
0x841388a8 System 4 0 92 471 ------ 0 2013-11-26 11:05:00 UTC+0000
0x8529e930 smss.exe 268 4 5 30 ------ 0 2013-11-26 11:05:00 UTC+0000
0x85a2ad40 csrss.exe 368 348 9 551 0 0 2013-11-26 11:05:08 UTC+0000
0x85d28d40 wininit.exe 420 348 7 90 0 0 2013-11-26 11:05:11 UTC+0000
0x85d13d40 csrss.exe 428 412 10 199 1 0 2013-11-26 11:05:11 UTC+0000
0x85d36d40 winlogon.exe 476 412 6 122 1 0 2013-11-26 11:05:11 UTC+0000
0x85d62820 services.exe 520 420 24 253 0 0 2013-11-26 11:05:11 UTC+0000
0x85d57ad0 lsass.exe 536 420 9 544 0 0 2013-11-26 11:05:11 UTC+0000
0x8524d808 lsm.exe 544 420 11 155 0 0 2013-11-26 11:05:11 UTC+0000
0x85d577e0 svchost.exe 636 520 17 375 0 0 2013-11-26 11:05:12 UTC+0000
...Lo primero que tenemos que hacer es convertir el fichero .vmem a formato .dmp, el estándar diseñado por Microsoft para depuración. En nuestro caso lo haremos también mediante Volatility:
D:\Hacking>volatility-2.3.1.standalone.exe -f "d:\Virtual Machines\windows7\IE8- Win7-65e39c4c.vmem" --profile=Win7SP0x86 raw2dmp -O mem.dmp
Volatility Foundation Volatility Framework 2.3.1
Writing data (5.00 MB chunks): |................................................................................................................................
..............................................................................|Ahora que tenemos el fichero .dmp lo abrimos con WinDbg (control + D):
A continuación simplemente cargamos la librería mimilib.dll:
16.0: kd> .load d:\hacking\mimikatz_trunk\x64\mimilib.dll
.#####. mimikatz 2.0 alpha (x64) release "Kiwi en C" (Nov 24 2013 21:22:48)
.## ^ ##. Windows build 7601
## / \ ## /* * *
## \ / ## Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
'## v ##' http://blog.gentilkiwi.com/mimikatz
'#####' WinDBG extension ! * * */
===================================
# * Kernel mode * #
===================================
# Search for LSASS process
0: kd> !process 0 0 lsass.exe
# Then switch to its context
0: kd> .process /r /p <EPROCESS address>
# And finally :
0: kd> !mimikatz
===================================
# * User mode * #
===================================
0:000> !mimikatz
===================================
16.0: kd> Después hay que situarse en el contexto del proceso LSASS:
16.0: kd> !process 0 0 lsass.exe
PROCESS 85d57ad0 SessionId: 0 Cid: 0218 Peb: 7ffd3000 ParentCid: 01a4
DirBase: 3eca00e0 ObjectTable: 882e2288 HandleCount: 544.
Image: lsass.exe
16.0: kd> .process /r /p 85d57ad0
Implicit process is now 85d57ad0
Loading User Symbols
..........................................................Y finalmente ejecutar el comando !mimikatz:
Fuente: WinDbg et l’extension de mimikatz
Suscribirse a:
Entradas (Atom)











