jueves, 2 de agosto de 2018

Ya se viene DEFCON 26

Durante mas de 20 años las vegas concentra a una gran cantidad de entusiastas en Seguridad Informática.



Este 2018 se celebra DEFCON 26 - LAS VEGAS durante las fechas del 9 al 12 de Agosto, en Caesars Palace. Este año se espera que alrededor de 22000 lo cual hace que sea uno de los eventos mas grandes de seguridad informática a nivel mundial.

El 2017 tuve la oportunidad de asistir al evento por lo cual me gustaria compartirles mi punto de vista y algunos consejos.























El evento es excelente gran parte de las personas es especialista, y se aprende mucho acerca de nuevas tecnologías y formas de intrusión, y la comunidad Latina no se queda atras en 2017 Salvador Mendoza brindo una charla muy interesante sobre MagStripe



Algo muy interesante es Visitar las Villas, son zonas especializadas en alguna area en especifica:
  • IOT village
  • Biohacking Village
  • Packet Hacking Village
  • Crypto & Privacy village
  • Wireless Village
  • Lockpicking village
  • Hardware Hacking Village
  • Social Engineer Village
  • Entre muchos otros mas informacion de las Villas en este 2018 aquí





Por otra parte también es recomendable llevar dinero extra ya que muchos vendedores de Hardware tienen un espacio para vender interesantes dispositivos, y es muy recomendables comprarlos allí ya que muchas veces es el unico lugar donde los puedes adquirir a precios bajos.




Resguarda la comunicación:
Imagínate que habrán 22000 personas que tienen interés en seguridad informática de todas partes del mundo, alguno de ellos estará interesado en tus datos , entonces cuida tus comunicaciones. En el evento existe personas muy capaces y siempre sera bueno resguardar tu información.

Para resguardarte puedes tomar medidas básicas como por ejemplo no conectarte a redes libres o publicas, por otro lado procura que tus conexiones estén seguras a través de un VPN.


Acerca de LAS VEGAS
Tal vez no todo el día pases dentro del Congreso por lo cual puedes disfrutar de los placeres que trae las Vegas, ademas no olvides que las vegas esa situado sobre un desierto entonces hace mucha calor, y siempre debes de estar hidratado, Las Vegas es relativamente Costoso pero como en todo lado hay precios bajos y altos para diferentes actividades.

Nos vemos en las Vegas  :)

#HappyHackers

sábado, 21 de octubre de 2017

Reconocimiento Óptico de Caracteres, Un ejemplo

Hace algunos días me encontré con algunos sistemas CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) bastante peculiares en Internet con algunas características interesantes como el uso pocos colores(1,2,3), con zonas determinadas, una fuente sin curvaturas, etc,etc.


Quiero compartir un pequeño análisis


Tomaremos por ejemplo los siguientes CAPTCHAS:


Figura 1: Ejemplo Numero 1

Figura 2: Ejemplo Numero 2

Figura 3: Ejemplo Numero 3

Análisis:
Cada imagen presenta 2 colores primarios, existe una degradación entre estos colores con una serie de letras y números en el centro de la imagen.

Figura 4: Colores primarios

Al ser una imagen sencilla se resolverá en 2 pasos:

Paso 1.-

Se debe colorear cada pixel que no sea una letra de color blanco, para esto usaremos los códigos RGBA seleccionando cada pixel que no cumpla con el patrón

        • R > 170  
        • G > 220
        • B < 250 

Si se cumple el pixel se pinta de Blanco y en lo contrario de Negro.


for y in xrange(alto):
        for x in xrange(ancho):
            if (pixel[x, y][0] > 170) and (pixel[x, y][1] > 220) and (pixel[x, y][2] < 250):
                pixel[x, y] = (0, 0, 0, 255)
            else:
                pixel[x, y] = (255, 255, 255, 255)


Paso 2 .-

En la parte inferior, alrededor del 75% al 100%(tomando como punto de partida la parte superior) cumplen con el patrón anteriormente mencionado, pero al ser una zona de la imagen que no presenta pixeles significativos para este análisis, se pintan todos de Blanco.


ancho = img.size[0]
alto = img.size[1]

altom = img.size[1] * 0.78

for y in xrange(int(altom),alto):
        for x in xrange(ancho):
            pixel[x, y] = (255, 255, 255, 255) 



Estas tareas realizan modificaciones en la imagen permitiéndonos obtener lo siguiente:
Figura 5: Salida de la imagen modificada.



Pytesseract


Pytesseract es una librería para python que sirve como Python wrapper para Google Tesseract, permitiendo reconocer y/o "leer" el texto incrustado en las imágenes.

Entonces usaremos el método image_to_string y limpiando la salida de cualquier cosa que no sea un numero o letra, como se muestra continuación:

print "Opcion 1: ",
    text1 = image_to_string(img)
    salida1 = re.sub('\W+','', text1 )
    print salida1


Así también se uso otra técnica de escalar la imagen  

big = im_orig.resize((ancho * porcentaje,alto * porcentaje), Image.NEAREST)

y luego analizar esta nuevamente con Pytesseract.

El script Completo se puede encontrar en mi github:


Uso: python websis-ocr.py 15.jpg
Tomando en cuenta la siguiente imagen:

Figura 6: Archivo con el nombre 15.jpg


Figura 7: Uso del Script.


Conclusiones:
Es relativa mente sencillo crear un script para romper un Captcha sin mucha complejidad(toda la tarde de un sabado), se recomienda utilizar:

Muchas gracias por su tiempo: