lunes, 21 de septiembre de 2015

{Semana 1 - Tarea 1 y 2 } - Lo primero

Bueno día como parte de la primera semana del curso online sobre Hacking ético cubriremos las primeras tareas introductoras. Empecemos.

TAREA 1: Herramientas básicas para obtener información de servidores externos


Ping! 

Primera palabra del juego de mesa "ping-pong"; es un deporte de raqueta... esperen me confundí de "ping". En palabras cortas el "ping" nos ayuda para saber si algo esta "vivo". Si saludo por la calle a un amigo diciéndole "hola" el me responderá con otro "hola". Lo que acaba de pasar es que yo envié un paquete, el paquete fue entregado y me fue regresado otro paquete. Pero ademas del paquete recibí otro valor adicional que es el tiempo que tardo el paquete en ir y llegar.

Este valor adicional, en sus inicios ayudaba a los informáticos a determinar una distancia aproximada del atacante. Ellos hacían "pings" a servidores que conocían y con una regla de tres y haciendo ping al atacante podían saber desde donde los atacaban.

Hagamos unos "pings" sencillos y analicemos.

Para las pruebas, y evitar problemas utilicemos estos sitos. El sitio 1 es facilitado por el curso así que no hay problemas legales.

Sitio 0 - google.com.mx
Sitio 1 - www.euskalert.net


Si regresamos a la anécdota de los amigos, google sería un amigo ideal porque cada vez que le decimos "hola", nos responde con otro "hola". En cambio euskalert nos ignoraría por completo.

Pero porque algunos amigos nos ignoraran y otros responderán. La respuesta es porque a uno sus padres lo quería y al otro no. Ok no, yo támbien tenia la misma duda a lo que me respondieron con este comentario muy acertado.
Giorgina González Aguilar hola. seguramente porque tienen políticas de privacidad que bloqueen las solicitudes de ping; ya sea en su firewall, router o cualquier equipo que maneje esta capa. seguramente la pagina lo tiene permitido internamente en su red y con ciertas ips establecidas y todo lo demás cae en deny. saludos

Whois! 

Nos ayuda para obtener información de las personas quienes están detrás del servidor, correos, direcciones, teléfonos, etc. Obviamente esta información es delicada por lo cual en pleno 2015 es casi imposible obtenerlos a menos que la persona detrás del servidor así lo quiera.

Corramos el comando whois con nuestros dos sitios anteriores y analicemos.


Nada que nos ayude, intentemos con el siguiente sitio.



Euskalert nos facilita nombres, direcciones, teléfonos de las personas fundamentales sobre el sistema. No sería complicado buscarlas e invitarles una "tacita de café" para hablar sobre ciertos temas ;)

Nmap 

Es palabras simples y sin tanto tecnicismo, nmap es nuestro espia personal. Porque el nos ayudara a identificar que puertos tiene abiertos, sistema operativo con versión, aplicaciones instaladas y mucha información más del servidor objetivo.

Como hemos venido trabajando, hagamos los ejemplos de los dos sitios anteriores.

Escaneo de puertos




  • El puerto 80 (servicio HTTP) está abierto – Estado open (Hay un servicio escuchando en ese puerto)
  • El puerto 443 (servicio HTTPS) está abierto – Estado open (Hay un servicio escuchando en ese puerto)


Para el sitio siguiente es imposible escanearlo ya que en esté momento acaba de caer o ¿lo abre tumbado por escanearlo? (Lo dudo) (Lunes 28 sep. ~17:56).


Existen distintos tipos de scan, de hecho el tipo de scan por defecto puede variar en función del usuario que lo esté ejecutando, por aquello de los permisos de enviar RAW packets durante el scan. La diferencia entre unos y otros scan radica en el “ruido” generado, y en su capacidad de evitar ser detectados por sistemas de seguridad como pueden ser los cortafuegos o los IDS/IPS. - hacking-etico

Escaneo de puertos con aplicaciones y versiones 




Para google tenemos que en el puerto 80 hay un servicio TCP, usando el software Google httpd en su versión 2.0 y es el mismo software para el puerto 443 para para servicios SSL. El sistema operativo es Linux.

Y basados en la pagina de nvd "Google httpd" no tiene vulnerabilidades.



Como la pagina de euskalert sigue caida usaremos el sitio que proporciona nmap para las pruebas.


Para scanme.nmap.org tenemos que esta escuchando un servicio SSH en el puerto 22 con el software OpenSSH versión 6.6.1p1. También en el puerto 80 tiene el servidor web Apache versión 2.4.7.

Esta información es util para posibles atacantes ya que pueden checar la aplicación con su versión y ser si cuenta con alguna vulnerabilidad, para la versión 2.4.7 existen seis vulnerabilidades.



Con esto concluimos la importancia de estar al pendiente de las actualizaciones de nuestro sistema y procurar que siempre estar al día, para reducir lo mas posible los ataques.

TAREA 2: Búsqueda y puesta en común de recursos


