domingo, 22 de mayo de 2011

Elecciones ¿Justas?

Esta mañana, como mucha gente, he ido a votar al colegio electoral que me correspondía. Iba animado, charlando con algunos familiares que me acompañaban, a ver que nos encontrábamos por allí.
La verdad es que no pensábamos que fuésemos a encontrar aquello.
Una de las cosas que mas me gustan cuando voy a votar es ver en la mesa todas las papeletas de todos los partidos, desde los mas mayoritarios, a los mas desconocidos y curiosos.

Cuando llegue al colegio, en el hall principal había una mesa grande y tres cabinas para el voto secreto. Entonces veo que en la mesa solo hay papeletas de los 4 partidos mayoritarios (que editare esto tras la jornada electoral), y lo mismo en las urnas. Me pareció extraño, no creo que solo haya 4 partidos que se hayan presentado en Sevilla, es una ciudad lo suficientemente grande como para atraer la atención de mas gente.

Empece a preguntar a los "responsables", y me explicaron que en otra sala, junto a unas cajas amontonadas, en la esquina detrás de la puerta, hay una mesita en la que hay un montoncito de papeletas de cada partido (16 partidos).

Seguí buscando responsables y al final tenia allí a una supuesta responsable "del colegio" diciendo que ellos solo habían montado esta mesa (la escondida) y a dos apoderados de un partido diciendo que ellos habían colocado bien las papeletas de su partido, poniéndolas fuera en las mesas y en las urnas. Intente depurar mas responsabilidades a ver si alguien estaba encargado de que hubiese un mínimo de igualdad, que todas las papeletas tuviesen la misma visibilidad, o al menos similar.

Los apoderados diciendo que ellos solo colocaban las de su partido y los responsables diciendo que ellos solo las ponían en la mesa oculta, así que parece que si tu partido no tiene recursos para poner un guardia vigilando en cada colegio, van a vulnerar tus derechos y tus papeletas estarán escondidas, solo disponibles para aquellos que las soliciten expresamente, vulnerando también su derecho al voto secreto.

EPILOGO: Al final, un grupo de ciudadanos anónimos vio el problema y decidió solucionarlo inmediatamente, poniendo ellos las papeletas que faltaban en la mesa de fuera. La verdad es que ha sido un acto realmente increíble, como la gente, sin importar su ideología, colocaba en las cabinas y en la mesa grande las papeletas de todos los partidos, podías ver a la misma persona colocando las papeletas de partidos de derechas como de izquierdas, para que todo el mundo tuviese la oportunidad del voto secreto sea cual sea tu ideología. Esto ha durado hasta que un apoderado del partido que se quejaba desde el principio ha llamado a los policías nacionales de la puerta para evitar que la gente siguiese poniendo papeletas en las mesas, puesto que para ellos "solo un apoderado puede tocarlas, y si esos partidos no tienen suficientes apoderados para todos los colegios, no merecen estar allí"

sábado, 3 de abril de 2010

3 etapas

Los primeros días de esta semana santa me he librado (una vez mas) de estar en Sevilla. Hemos salido los 8 peregrinos a hacer 3 etapas del camino de santiago, saliendo desde aquí, y siguiendo las flechas amarillas (que no sabíamos que existían y que ahora explicare) y las instrucciones de la pagina de consumer.

El primer día salimos sin tener mucha idea de como seria el camino, y sin saber si nos perderíamos o no, pero pronto vimos la primera de las ya mencionadas "flechas amarillas" que marcan el camino. Tuvimos mucha suerte de que estas flechas indicaran el camino, porque no conocíamos su existencia y bien podían haber sido simples garabatos puestos ahí por cualquier chaval. Fuimos siguiendo las flechas y las cosas no nos fueron nada mal.

Los dos primeros días llegamos a buena hora al albergue, cogiendo sitio en camas para dormir, aunque en castiblanco el albergue no es gratis como debería. El primer día llegamos muy bien al destino, el segundo día llegamos bastante cansados al final, algunos agotados, por eso por la mañana 3 peregrinos abandonaron el camino y cogieron el autobús. El tercer día aquí el escritor valoraba el hacer noche por el camino XD aunque al final me quedaron fuerzas para hacer una pequeña carrera con Carlos por alcanzar la cumbre del calvario (nombre mas que apropiado) y esa noche (porque cuando llegamos ya era bastante de noche) apenas podíamos movernos, en cuanto nos acomodábamos nos costaba muchísimo volver a movernos.

