Iloo

https://iloo.wordpress.com

Archivos mensuales: diciembre 2009

Festival: hablame ubuntu (3)

La idea es que ubuntu nos notifique cuando se conecte un dispositivo a algún puerto usb. Esto ser hará usando:

  • Festival.
  • Python.
  • La librería dbus.

Se usara dbus para monitorear los puertos usb y detectar cuando se conecte un nuevo dispositivo. Para esto nos creamos un nuevo archivo, supongamos que se llame festival_usb y lo creamos en /usr/bin (es importante hacerlo con privilegios de superusuario). En consola:

sudo gedit /usr/bin/festival_usb

Cuyo contenido será el siguiente (tomar muy en cuenta los espacios al inicio de cada línea de código):

import dbus
import dbus.glib
import gobject
import os

global bus

def add_device(*args, **keywords):
 device_obj = bus.get_object('org.freedesktop.Hal', args[0])
 device = dbus.Interface(device_obj, dbus_interface = "org.freedesktop.Hal.Device")
 signal = device.QueryCapability('block')

 if signal:
  comando = "echo nuevo dispositivo USB conectado | festival --tts&"
  os.system(comando)

bus = dbus.SystemBus()
bus.add_signal_receiver(add_device, 'DeviceAdded', 'org.freedesktop.Hal.Manager', 'org.freedesktop.Hal', '/org/freedesktop/Hal/Manager')

loop = gobject.MainLoop()
loop.run()

Para que se ejecute al inicio tenemos que añadirlo en Aplicaciones al inicio que se encuentra en Sistema->Preferencias, solamente en la casilla Orden ponemos el nombre del archivo, en este caso festival_usb, finalmente reiniciamos para que se cargue la nueva aplicación.

Web Applications Security: www.sicoes.gov.bo (1)

Voy a comenzar con una nueva sección, me avocaré principalmente a las aplicaciones que interactúan en el país que me encuentro ya que es una necesidad contar con aplicaciones que sean seguras y fiables.

La primera aplicación a ser analizada (fue) es el Sistema de Contrataciones Estatales (SICOES) cuyo sitio en internet es http://www.sicoes.gov.bo, desarrollado por la Dirección General de Sistemas de Gestión de Información Fiscal (http://www.sigma.gov.bo).

El SICOES brinda información de las entidades del sector público referida a: procesos de contratación; solicitudes de propuestas; adjudicación y contrato de bienes, obras, servicios generales y servicios de consultoría; recursos administrativos interpuestos; contrataciones por excepción, etc…” (http://www.sicoes.gov.bo/paginicio/info.html)

Cabe mencionar que envié mensajes a las siguientes direcciones: convocatorias@sicoes.gov.bo, consultas@sicoes.gov.bo, sugerencias@sicoes.gov.bo, sugerencia@sigma.gov.bo, mencionando las vulnerabilidades que encontré así como también las sugerencias para corregir lo antes mencionado. No recibiendo respuesta y al ver que el sitio sigue con las vulnerabilidades (que son importantes) lo voy a hacer por este medio.

Lo primero para ir probando el sitio es buscar una dirección vulnerable, en el sitio hay bastantes pero busquemos la sección principal que es referente a las convocatorias: http://sicoes.gov.bo/general/frames.php?direccion=../contrat/procesos.php.

Sobre esto se puede decir mucho pero principalmente tres puntos importantes:

  • El uso de marcos dificulta la navegación y ahí ya podemos explotar (como veremos más adelante) algunos errores de programación.
  • Encontramos un Full Path Disclosure, lo encontramos en: http://sicoes.gov.bo/general/frames.php?direccion=”.
  • Una sugerencia es el de NO usar menús flash esto denota una falta de conocimiento y experiencia por parte de los desarrolladores, ya que es más fácil poner un menú flash que se invoque de todas las páginas que hacer uno para cada página, pero esto se soluciona haciendo un solo menú y llamándolo con: include(‘menu.htm’), en el mismo lenguaje en el que esta hecha la aplicación, PHP.

Continuemos, la página que esta “enmarcada” es en realidad: http://www.sicoes.gov.bo/contrat/procesos.php, aquí hay varios errores tanto de los diseñadores y programadores.

  • Parte de la sentencia SQL es completamente visible, con esto ya es más fácil ejecutar un SQL Injection.

  • Si introducimos https://iloo.wordpress.com (más las comillas) en uno de los campos input yo lo haré en el campo Entidad claramente vemos que se ve un Cross site scripting a demás de seguirse viendo parte del código SQL.

Un ejemplo del porque no usar marcos en http://sicoes.gov.bo/general/frames.php?direccion=../paginicio/contactenos.php:

Para terminar el formulario que aparece en la sección de Contáctenos no funciona a demás de que no valida los datos introducidos a lo que se suma otro punto de vulnerabilidad. Ya que son muchas las vulnerabilidades que pude encontrar voy a dividir la entrada la siguiente parte estará más interesante ya que son datos del servidor los que se tocarán.

Apache: www.you.com

Estoy usando apache2 bajo Ubuntu 9.10 y hoy al querer ingresar al sitio http://www.youtube.com, por error solo escribí http://www.you luego enter y Firefox me redirecciono a http://www.you.com, vaya sorpresa (supongo que muchos ya conocían esto), esa dirección es el localhost, no es un super descubrimiento pero siempre es bueno conocer algo en este caso una forma más de ingresar al localhost.

Ubuntu: cambiar XSplash

Si ya estas aburrido de ver la misma ventana de entrada te doy una manera de cambiar el XSplash que trae por defecto ubuntu 9.10, simplemente hay que seguir estos simples pasos:

  1. Ir a a descargar los temas de: http://espiralx.org/05-Compartir/09-Gnome.html o del servidor mediafire.
  2. Una vez en el sitio haces clic sobre la carpeta XSplash y luego descargar el tema que te guste (todos vienen con una imagen de vista previa), los temas son los archivos comprimidos con extensión .tar.bz2.
  3. Una vez que descarguemos el tema, descomprimimos el archivo.
  4. Reemplazamos todos los archivos que se encuentran en: /usr/share/images/xsplash con los archivos que descomprimimos*. (antes te recomiendo que te hagas una copia de este directorio por si las cosas no salen bien).
  5. Finalmente para hacer la prueba en consola escribimos: sudo xsplash.
  6. Si vemos el nuevo xsplash todo se encuentra correctamente configurado.

* Recuerda que antes de reemplazar los archivos tienes que autentificarte como superusuario o puedes habrir nautilus como superusuario, para hacer esto:

  1. Presionas Alt+F2
  2. Luego escribes: gksudo nautilus
  3. Pones la contraseña y listo.

Festival: hablame ubuntu (2)

Habrán visto muchas películas en las cuales al encender la computadora esta da un saludo hablado, ahora intentaremos hacer algo parecido, en primero lugar necesitamos instalar festival para esto leemos aquí.

Luego nos creamos un nuevo archivo en /usr/bin, supongamos que el archivo se llama saludo_inicial, cuyo contenido sería:

sleep 10
echo & date +'Bienvenido son las %H horas y %M minutos del %A %d d %B d %Y' | iconv -f utf-8 -t iso-8859-1  | festival --tts

Vayamos a explicar el contenido, con sleep esperamos 10 segundos antes de mandar el saludo.

La segunda línea indica que el equipo nos dirá la hora y la fecha, es importante poner el argumento date para que funcione %H como la hora %M como los minutos y los demás parámetros con un % por delante, luego la segunda parte indica que si tenemos algunas palabras que contengan acentos la lea de forma correcta.

Ahora tendríamos que darle permisos de ejecución, en consola escribimos:

sudo chmod +x /usr/bin/saludo_inicial

Para hacer una prueba en consola escribimos:

saludo_inicial

Si todo esta bien escucharemos el saludo.

Finalmente para que al ingresar al sistema el equipo nos salude vamos al menú Sistema->Preferencias->Aplicaciones al inicio.

Ahí añadimos una nueva entrada haciendo clic en el botón Añadir, en la casilla de Orden escribimos saludo_inicial, en las demás escribimos lo que sea.

Cerramos sesión y al ingresar ya deberíamos escuchar el saludo.