iniqua

2feb/100

Subnetting “de cabeza” en un segundo.

Cuantas veces a lo largo en nuestra vida profesional necesitamos calcular una máscara de red rápidamente. Todos sabemos calcularla a la vieja usanza, pero si no solemos hacerlo muy a menudo puede que perdamos algo de tiempo para hacerlo.

Os presentamos esta tabla con la que podréis calcular máscaras de red, el numero de hosts y redes que puede contener, así como el número de bits para cada una muy rápidamente. Tan solo tenemos que acordarnos de una de las columnas, el resto de deducen de manera muy sencilla a partir de ésta.

Tabla para el calculo de redes

2feb/101

IPs marcianas (martians IPs)

Hace unos días nos topamos, de nuevo, con el concepto de IPs marcianas (o martians IPs ). Éste casi siempre suele aparece en cualquier auditoría de seguridad que se hace en una red.

Por curiosidad buscamos en Google a ver que explicaciones encontrábamos “por ahí”. Sorprendió el hecho de que en prácticamente todo los sitios buscados se limitan a repetir el mismo texto que pone en la la RFC-1812, sección 5.3.7.

Probablemente a los administradores encargados de revisar logs estén más acostumbrados a éste concepto, o al menos a “verlo”. En internet puedes encontrar cientos post en foros preguntando que son los martians cuando en el syslog les aparecen mensajes como este:

kernel martian source 151.201.29.xxx from 151.201.29.1 on dev eth0
Etiquetado con: , Continúa leyendo
2feb/100

User Agent String

UserAgentString.com es una web muy sencilla pero que puede llegar a ser muy útil, veamos como.

Estos días estamos publicando una serie de entradas donde mostramos sencillos ejemplos con clientes HTTP en diferentes lenguajes de programación.

A veces lo sencillo no es la mejor solución. Un cliente tan sencillo como el que mostramos en el pequeño script de python:

import urllib
import urllib2
url = 'http://www.example.com/accion'
values = {'param1':'parametro','param2':'parametro'}
data = urllib.urlencode(values)
req = urllib2.Request(url,data)
res = urllib2.urlopen(req)
print res.read()
res.close()

Puede darnos algunos problemas para acceder a cierta información, que desde un navegador si que nos resulta accesible.

>>> import urllib
>>> import urllib2
>>> url = 'http://www.google.com/search?q=iniqua'
>>> req = urllib2.Request(url)
>>> res = urllib2.urlopen(req)
urllib2.HTTPError: HTTP Error 403: Forbidden
30ene/100

La semana en Tweets

Etiquetado con: , Sin comentarios
28ene/100

Interceptando comunicaciones web cifradas (I)

Mostramos a continuación un ejemplo muy sencillo y rápido de como llevar una ataque de spoofing en una LAN. Con él conseguiremos ver todo el tráfico del usuario atacado en tiempo real, a partir de un archivo donde volcaremos esa información y en pantalla. Para llevar a cabo el ataque todos los comandos tienen que ser ejecutados con derechos de administrador.

  1. Nos aseguramos que tenemos instalado el software necesario: openssl y la suite dsniff
  2. Generamos nuestro certificado. No voy a explicar como, hay millones de howto por ahí.
  3. Conseguimos que nos lo firme un CA Válido y confiable. Esto es lo difícil. Necesitamos dinero o:

(a) Que nos lo firme entidades que no nos cobran (http://cert.startcom.org/ , http://www.cacert.org/). El problemas de estos CA es que los navegadores no se suelen fiar mucho de ello.

(b) Podemos hacer que nos los firmen entidades confiables. Esto normalmente cuesta dinero (y mucho), pero muchas de ellas te lo firman, como una versión de prueba podríamos decir, para 30 días. Para nuestros propósitos nos sobra. Un ejemplo de entidades que hacen esto puede ser: http://www.rapidssl.com/ssl-certificate-products/free-ssl/freessl.htm

  1. Antes de seguir tentemos que activar el forwarding:

    echo "1" > /proc/sys/net/ipv4/ip_forward

27ene/101

Fuzzing Server Side Includes (SSI)

Cuando hacemos una auditoría de seguridad a un sitio web, y según la OWASP, una de las pruebas a realizar son los ataques de fuzzing. Éstos pueden ir desde la típica búsqueda de directorios ocultos en el servidor hasta la validación de parámetros de entrada usando diccionarios.

Haciendo uso de estos últimos podemos conseguir multitud de información útil, e incluso muchas veces podemos hacer nuestro ataque a un SLQ Injection de “estar por casa”.

Etiquetado con: Continúa leyendo
26ene/102

BackTrack 4 en VirtualBox: Bueno, bonito y muy barato.

Recientemente se ha liberado la versión final de la BackTrack en su cuarta versión. Como ya viene siendo costumbre podemos bajarla en una iso o la versión para VMWare. Normalmente esta última suele ser la opción más elegida por su comodidad para el trabajo diario. ¿Pero que ocurre si no tenemos licencia delVMWare o sencillamente no queremos utilizarlo?. ¿Que ocurre si no nos gusta la versión deVMWare para Linux y nos decantamos por virtualizar con VirtualBox?.

¿Que ventajas nos aporta el utilizar VirtualBox en lugar de VMware, además de ser gratuito claro?

Desde el punto de vista de linux:

  • Más sencillez a la hora de realizar la instalación, ya que está en los repositorios.
  • Al ser código abierto podemos compilarlo, pudiendo incrementar el rendimiento.
  • El más importante, cuando actualizas el kernel del sistema has de recompilar los drivers que usa el entorno de virtualización. Esto con VirtualBox es extremadamente sencillo, ya que haciendo un "reinstall" en nuestro gestor de paquetes será él quien se encarga de volver a compilar. Con VMWare esto no es tan trivial, y más cuando aparecen errores de compatibilidad con el kernel.

Vamos a meternos de lleno con configurar nuestra BackTrack. Las opciones aquí explicadas han sido probadas con VirtualBox 3.1.

Etiquetado con: Continúa leyendo
23ene/100

La semana en Tweets

Etiquetado con: , Sin comentarios
21ene/101

HTTP client (I): python-ruby-perl

En muchas ocasiones podemos vernos en la necesidad de realizar consultas HTTP de una forma más automática, como por ejemplo hacer uso de servicios como el que comentamos en nuestra anterior entrada. Para estos casos el uso de los navegadores web puede resultar poco útil.

A continuación, y a modo de "cheat sheet", listamos sencillos ejemplos del uso de librerías para realizar peticiones HTTP en los tres lenguajes interpretados más utilizados, por lo menos por nosotros.

Python

# Importacion de las librerias.
import urllib
import urllib2
# Definicion de la URL que se pedira.
url = 'http://www.example.com/accion'
values = {'param1':'parametro','param2':'parametro'}
# Codificacion de los parametros de la url.
data = urllib.urlencode(values)
req = urllib2.Request(url,data)
# Lanzamiento de la peticion.
res = urllib2.urlopen(req)
# Mostramos los resultados.
print res.read()
# Cierre del descriptor.
res.close()

Etiquetado con: , , Continúa leyendo
17ene/100

Posible fallo en Vodafone Club 2020

El nuevo servicio de Vodafone (Club 2020) ofrece regalos (sms por lo general) a cambio de que recibas publicidad de diferentes categorías.

En un intento de automatizar el uso del servicio (después de conseguir mediante el "rasca y gana" 20 sms gratuitos) encontramos un posible fallo que permite el envio de mensajes de una forma algo "tosca" pero que puede suponer un problema, tanto para el operador como para los usuarios.

Por lo que parece, comentandolo con compañeros, cuando se realiza una petición sobre el servicio sin incluir un usuario concreto no se realiza una validación previa y la 'base de datos' devuelve los datos del usuario al que en ese momento este apuntando. Lo que permite el envio del mensaje de forma gratuita al destinatario indicado en caso de que el usuario tenga mensajes en su cuenta.

Después de ponernos en contacto con Vodafone y obtener como respuesta: "No tenemos detectada ninguna incidencia del tipo que nos comenta. Si persiste la incidencia contacte con el 123". Hemos decido publicar esta entrada con el objetivo de alertar a los usuarios del servicio, ya que estan expuestos a un posible ataque.

Etiquetado con: , Sin comentarios
Get Adobe Flash playerPlugin by wpburn.com wordpress themes