Por suerte nos levantamos a tiempo al día siguiente y cogimos el autobús de vuelta, que salia a la cómoda y feliz hora de las 7 de la mañana!! (después de horas de andar y habernos acostado a la 1 de la noche... chungo xD pero llegamos).

Se hizo un cuaderno de bitácoras, escrito por Carlos (dia 1) Antonio (dia 2) y ¿Pepe? (dia 3) que, si se digitaliza, se publicara en este blog.

lunes, 22 de marzo de 2010

Liquidez bancaria

Me he dado cuenta que lo malo no es "no tener liquidez bancaria", lo malo es tener mas liquidez en el banco de semen que en el banco monetario

lunes, 15 de marzo de 2010

Tuentirrorismo - Version 2.0

Hace un tiempo con unos compañeros de la facultad encontramos algunos fallos de seguridad de tuenti. Estos fallos permitían a un usuario de tuenti dejar prácticamente inhabilitados los tablones y las paginas principales de los contactos victima.

Cuando publicamos los resultados tuenti haciendo gala de buenas costumbres repararon con prontitud estas fallas de seguridad, lo cual fue, desde mi punto de vista, un buen punto para la compañía.

Ahora, con su recién inaugurado servicio de tuenti-sms han surgido algunas fallas de seguridad nuevas con las que un usuario malintencionado podría dedicarse a molestar a otros usuarios de tuenti, y en este caso, incluso podría llegar a dejar permanentemente ligado a alguien a una cuenta que no es suya.

El primer fallo se encuentra en que cuando activas tuenti-sms te envía un sms pidiendo confirmación. Esto puede parecer una buena costumbre, para verificar que el usuario esta introduciendo su numero real, pero esto puede llevar a otros efectos no deseados. Para empezar, al no existir un filtro o limite para los sms enviados, puedes elegir un numero cualquiera e inundar su bandeja de entrada de sms con peticiones de confirmación. Esto puede llegar a resultar molesto, aunque no tiene mayores implicaciones.

El segundo error puede llegar a ser aun mas molesto. Existen servicios web de envío de sms con los que puedes mandar mensajes spoofeados (con el remitente falseado). Dado el sistema de validación del numero, que es simplemente enviar un OK a un numero fijo, sin ningún tipo de código de verificación ni nada, es posible activar en un usuario cualquier numero de movil, enviando luego al numero de activación un sms con un OK y poniendo como remitente el numero que queremos unir a este usuario. Este usuario no tendrá forma de darse de baja puesto que el usuario de tuenti sera inaccesible para el, al no tener la contraseña de este.

Estos errores podrían subsanarse fácilmente. Este ultimo por ejemplo bastaría con incluir un pequeño código de verificación así un usuario malintencionado no podría dar de alta por completo a un usuario en una cuenta de tuenti cualquiera. El primer problema podría resolverse haciendo un pequeño filtro que solo te permitiese cambiar de numero 3 o 4 veces al día (ninguna persona normal cambia 3 o 4 veces al día de numero de teléfono).

Estos “errores” han sido reportados al equipo de tuenti y espero que sean corregidos cuanto antes, mientras tanto os pido que no hagáis un uso indebido de ellos, porque no es ético, dudo que sea legal, y porque os vais a quedar sin amigos por ser tan cabrones.

Tags: flood, Hacking, sms, sms spoof, tuenti, tuentirrorismo

viernes, 9 de octubre de 2009

Entre Java y C#

Hace tiempo ando liado con un proyecto en java con el que poder controlar remotamente mi ordenador desde cualquier sitio de la red. Lo mejor de hacerlo en java por supuesto es que, una vez lo tenga terminado, podria portarlo a cualquier plataforma sin tocar una linea de codigo. Vale, esta bien, si ahroa tengo un Vista o un XP lo mas seguro es que mas adelante lo que tenga sea un Windows 7…. pero no esta de mas tener esa posibilidad.

