Bash gráfico ¿por qué no? (GUIs)

Quien siga el blog sabrá lo asiduo que soy al bash script. Mucha gente se equivoca con este lenguaje; sobre todo en que con el no podemos hacer nada visual...

Hace ya algún tiempo tuvimos que llevar acabo un sistema de autenticación de usuarios, una vez acabado se nos planteó un problema.

El "Sr administrador de red" no había visto en su vida un sistema Linux, y por descontado no tenía ni idea que era un servidor Radius y mucho menos como administrarlo. Por lo tanto me tocaba dárselo mascadito (administración de usuarios, creación de credenciales y certificados, tiempos de conexión permitidos, logs, etc., etc.) y  por supuesto le hice un script muy completito.

Lo bueno fue cuando me mandaron a explicarle como funcionaba el script (cosa de niños)...el hombre cuando vio el terminal lo vio negro, negro (en ambos sentidos de la palabra) su cara era un poema frente al parpadeo constante del prompt.

Tras esto mi jefe propuso hacerle un frontend mas "amigable" con php, lo cual nos horrorizó... Después de auditar  el ISP pretendían conectarse al Radius por web?...y lo mejor fue el plazo... 3 días...

Puff necesitaba que mi script pudiese interactuar gráficamente con este hombre y rápido...

Fue ahí donde conocí Zenity.

Hackers, ya estamos en el diccionario de la RAE pero seguimos siendo malos...

Seguro que muchos habréis leído que después de 13 años el diccionario de la Real Academia Española de la Lengua (RAE) ha sido actualizado con casi 5.000 entradas nuevas y 22.000 modificaciones y se han incluido términos más acordes a la era digital en la que vivimos: Dron, Friki, Tuit, Red social, Bloguero, Pantallazo, Chat, USB, Tableta electrónica, Intranet, Wifi, Hacker... coño! han incluido hacker!... ummm.... a ver que han puesto:


Joder, pues que queréis que os diga, a mi personalmente esta escueta descripción me deja frío ¿o soy yo el único?. Sinónimo de "pirata informático", veamos...:

"Traducción recomendada para la voz inglesa hacker, ‘persona con grandes habilidades en el manejo de ordenadores, que utiliza sus conocimientos para acceder ilegalmente a sistemas o redes ajenos’: «Un pirata informático logró jaquear los sistemas de seguridad» (Clarín@ [Arg.] 19.6.05)."

Ahí mejoramos pero, señores catedráticos, no siempre lo hackers utilizan sus conocimientos para acceder ilegalmente a sistemas o redes ajenos... ¿no hubiese mejor haberse basado en la descripción de la Wikipedia? Por ejemplo:


"Gente apasionada por la seguridad informática. Esto concierne principalmente a entradas remotas no autorizadas por medio de redes de comunicación como Internet ("Black hats"). Pero también incluye a aquellos que depuran y arreglan errores en los sistemas ("White hats") y a los de moral ambigua como son los "Grey hats"."

Medítenlo y por favor y no tarden otros 13 años en actualizar esta definición...

20 de octubre de 2014. Just another carta abierta abocada a la ignoracia.

Nuestro servidor de túneles siempre online (3ª Parte) icmp-tunnel y VPN PPTP

Siguiendo con esta serie de entradas hoy veremos una técnica más que hay que conocer (indispensable) y empezaremos con el tema de las VPNs... Creo que todo el mundo sabe que es una VPN pero por si acaso, vamos a refrescar conceptos (tirando de Wikipedia):
Una red privada virtual, RPV, o VPN de las siglas en inglés de Virtual Private Network, es una tecnología de red que permite una extensión "segura" de la red local (LAN) sobre una red pública o no controlada como Internet. Permite que la computadora en la red envíe y reciba datos sobre redes compartidas o públicas como si fuera una red privada con toda la funcionalidad, seguridad y políticas de gestión de una red privada. Esto se realiza estableciendo una conexión virtual punto a punto mediante el uso de conexiones dedicadas, cifrado o la combinación de ambos métodos.