Algo al estilo blogger, s2group nos mantiene al tanto de lo que pasa en el ambiente de seguridad informatica.  Se actualiza cada 2-4 dias. -  Link

Blogger de hacking etico. - Link

Y el famoso Dios Chema Alonso - Link

martes, 27 de mayo de 2014

Ultimos detalles

Ya para terminar con lo que es la redacción del trabajo se corrigieron detalles en la redacción, mayormente por errores ortográficos y uno que otro error estético. La redacción en lo que fue el transcurso del semestre fue pesada haciendo que el trabajo de investigación estuviera más complicado de lo que se tenia pensado antes de empezar todo. Pero en general estoy bien, se que se puede mejorar, pero en estos momentos es lo mejor que se puede hacer.

Para el código se escribió una sección donde se muestran los resultados del caso. Los datos están hardcodeados para cuando se cuente con los verdaderos y se hicieron correcciones en labels y se agregaron más comentarios.

Área de resultados (provisional).

sábado, 24 de mayo de 2014

Instalar openCv en mac

Para esta entrada explicare los pasos necesarios para instalar como el titulo lo dice: openCv en mac.

Estoy trabajando con python 2.7 y bajo Mavericks.

Reconociendo el problema
El problema surge al presentarse el mensaje de la siguiente figura

No module named cv
Solución
La instalación se hará con brew y los comandos son los siguientes

brew install homebrew/science/opencv
o
brew install opencv

brew link --overwrite --dry-run opencv

Después con su editor favorito modifiquen se archivo .bash_profile y agreguen las siguientes lineas:

export PYTHONPATH=/usr/local/Cellar/opencv/2.4.9/lib/python2.7/site-packages:$PYTHONPATH
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH 



Nota: Recuerden cambiar los numeros "2.4.9" por su versión de opencv.

y listo, reincien terminal y  no tendrán más errores. 








miércoles, 21 de mayo de 2014

Ultimas semanas

Que tal, ya se aproxima fin de semestre y con ello las entregas finales de tesis; no!, no!, no estoy nervioso. Para ello esta entrega se dedicó a limpiar la tesis y terminar algunos párrafos que se tenia pendientes para que sea evaluada por el comité y retroalimente con sugerencias.

En lo que refiere al manuscrito, se tienen cubiertas todas las secciones excepto experimentos y resultados, ya que al solo tener un pequeño demo y aun estar de desarrollo estas secciones no pueden completarse al 100%. Se calcula que para el fin de semana (23 al 25 de mayo) el demo esté en un 80-90% y completar tesis con los avances hasta ese momento.

miércoles, 30 de abril de 2014

Regresando de "Semana santa" - Presentación

Que tal después de dos semanas sin escribir algo relacionado con la tesis, he regresado con nuevos avances detallados a continuación:

Se simuló que el procesamiento sobre la radiografía ya estaba terminado y partiendo de ahí y de forma random se escogieron posibles parámetros que podría arrojar un procesamiento.

Se aprendió a crear los puntos cefalométricos por el método de Steiner, ya se adquirió los conceptos de ortodoncia y se puede mantener una conversación con un ortodoncista.

Se agregarón nuevas partes a la tesis, puliendo en un 85% aquellas que no fueron modificadas. Las imagenes se tienen en un 80% y por parte del contenido... ya me gusta pero aun me están faltan las dos ultimas secciones.

Componentes con información interactiva, todo se actualiza sin necesidad de presionar algún tipo de botón.

Por parte de la presentación se terminaron todas las secciones que hasta el momento se tiene completas, dejando resultados y conclusiones aun en proceso. Y durante esta semana se estará trabajando en los detalles que hoy se detecten y practicando para su exposición.

Cosas que faltan por implementar y tiempo de complejidad: 
Procesamiento = 7-8 dias.

Sección en la interfaz gráfica donde se muestre los resultados del procesamiento así como el botón de "Generar reporte" el cual hará un PDF con la tabla es resultados y la radiografía resultante (ya con medidas y ángulos) = 6-7 hrs (acomodar cosas en un PDF es algo tedioso).

Dar un validación de los capítulos 5-6 sobre acentos = 1 hr.


martes, 8 de abril de 2014

Semana 11 - Conclusiones y pulir errores

Para esta semana, se nos dio a la tarea de escribir lo que serán nuestras conclusiones finales o tenerlas claras. Para esto me apoye de los capítulos pasados y de las gráficas para tener una mejor idea. En la redacción se intento cubrir todos los puntos que ayudar el software final y en que exactamente ayudaría a los principales usuarios(clientes).

Tesis

En los días pasados, se cambiaron frases ambiguas o mal estructuradas, se hizo corrección de acentos, se redacto mas el capitulo cuatro y cinco y un poco del 6, se corrigió la bibliografía(los errores marcados), se escribió una pequeña conclusión, se aprendió hacer el método Steiner a mano para su codificación y se codearon dos nuevas áreas que no se habían contemplado.