El proyecto empezo con los problemas previsibles de que hasta ahora la unica comunicacion por internet que yo habia hecho era un programita estilo chat… lo cual no tenia mucho lio, pero ahroa la intencion era poder controlar en la mayor medida posible mi ordenador desde la web, y esto incluia desde poder ver mi escritorio hasta subir o bajar archivos de mi disco duro. Algunos problemas se solventaron, otros quedaron en el aire, pero la cosa quedo paralizada hace algunas semanas cuando buscando añadirle nuevas funcionalidades, se me ocurrio que no estaria de mas poder saber si alguien andaba trasteando mi ordenador sin mi permiso, por lo tanto deberia de enterarme si alguien estaba tocando mi teclado o raton… y aqui es donde java se encuentra ante una falla insalvable

Java, y todas las ventajas que tiene, depende de su maquina virtual, una maquina que si bien es capaz de generar eventos de bajo nivel si yo se lo pido amablemente (teclear algo, mover el raton) es un tanto terca en cuanto al efecto contrario. No hay manera de pedirle que si ocurre algun evento de bajo nivel (supuestamente generado por un usuario que esta tocando cosas sin mi permiso, no los que yo mismo lanzo) que me avise de algun mudo, que mande un evento a mi aplicacion, que me diga algo… pero no, mi aplicacion permanece asilada en su mundo virtual donde solo hay eventos si el usuario pone la aplicacion en primer plano…