La conexión VPN a través de Internet es técnicamente una unión wide area network (WAN) entre los sitios pero al usuario le parece como si fuera un enlace privado— de allí la designación "virtual private network".

POODLE o cómo un caniche mató a SSL

Poodle o Poodlebleed es una vulnerabilidad en el diseño de la versión 3.0 de SSL. Poodle es en realidad un acrónimo de Padding Oracle On Downgraded Legacy Encryption. La vulnerabilidad permite el descifrado de texto plano de conexiones seguras. El error fue descubierto por el equipo de seguridad de Google, concretamente por el investigador Bodo Möller en colaboración con Thai Duong y Krzysztof Kotowicz. Ver paper.

Y si no soportas TLS pues aguanta SSL...

Aunque SSL 3.0 tiene casi 15 años, muchos servidores y navegadores web siguen utilizando hoy en día. Cuando los navegadores web fallan al intentar usar una versión de SSL más reciente (es decir, TLS 1.0, 1.1 o 1.2), pueden recurrir a una conexión SSL 3.0. Aquí es donde comienza el problema.
Debido a que un atacante puede provocar fallos en la conexión, incluyendo el rechazo de conexiones TLS 1.0/1.1/1.2 , puede forzar el uso de SSL 3.0 y luego explotar el bug Poodle con el fin de descifrar el contenido transmitido de forma segura entre un servidor y un navegador.

Este ataque es similar al ataque BEAST y también permite extraer el texto plano por partes desde una conexión SSL, por lo general los datos de cookies. Pero a diferencia del ataque BEAST no requiere un control tan extensivo del formato del texto en claro y por lo tanto es más práctico.

anonabox: un mini-router para acceder a Tor que resultó ser un fraude!

¡Atentos porque el proyecto es un fraude!:
"los usuarios de Reddit demostraron que el hardware se trataba de un router chino que puede adquirirse en AliExpress por USD $19.62, mientras que Anonabox se ofrecía a más de USD $45." y "...Anonabox utilizaba una instalación ligeramente modificada de OpenWRT. El dispositivo se mostraba como una solución que sólo tenía que conectarse a un módem o router para proteger tu privacidad, pero se dice que su configuración por default tiene una contraseña de root genérica (“developer!”), Wi-Fi abierto, y SSH abierto..." Ver enlaces actualizaciones abajo. 

Recientemente se ha creado una campaña de Kickstarter para Anonabox, un interesante router-hardware con software de código abierto que redirige automáticamente todo el tráfico mediante Ethernet o Wifi a través de la red Tor, ocultando la dirección IP del usuario y evitando la censura.

Pero lo que más llama la atención es su ajustado precio (
vale unos 45 dólares) y que es tan pequeño como un paquete de cigarrillos, lo que permitirá al usuario llevarlo siempre encima y por ejemplo conectarlo a un cable ethernet de la oficina para hacer un trabajo sensible o en un cibercafé en China para evadir el Gran Firewall.

No es el primer proyecto que intenta integrar Tor directamente en un router, pero si quizás el que mejor equilibrio tiene entre precio, fácil configuración, tamaño y seguridad. "para nosotros era importante que fuera portátil y pequeño para que se pueda ocultar con facilidad o incluso tirar de inmediato si hay que deshacerse de él." comenta Germar, uno de los consultores de TI independientes que pasaron los últimos cuatro años desarrollando el Anonabox.

No obstante recordar que Anonabox o cualquier elemento que facilite el acceso a Tor no protege totalmente la privacidad del usuario. Si utiliza el mismo navegador para sus actividades de Internet anónimas y normales, por ejemplo, los sitios web pueden utilizar técnicas de "fingerprinting" en el navegador como cookies para identificarle. Por no hablar de la ejecución de algún exploit e instalación de malware que pueda comprometer la máquina del usuario...

Fuente: http://www.wired.com/2014/10/tiny-box-can-anonymize-everything-online
Crowdfunding: https://www.kickstarter.com/projects/augustgermar/anonabox-a-tor-hardware-router


Actualizaciones: 
- Kickstarter pulls Anonabox, a Tor-enabled router that raised over $585,000 
- Kickstarter suspende la campaña de Anonabox

El Escritorio Movistar, un servicio con ruta sin comillas más espacios... y hasta dentro (escalado de privilegios local)

Hoy vamos a ver una vulnerabilidad que Gjoko 'LiquidWorm' Krstic (@zeroscience) reportó a Telefónica el 23 de septiembre y que, después de días de absoluta ignorancia, ha decidido publicar (fuente aquí). 

Afecta a la versión 8.7.6.792 del gestor de conexiones 'Escritorio Movistar', aunque yo lo he probado en la versión 8.6.5.594 y también es vulnerable:



En concreto es un fallo en el servicio TGCM_ImportWiFiSvc que no entrecomilla la ruta del ejecutable que llama:

C:\>sc qc TGCM_ImportWiFiSvc
[SC] QueryServiceConfig CORRECTO

NOMBRE_SERVICIO: TGCM_ImportWiFiSvc
        TIPO               : 10  WIN32_OWN_PROCESS
        TIPO_INICIO        : 2   AUTO_START
        CONTROL_ERROR      : 1   NORMAL
        NOMBRE_RUTA_BINARIO: d:\Program Files (x86)2\Movistar\Escritorio Movistar\ImpWiFiSvc.exe
         GRUPO_ORDEN_CARGA  :
        ETIQUETA           : 0
        NOMBRE_MOSTRAR     : TGCM_ImportWiFiSvc
        DEPENDENCIAS       :
        NOMBRE_INICIO_SERVICIO: LocalSystem

C:\>icacls "d:\Program Files (x86)2\Movistar\Escritorio Movistar\ImpWiFiSvc.exe"

d:\Program Files (x86)2\Movistar\Escritorio Movistar\ImpWiFiSvc.exe BUILTIN\Administradores:(I)(F)
                                                                    NT AUTHORITY\SYSTEM:(I)(F)
                                                                    NT AUTHORITY\Usuarios autentificados:(I)(M)
                                                                    BUILTIN\Usuarios:(I)(RX)

Se procesaron correctamente 1 archivos; error al procesar 0 archivos

Si ShellShock afecta a Linux y Android se basa en Linux... ¿por qué todavía no has actualizado bash en tu móvil?

Después de más de dos décadas, Bash sigue siendo comúnmente usado en Unix, Mac OS X, Linux y... por supuesto Android, nuestro nuestro SO favorito para el móvil, también lo ha heredado.

Mientras que en los sistemas operativos de escritorio Bash se ha actualizado casi "de inmediato", la versión de Android sigue estando sin parchear. Si no quieres que tu smartphone sea vulnerable, puedes descargar tanto la versión actualizada como la preparada por 3lo0sh del foro XDA. Esta versión está parcheada y es, por supuesto, de código abierto, por lo que puedes verificar el código por tu cuenta. El Bash parcheado trabajará con todos los dispositivos ARM con Android, es decir, con la gran mayoría de los teléfonos liberados hasta el momento.

Para instalar el parche en tu dispositivo tiene que estar rooteado. El binario descargado necesita ser puesto en /system/xbin y luego hacerlo ejecutarble en Terminal a través de shell ADB. Esto puede hacerse siguiendo unos comandos muy simples mostrados en el hilo:  


http://forum.xda-developers.com/android/software-hacking/dev-lastest-bash-android-t2898295

Inyección de comandos en variables de entorno de ficheros batch

¿Y si te contara que un usuario normal de una red corporativa puede tomar el control de un servidor de ficheros Windows sólo creando una carpeta con un nombre especial dentro de un recurso compartido?

En Windows el caracter & es interpretado como un separador de comandos, por lo que para ejecutar el segundo comando sólo hace falta mostrar una variable de entorno o asignar el valor de una variable a otra:



En sí mismo esto no se considera un exploit porque está claro que si pueden modificar las variables de entorno de tu servidor ya estás jodido. Pero, ¿y si existe una tarea programada que ejecuta un bat con un ECHO %CD% o algo como SET CurrentPath=%CD%


