TAREA FINAL

Tarea 1 – Colaborativa “JediHackingCew”

En esta tarea puedo describir, que aunque nos atrasamos en demasía para poder formar un equipo al final se pudo crear uno e intentar trabajar en lo que se alcanzó. El equipo como se pidió lo dividimos en dos 4 para ataque y 4 para defensa.

En el ataque se asignaron a los compañeros Arely, Cristian, Nickelback y Miguel. Quienes trabajaron sobre la distribución de Kali encontrando algunas vulnerabilidades en los equipos contrarios.

En la parte de la defensa colaboramos Antonio Edgar, Luciano D’amico, Andrea y Viridiana (yo). Por esta parte configuramos políticas de seguridad cerrando puertos y desechando todo el tráfico entrante, permitiendo solo peticiones de salida y ninguna de entrada, se llevo a cabo una parte de criptografía trabajando con llaves RSA para mayor seguridad del servidor. También se hizo la administración de usuarios para no trabajar siempre con el usuario root.

Tarea 2 –  Individual

Por mi parte, me toco trabajar con la configuración de políticas del servidor para llevar a cabo el control del tráfico en el servidor, cerrando puertos y desechando peticiones de acceso.

Esto se llevó a cabo con la modificación del archivo iptables y su configuración para que se ejecutara siempre que el servidor arrancara:

vim /etc/iptables.test.rules

*Cabe destacar que si no se cuenta con el editor “vim” instalado es necesario hacerlo para poder generar el archivo

Después de editar el archivo para que activar las reglas se introdujo el siguiente comando en la terminal:

iptables-restore < /etc/iptables.test.rules

y para ver que se hayan cargado y ver el estado de los puertos se introdujo

iptables -L

una vez establecidas las reglas se salva el archivo de la siguiente manera

iptables-save > /etc/iptables.up.rules

y ahora, para asegurar que las reglas se ejecuten al reiniciar el servidor se crea otro archivo

vim  /etc/network/if-pre-up.d/iptables

con las siguientes líneas

#!/bin/bash

/sbin/iptables-restore < /etc/iptables.up.rules

e introducir el siguiente comando para dar los permisos al archivo para que sea ejecutable con el siguiente comando

chmod +x /etc/network/if-pre-up.d/iptables

Las siguientes son unas capturas de cómo quedaron las reglas

IPTABLESserver3

IPTABLESserver2

IPTABLESserver

A continuación pongo los enlaces del resto de las tareas:

UNIDAD 1

https://viri19.wordpress.com/2015/09/30/unidad-1-tarea-1-moochacking/

https://viri19.wordpress.com/2015/09/30/unidad-1-tarea-2-moochacking/

UNIDAD 2

https://viri19.wordpress.com/2015/10/09/unidad-2-tarea-1-analisis-de-trafico-wireshark/

https://viri19.wordpress.com/2015/10/21/unidad-2-tarea-2-sql-injection/

https://viri19.wordpress.com/2015/10/23/unidad-2-tarea-3-debate-sobre-etica-del-hacker/

https://viri19.wordpress.com/2015/10/23/unidad-2-tarea-4-actividad-de-reflexion/

UNIDAD 3

https://viri19.wordpress.com/2015/10/23/tarea-final/

Unidad 2 – Tarea 4 «Actividad de Reflexión»

En esta unidad pude aprender que no importan los métodos que se utilicen dentro de los recursos informáticos para la transferencia de información o para la manipulación de la misma, por más seguros que se intenten hacer, siempre habrá alguna manera de obtener al menos un poco de información que te lleven a un indicio para continuar con la búsqueda de alguna vulnerabilidad en el sistema.

Es evidente que si el posible intruso realmente desea acceder, vulnerar un sistema o aplicación, buscará la manera de romper con la seguridad del sistema, aunque algunos métodos le compliquen un poco la obtención de información como se vio en la unidad con el caso de los certificados SSL.

Si bien, siempre es recomendable utilizar métodos de seguridad que compliquen al menos poco más la entrada del intruso, como pueden ser los sistemas Detectores de Intrusos, los Sistemas de Prevención de Intrusos y complementarlos con herramientas como la criptografía y la buena configuración de un Firewall.

Otro dato que me parece importante después de las actividades de esta unidad, es que se debe estar siempre al día en cuanto a las actualizaciones de todos los servicios que se estén implementando en un sistema.

Ahora, al hablar de hackers y su ética, cabe destacar que siempre habrá dos lados, el bueno y el malo, de cada quién depende de qué lado se quiera jugar.

Unidad 2 – Tarea 3 Debate sobre ética del Hacker

¿Qué opinas sobre la acción realizada contra Hacking Team?

Pienso que lo que le paso a Hacking Team fue un gran descuido, un hueco en su seguridad obviamente, lo cual nos hace saber que ni si quiera los expertos están exentos de ser vulnerados.