Hablemos un poco se Steiner...
Steiner es un de los muchos métodos que existen en el área de ortodoncia para deducir un caso, es el mas usado por consultorios y la mayoría de los estudiantes sabe hacerlo. El proceso de deducir un caso al 100% para un ortodoncista experto es de casi 2 hrs. Ellos tienen que llevar la radiografía a una computadora que cuenta con un software especial para hacer los cálculos de la medidas y ángulos, después estos resultados van a otra computadora para recibir las interpretaciones y base a esas interpretaciones el ortodoncista hace un diagnostico. Aun siendo un experto este proceso es algo "largo". Lo que busca solucionar el programa desarrollado en la presente tesis es englobar todos esos "pasos" en un solo y que te de un diagnostico y no solo limitarlo a expertos, cualquier persona con acceso al sistema podrá hacer un diagnostico.

Todo esto lo platico para que tengan un idea de que no hay tanto apoyo en el área de ortodoncia. Cuando nos juntamos con los ortodoncistas, Raul (un compañero también tesista) y yo, nos comentaban que no existía un programa que lo hiciera, existía uno que tenia solo un dentista pero te cobraba la licencia en 2,000 pesos mexicanos para poder usarlo y no estaba tan completo a lo que se pretende desarrollar. Mas que buscar un "pago" por el sistema, buscamos reputación que ahorita es lo nos sirve más.

Código

En las pruebas de usabilidad, un punto que se fijaron mucho es que los botones no tenían imágenes, en este momento el programa no tiene imágenes pero ya se tiene un código ayuda y las imágenes conseguidas la mayoría de aq para agregarlas.

Se terminaron de codificar la pestaña "área" y "ortodoncista" ambas ya se sincronizan con otro campos de otras pestañas, la se programo la simulación que tendrá que hacer un usuario al usar el sistema, con botones que habilitan y deshabilitan para reducir los errores, mensajes de alerta y en un 65% se validaron campos.

Pantalla inicial

Imagen en tamaño real al momento de cargar una image. Aparecen nuevas opciones al momento de cargarla.

Reafirmación del procesamiento sobres la imagen.

Pestaña "Ortodoncistas". Los botones ya están funcionando solo falta agregar imagenes y colores. 

Pestaña "Areas". Los botones ya están funcionando, falta agregar imagenes y colores.


Los colores y diseño (bordes redondeados, sombras, espacios) se estarán aplicando después de todo el procesamiento.


Próximo avance

El lunes se tiene una junta con los doctores para ver un software que ellos utilizan para el proceso de diagnostico, la idea es analizarlo buscando que se puede aplicar y como aplicarlo en el nuestro.

La "semana santa" no será tan "santa" con nosotros(los tesistas).


miércoles, 2 de abril de 2014

Semana 10 - Gráficas, gráficas y más gráficas

Que tal para esta semana se nos encargo gráficar todos la mayoría de los experimentos que aplican en la presente tesis. Esta tarea me resulto pesada desde la instalación de librerías hasta la creaciones de las gráficas.

Mis gráficas están echas en papel, siempre hago dibujos de como quiero que queden las cosas antes de empezar hacer algo, en la fase de construcción con gnuplot fue muy complicado ya que tenia que hacer algo idéntico a lo que tenia dibujado, tenía que jugar con configuraciones que desconocía (no sabia que existían), parámetros raros y coordenadas cartesianas.

Fue muy lento el proceso de creación pero satisfactorio, cada vez que veía que la figura me estaba quedando como lo que tenia dibujado era algo emocionante. Me quedaron muchas gráficas por hacer pero son una semi-replica de las gráficas pasadas solo cambia la forma en mostrar los datos.

El proceso de escribir tesis se pauso esta semana, ya que tuvimos varias juntas con los ortodoncistas que era mucha información nueva y de otra área que teníamos que procesar para seguir sin problemas en la tesis. En la primera junta tocamos temas de cefalometría y los diferentes tipos que existen para llegar al mismo resultado. De todos los tipos que existen decidimos enfocarnos a la cefalometría de steinner ya que esta es la mas usada por todos los ortodoncistas. Nos enseñaron como es el proceso que estamos intentado resolver (la hipótesis) y efectivamente hay mucha área donde la visión computacional puede hacer de las suyas.

En las semanas pasadas la tesis estaba enfocada a términos de vision computacional esto por la falta de juntas con ortodoncistas que nos guiaran sobre términos, metodologías y palabras que ellos usan. Se limitaron los objetivos que los ortodoncistas tenían en mente a cambio nos ayudarán a todo lo relacionado con información y garabatos, todo lo que entra en la bibliografía. Se definieron palabras como "norma", "interpretación", "alcance" ademas de todas las que usan los dentistas. Por dar un ejemplo, criterio SNA, SNB, ANB, goGn-SN, protusivo, lingualizado, etcetera.





La tesis en lo que a codificación se refiere ya tiene objetivos claros y también se cuenta con los tipos de datos de entrada. Se estará trabajando con radiografías computarizadas y sobre ella se hará el procesamiento adecuado.

Que empiece el desm... juego.