Si lo piensas, los administradores suelen programar la ejecución de ficheros .bat en servidores de ficheros para realizar algún tipo de mantenimiento, por ejemplo para comprobar los permisos de todos los sub-directorios o para ver el tamaño de cada uno de ellos. Entonces un usuario con privilegios limitados simplemente puede crear un directorio:

\fileServer1\Share\user1\T&malware

Y crear un fichero  “malware.bat” que contiene:

Net localgroup administrators domain\user1 /add
O
Net user administrator newpassword123!!


Después simplemente tiene que esperar a que el fichero batch corra con permisos elevados y haga uso de la variable %CD% sobre el nombre del directorio...

Fuente: Command-injection vulnerability for COMMAND-Shell Scripts

Participa en un e-zine de hacking como los de antes: e-zine 0x01 InRootWeTrust

    .___ _______ __________ ________   _____________________      __________________________________ ____ ___  ____________________
    |   |\      \\______   \\_____  \  \_____  \__    ___/  \    /  \_   _____/\__    ___/\______   \    |   \/   _____/\__    ___/
    |   |/   |   \|       _/ /   |   \  /   |   \|    |  \   \/\/   /|    __)_   |    |    |       _/    |   /\_____  \   |    |    
    |   /    |    \    |   \/    |    \/    |    \    |   \        / |        \  |    |    |    |   \    |  / /        \  |    |    
    |___\____|__  /____|_  /\_______  /\_______  /____|    \__/\  / /_______  /  |____|    |____|_  /______/ /_______  /  |____|    
                \/       \/         \/         \/               \/          \/                    \/                 \/            
 e-zine 0x01
Las e-zines forman parte de la historia del Hacking desde sus inicios, hemos sido testigos de la publicación de un sinfín de ellas. La primera que leí fue SET por allá de 1997 la cual se publicó por última vez en 2009. Disidents, Raza Mexicana vigente hasta 2010. Mexican Hackers Mafia la Revista Phreak de México, Mi favorita 29ª donde se daban a conocer técnicas para el desarrollo de Virus ( virii), 0rion, Acid Klan, RTM,  RareGazz, GEDZAC Mitosis E-zine, Hispabyte, 7A69-1.  Y por último pero no menos importante PHRACK que inicio en 1985 y es sin duda la mayor exponente del género y de la cual su última edición fue el #68 en 2012-04-14.
Como verán las ediciones este tipo están desapareciendo, buscamos es mantener el legado que han dejado todos los TEAM´s  con la calidad técnica que caracterizo a cada una de las e-zines.

Comprobamos el PoC de 'ShellShock' para OpenVPN

Llevo varios días viendo circular por la Red un PoC en Pastebin para explotar ShellShock en OpenVPN y quería verificarlo. Supuestamente el exploit funciona si usamos la opción 'auth-user-pass-verify' que permite a OpenVPN utilizar un script en bash (o en otros lenguajes) para autenticar con usuario y contraseña, sin certificados. Esto normalmente se considera inseguro al menos que se utilice como un segundo factor de autenticación y/o contra una base de datos con las passwords hasheadas. No obstante puede ser un vector de ataque muy interesante si por ejemplo envenenamos ARP y redireccionamos los intentos de una victima de establecer un túnel hacia un servidor OpenVPN malicioso. Más adelante veremos algún escenario práctico para demostrar la criticidad de la vulnerabilidad...

Para empezar en nuestro laboratorio vamos a utilizar un par de máquinas virtuales con Kali Linux 1.0.6. Para ello lo importante será configurar el servidor OpenVPN con la opción auth-user-pass-verify y el método via-env que guardará el "username" y "password" en variables de entorno. Si conocéis ya Shellshock sabréis que esta práctica pone a OpenVPN en situación bastante peligrosa:

port 1194
proto udp
dev tun
client-cert-not-required
auth-user-pass-verify /etc/openvpn/user.sh via-env
tmp-dir "/etc/openvpn/tmp"
ca ca.crt
cert kali.crt
key kali.key  # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
client-cert-not-required
plugin /usr/lib/openvpn/openvpn-auth-pam.so login
script-security 3
status openvpn-status.log
verb 3