Si bien, para nadie es un secreto que Hacking Team vendía herramientas para la ciberguerra a terceros por lo que podría decirse que se le dio una probada de su propio chocolate.

Lo que sí es claro es que si no te manejas con ética, no esperes que los demás lo hagan.

Lo que le sucedió a CNI, poner en manos de Hacking Team todas sus estrategias de espionaje siendo ellos un Centro Nacional de Inteligencia podría sonar totalmente absurdo, puesto que conociendo su ética dudosa y que era denominada como la empresa hackeadora, hacer esto pondría al CNI en contra de su propio código de ética (realizar espionaje) en el que se enlista por mencionar algunos de sus principios: ejercer ejemplaridad, contribuir al prestigio para la institución, velar por la reputación de la institución. Lo cual queda de lado desde su convenio con la empresa “Hacking Team”. Se supone que en el código de ética que este CNI maneja, parte de sus principios en mantener la seguridad de la nación, de los españoles, deberían haber sabido que al ponerse en contacto con una empresa como Hacking Team serían vulnerables, pues los enemigos de la misma empresa, serían enemigos de los mismos.

Me permito listar un fragmento de uno de los artículos otorgados:

«Ha habido una transición de personas que se dedicaban a la investigación y que liberaban productos a la comunidad, a modelos de comercialización de esos desarrollos»

HackingTeam era «tan odiada como todas» las empresas que realizan este tipo de actividad: esas herramientas son muy delicadas, y como cualquier otra herramienta, destacaba este experto, puede ser utilizada para buenos fines… y para malos fines.

¿Consideras que los hackers se han excedido en sus ‘funciones’?

Podría decirse que si excedieron sus funciones, pero realmente están respondiendo a lo que su entorno exige, demostrar quién es mejor en el área, y Hacking Team solo fue una víctima más del entorno para el que trabaja.

Pasarte al lado del mal  como lo hizo Hacking Team, es fácil, permanecer en él es lo complicado. Una vez estando de ese lado ganas muchos enemigos, lo cual te obliga a estar al día de todo lo que sucede en el ámbito informático, los huecos de seguridad, las ciberguerras, los posibles aliados y enemigos.

Fragmento listado en uno de los artículos otorgados para el debate:

«hacían servicios típicos de seguridad: revisiones, consultoría… y entonces empezaron a torcerse»

Entonces, los hackers solo hicieron lo mismo que esta empresa hace, violar la privacidad de la información ajena. Aunque no es justificación bien se dice que a quien obra mal, mal le va.

¿Cuáles crees que deberían ser los límites del hacker?

Si bien, para hablar de los límites del hacker es importante saber sobre qué tipo de hacker se está hablando debido a que como todo en la vida, hay clasificaciones en cuanto a los hackers no hay excepción y como se sabe, su clasificación es la siguiente: hacker de sombrero negro “black hat”, hacker de sombrero gris “gray hat” y hacker de sombrero blanco “white hat”.

  • Es bueno saber que el hacker de sombrero negro, también llamado “cracker” es sin duda de los más peligrosos puesto que no tiene límites, ya que todo lo que hace es con la finalidad de provocar daños en los sistemas o aplicaciones a las que logra tener acceso. Explota vulnerabilidades, sin duda, no tienen ética.
  • Hacker de sombrero gris, se puede denominar como un mediador entre el “black hat” y “white hat”, puesto que éste analiza y encuentra vulnerabilidades y da a conocerlas a ambas partes, tanto al “black hat” como al “white hat”, su ética claro queda en duda, puesto que pienso que probablemente esta de ambos lados para probar quiénes son más eficaces para actuar, una simple prueba. Sus límites debería ser los de observar únicamente como actúan ambos lados una vez dadas a conocer las vulnerabilidades.
  • Hacker de sombrero blanco, este tipo de hacker, si bien, cuenta con límites establecidos, analizar, encontrar y conocer las vulnerabilidades de algún sistema y aplicación. Es decir, hace un test de penetración en el mismo y le da a conocer a la empresa o usuario que cuenta con dichas vulnerabilidades y le da posibles consejos de cómo solucionarlas, pero nunca actúa en contra de ellas ni se las da a conocer a externos, únicamente a la empresa o dueño del sistema o aplicación testeada, suelen denominarse también “auditores de la seguridad”. Hackers que ponen en práctica el Hacking Ético.

Si bien, después de esta breve explicación los límites del hacker, dependen del lado en el que se encuentren “laborando” por llamarlo de alguna manera.

¿Piensas que la ciudadanía es consciente del rol que los hackers pueden jugar en favor de su propia seguridad en la red detectando aquellos sitios que no son seguros ya sea porque ponen en riesgo los datos de los usuarios o bien porque hacen un uso ilegítimos de los mismos?

No, definitivamente pienso que la gente no es consciente del rol que puede jugar un hacker en cuanto a su seguridad respecta, esto se debe a que se ha dado mal uso de la palabra Hacker a lo largo del tiempo, se piensa que un hacker por lo general es alguien que busca siempre hacer daño a cualquier recurso informático, pero la idea de eso solo la tiene un cracker o hacker de sombrero negro (black hat). Los hackers de sombrero blanco (White hat), a diferencia de los de sombrero negro, son aquellos que buscan proteger esos recursos informáticos que el cracker desea dañar.  Los hackers de sombrero gris, se limitan únicamente a conocer las vulnerabilidades y darlas a conocer.

Por ello, es importante dar a conocer a la sociedad en general todos estos conceptos.

Unidad 2- Tarea 2 SQL Injection

  • Entrada a la máquina virtual y obtención de la IP por el DHCP para el acceso al entorno gráfico en el navegador web.

U2T2SQLI1

  • Acceso a través del navegador.

U2T2SQLI2

  • Estableciendo el nivel de dificultad para explotar vulnerabilidades.

U2T2SQLI3

  • Elegir el método de trabajo para la búsqueda de vulnerabilidades

U2T2SQLI4

cabe destacar que en la práctica tuve un pequeño error y elegí SQL Injection (Blind), lo único que sucede es que este método no devuelve ningún error en la consulta, esto no quiere decir  que la vulnerabilidad no exista. De modo que no lo hace muy diferente, ya que si la consulta esta bien establecida se obtiene la información deseada.

  • Inyección básica, en este paso insertamos 1 en el cuadro de texto para generar la consulta en la base de datos, la cual, nos arrojará información acerca de los usuarios que estén en la base de datos y cuenten con el ID = 1. EL equivalente en código SQL para su consulta sería:

$getid = «SELECT first_name, last_name FROM users WHERE user_id = ‘$id'»;

U2T2SQLI5

  • Ahora, se introducirá en el cuadro de texto el siguiente comando: %’ or ‘0’=’0 , el cual pide que nos muestre todos los registros que son falsos y los que son verdaderos. Su equivalencia en SQL es la siguiente:

SELECT first_name, last_name FROM users WHERE user_id = ‘%’ or ‘0’=’0′;

U2T2SQLI6

  • En este punto se pondrá el siguiente comando en el cuadro de texto: %’ or 0=0 union select null, version() #, el cual se escribe de la misma manera en SQL. Dicho comando nos mostrará la versión con la que se trabaja la base de datos.

U2T2SQLI7

  • El siguiente comando nos mostrará el usuario que trabaja con la base de datos, el que se encarga de ejecutar todo el código: %’ or 0=0 union select null, user() #

U2T2SQLI8

  • Este comando nos va a dar a conocer el nombre que tiene la base de datos que nos encontramos analizando: %’ or 0=0 union select null, database() #

U2T2SQLI9

  • El siguiente comando:  %’ and 1=0 union select null, table_name from information_schema.tables # que va a colocarse en el cuadro de texto nos permite obtener la información sobre el esquema de tablas que maneja la base de datos.

U2T2SQLI10

como se observa en la imagen, con el simple hecho de leer el nombre de la tabla es posible adivinar el contenido de la información de la misma. Información que puede ser bastante útil para un intruso.

  •  A través del siguiente comando será posible obtener información sobre las tablas que cuenten e inicien con el campo que utiliza el prefijo «users» : %’ and 1=0 union select null, table_name from information_schema.tables where table_name like ‘user%’# 

U2T2SQLI11

  • Ahora, al introducir este comando: %’ and 1=0 union select null, concat(table_name,0x0a,column_name) from information_schema.columns where table_name = ‘users’ # en el cuadro de texto, obtendremos la información sobre todos los campos de las columnas con las que cuenta la tabla «users»

U2T2SQLI12

es posible observar a través de la imagen que este comando nos permitió saber que la tabla cuenta con las siguientes columnas: user_id, first_name, last_name, user, password. Ésta última la más importante para cualquiera que intente acceder a la base de datos y obtener información significativa de la misma, puesto que una vez conociendo las contraseñas de los usuarios podrá acceder con cualquier cuenta de usuario y realizar manipulaciones autenticándose como cualquiera de los mismos.

  • Finalmente, con este comando se pretende conocer todos los contenidos de las columnas en la tabla «users», para obtener dicha información debe introducirse el siguiente comando en el cuadro de texto: %’ and 1=0 union select null, concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) from users #

U2T2SQLI13

como se puede observar, en esta fase ya se logró obtener toda la información acerca de todos los usuarios, incluyendo sus contraseñas. Lo cual permite tener un control total sobre los mismos.

UNIDAD 2- Tarea 1 Análisis de tráfico Wireshark

TELNET

  • ¿Qué usuario y contraseña se ha utilizado para acceder al servidor de Telnet?

tarea1U2TUP

A mi punto de vista el nombre de usuario es fake porque al analizar la parte de los comandos ejecutados me di cuenta que se agregan unas letras de más y que solo las que se encuentran en color azul son las utilizadas. La contraseña puede deliberarse que es user.

  • ¿Qué sistema operativo corre en la máquina?

tarea1U2TSO

Por medio de la imagen se puede observar que en primera instancia ya aparece el nombre del SO que es OpenBSD y su arquitectura es i386, pero si nos vamos unas líneas más abajo, podemos darnos cuenta de que viene una explicación poco más extensa de los datos del SO, como que es una versión 2.6 beta y además que se trata de una distribución de los sistemas operativos Linux.

  • ¿Qué comandos se ejecutan en esta sesión?

tarea1U2TC1

Como se puede observar, los comandos ejecutados que aparecen en esta imagen son:

 ls

 ls -a

 /sbin/ping http://www.yahoo.com

tarea1U2TC2

por último en esta imagen se muestra que fue utilizado también el comando exit.


SSL

  • ¿Puedes identificar en qué paquete de la trama el servidor envía el certificado?

Tare1U2SSL1

Puede observarse en la imagen que en la trama dos se lleva a cabo el envío del certificado.

  • ¿El certificado va en claro o está cifrado? ¿Puedes ver, por ejemplo, qué autoridad ha emitido el certificado?

Tare1U2SSL2(1)

En esta imagen puede verse que el certificado esta siendo cifrado por el  algoritmo RSA, el cual se conforma por dos llaves/ claves: clave pública y una llave privada.

Tarea1U2SSL2(2)Aquí se verifica nuevamente que el método de encriptación es un algoritmo RSA , además de mostrarnos el dominio de la empresa que ha emitido el certificado «www.verising.com» la cual es una organización  estadounidense que trabaja con dominios y seguridad informática.

  • ¿Qué asegura el certificado, la identidad del servidor o del cliente?

Como pudo observarse a lo largo del análisis el certificado asegura la identidad del servidor.


SSH

  • ¿Puedes ver a partir de qué paquete comienza el tráfico cifrado?

Tare1U2SSH1

Como se muestra en la imagen, el tráfico cifrado inicia desde el paquete 20

  • ¿Qué protocolos viajan cifrados, todos (IP, TCP…) o alguno en particular?

Tare1U2SSH2

Como nos muestra la imagen, desde el paquete 20 el único protocolo que viaja cifrado es SSHv2, tanto para el cliente como para el lado del servidor.

  • ¿Es posible ver alguna información de usuario como contraseñas de acceso?

Tarea1U2SSH

La imagen muestra el análisis de una trama con protocolo TCP, es posible darnos cuenta que no hay manera de obtener información  de usuario y mucho menos de contraseñas de acceso, debido al cifrado que se les ha implementado, si esto sucede con la trama TCP con una trama SSHv2 es casi imposible obtener algún tipo de información por medio de los paquetes.

Unidad 1 Tarea 2 – MOOChacking

Link  1 y 2

http://hacking-etico.com/
Este blog me pareció interesante debido a que aunque sus publicaciones no son diarias, la información que publica son herramientas de artículos o herramientas que podrían sernos bastante útiles por lo menos teniendo el conocimiento de su existencia; aparte da ejemplos de cómo realizar algunos test de vulnerabilidades o el uso de las herramientas que se publican. Además, publica también acerca de cursos sobre Hacking Ético para diferentes niveles de habilidades.

http://revista.seguridad.unam.mx/

Es una revista de la UNAM la cual cuenta con varios artículos sobre el tema de seguridad y las tecnologías de la Información,es una reviste bimestral que además te permite descargar los artículos publicados.

Tercer Link

http://globbsecurity.com/mundo-hacker/

Este sitio me parece bastante completo, puesto que cuenta con artículos sobre muchos temas de seguridad que son bastante importantes en la actualidad, entrevistas de los mismos, proporciona información sobre eventos próximos relacionados con la seguridad informática, te permite exportar el calendario de eventos, tiene interacción con los usuarios, te permite compartir sus artículos, entre varias cosas más.

Anexo

http://www.batanga.com/tech/2007/04/09/hacking-etico-aprende-hackeandoEste artículo me pareció bastante interesante puesto que es cierto, al menos para mí, que no hay mejor manera de aprender que hacer las cosas por uno mismo. Esta página, aunque es un solo artículo, me parece que cuenta con suficientes conceptos claves que deberíamos de dominar para manejar de manera correcta un equipo y sus componentes.