Como no tengo problema en aprender otros lenguajes de programacion, y como tengo ganas desde hace tiempo de meterme un poco en las tecnologias .NET, decidi “traducir” mi programa a alguno de los Cs, (C, C++ ó C#). Los problemas no terminan aqui.

Primero pense en C++, no tan complicado como C (para alguien que no ha visto apenas nada de C), y con una orientacion a objetos… no podia ser demasiado dificil. O si podia. Lo que en java me ocupaba unas lineas de nada

ServerSocket s = new ServerSocket(int puerto);

s.accept;

En C++ requeria la llamada a una libreria no estandar, declarar varios argumentos que serian necesarios para el travase de informacion y demas parafernalia, en total, que en varias paginas de codigo quizas (solo quizas) podria conseguir conectar dos maquinas. Despeus de algunos dias intentando hacerme una idea de C++, de su estructura, sus intsrucciones y demas, alguien me comento que podria probar con C#.

Pues nada, C#, un nuevo lenguaje de programacion, a ver que tal funcionaba este. No parecia especialmente complicado, empezaba a ver las similaridades entre este y Java, vamos, que empezabamos a llevarnos bien. Ya habia comunicacion entre las maquinas, ya podria hacer algunas de las cosas que tenia implementadas en Java… Y de nuevo los muros se alzaron entre mi aplicacion y la alarma de usuarios no deseados. C#, aunque no corra sobre la maquina virtual de java, lo hace sobre el FrameWork .NET de microsoft, lo cual se traduce en practicamente lo mismo que en el otro caso. Bueno, casi, en este caso al parecer si que era posible establecer una via de comunicacion y que mi aplicacion consiguiese enterarse cuando se producen eventos de bajo nivel. Solo un problema, para poder hacerlo tienes que ser una aplicacion de Win32, y yo habia definido la mia como una aplicacion de consola… De nuevo estrellado…

¿Que sera mas dificil?¿ hacer que mi aplicacion de vigilancia para mantener a salvo mi ordenador pase inadvertida para un posible usuario no autorizado?¿Volver a intentar trabajar con C++, esta vez buscando una Libreria que haga todo el lio de los sockets?¿pasarme a Basic y rezar por que en ese lenguaje las ventanas puedan ser invisibles y los eventos de bajo nivel algo cotidiano de usar?

El gran dilema, entre lo bonito y facil de usar que es java, y la gran potencialidad pero tambien complejidad de C.

viernes, 28 de agosto de 2009

TuentiForcer V0.5

Ya esta disponible la version 0.5 de mi TuentiForcer

El bloqueo de ip/cuenta por parte de tuenti parece que es intermitente, estos dias atras cuando he hecho las pruebas de funcionamiento del programa no habia ningun bloqueo, es mas, llegue a tener el programa varias horas corriendo sin problema

Sin embargo, hoy, cuando he ido a hacer algunos tests mas, entonces si me ha pillado el bloqueo de tuenti de ip/cuenta, por lo tanto parece que el bloqueo lo imponen cuando ellos ven picos de fallos o algo asi, pero no es algo constante.

Bueno, aqui dejo la primera version del TuentiForcer

Si algun responsable de tuenti piensa que esta aplicacion vulnera sus servidores, que se ponga en contacto conmigo e inmediatamente desactivare la aplicacion, que esta dotada de un sistema de desactivacion remoto, aunque como ya he dicho, dicha aplicacion, incluso sin proteccion contra fuerza bruta, es completamente inutil, puesto que nadie va a esperar 500 millones de años a ver si le saca la contraseña de tuenti

(visita www.southlol.com)

jueves, 27 de agosto de 2009

TuentiForcer

Ahora mismo ando liado (no mucho en realidad, pero bueno) con un proyecto de fuerza bruta para sacar la contraseña del tuenti de alguien.

El programa (que ahora mismo estoy en fase de ponerle interfaz grafica, puesto que una version alfa del mismo ya esta puesta a punto) lo que hace es probar todas y cada una de las posibles combinaciones posibles (de minusculas y numeros solo por ahora) y va probando con cualquier numero de caracteres, hasta uqe en algun momento da con la contraseña adecuada para loguearse.

Hasta aqui la parte bonita, ahora vienen los peros...
Una contraseña en tuenti tiene al menos 6 caracteres, asi que no vamos a tener en cuenta contraseñas mas chicas que esto. Bien, supongamos que nadie tiene como contraseña "aaaaaa" asi que no digais "pero a lo mejor a la primera encuentra la contraseña" si, a lo mejor, pero entonces es que el dueño de dicho tuenti una de dos, o tiene alzheimer y es la contraseña mas complicada que es capaz de recordar, o tenia claro que su tuenti algun dia dejaria de ser suyo, y no queria ponernoslo muy dificil.
Estabamos en 6 caracteres... alfanumericos simples... pues pongamos que tenemos 36 caracteres distintos para probar... eso nos da un total de... 36 elevado a 6 combinaciones distintas!!!!
Vale, esto cuanto es... pues asi por encima... 2176782336 posibilidades... esto, en la implementacion actual (aun por mejorar, teniendo previsto una mejora de 10 veces mas velocidad) da unos 70 años!!!
Espera, que en poco tiempo saldra la version mejorada, con peticiones en paralelo... 10 veces mejor, eso da, 7 años!! bueno, esto es un maximo, de media, mas o menos, tardara unos 3 años y medio... por supuesto desde ya se esta viendo que esto de la fuerza bruta contra tuenti es algo absurdo... Haciendo algunos calculos, un caso muy muy optimista como seria "aguaa" tarda unos 77 dias en encontrarlo (implementacion actual)
Pero esto es ponerlo muy facil, la gente suele tener contraseñas mas largas... calculemos un poco... si son 8 caracteres la cosa se pone en... 9 mil años O.o por mas que mejore mi implementacion, jamas podre aumentar la potencia del programa por mas de 9 mil, para uqe tardase menos de un año, y si fuesen 11 caracteres... 411 millones de años!!!!!
Ahora esta claro que la fuerza bruta contra tuenti es algo ridiculo, nadie con una contraseña (por insegura que sea) de mas de 10 caracteres tiene por que temer nada, el programa tardara en terminar mas de lo que cualqueir ordenador podria soportar en funcionamiento...

Ahora que esta claro que para cualquier caso practico y real el programa es completamente inutil, me atrevo a decir que cualquiera de vosotros que lo descargue lo hara por motivos meramente educativos y sin ninguna intencion de dañar a nadie (y si teniais esa intencion, seguid buscando, este no es vuestro programa)

Ahora mirando al futuro, posibles implementaciones mejoradas podrian añadir ataques mediante diccionario, que con un buen diccionario podrian encontrar contraseñas en muy muy poco tiempo. Todo dependera ya de que los usuarios no usen como contraseñas palabras que esten en un diccionario (lo que se llama una contraseña segura) y que en realidad tuenti no comete ningun error al permitir tantos intentos de conexion por parte de la misma persona, porque no conlleva ningun peligro real