1 00:00:00,000 --> 00:00:01,520 Buenas chicos, ¿qué tal? 2 00:00:02,319 --> 00:00:08,699 Vale, a ver, en este vídeo os voy a corregir un poco lo que habría que hacer en la práctica 24, ¿vale? 3 00:00:08,800 --> 00:00:15,699 Como la segunda parte del lado del mal y... bueno, la segunda parte de la práctica anterior, de la 23, ¿vale? 4 00:00:15,859 --> 00:00:23,160 Aquí veis como tengo ya mi equipo, mi cortafuegos configurado, donde tenéis, como hemos visto a lo largo de este tema, 5 00:00:23,160 --> 00:00:25,059 mi red verde 6 00:00:25,059 --> 00:00:27,160 con la 28027 y la red roja 7 00:00:27,160 --> 00:00:29,120 pues una dirección 8 00:00:29,120 --> 00:00:31,179 por DHCP que me da mi router 9 00:00:31,179 --> 00:00:34,159 de mi casa, la 192.168.1.14 10 00:00:34,159 --> 00:00:35,320 vale, aquí 11 00:00:35,320 --> 00:00:36,399 como veis, pues 12 00:00:36,399 --> 00:00:38,960 si hago un sudo if config 13 00:00:38,960 --> 00:00:41,020 alumno 14 00:00:41,020 --> 00:00:42,979 vale, ahí veis 28029 15 00:00:42,979 --> 00:00:44,799 la mejor prueba ya sabéis 16 00:00:44,799 --> 00:00:47,119 un tracerrute a 17 00:00:47,119 --> 00:00:48,719 el lado del mal 18 00:00:48,719 --> 00:00:51,219 punto com, vale, estáis viendo que pasa 19 00:00:51,219 --> 00:00:52,880 por el cortafogos, por la máquina 20 00:00:52,880 --> 00:01:05,719 IP file, luego va al router y luego da diferentes saltos por internet. En el ejercicio lo primero que os decía es, os ponía con un asterisco, es que borrarais 21 00:01:05,719 --> 00:01:18,540 todas las reglas de la tabla filter. Y luego establecer la política por defecto de ACEP a input, output y forward. Pues voy a ello. Ya sabéis, IP tables, menos F 22 00:01:18,540 --> 00:01:32,099 y me borrarían las cadenas de la tabla filter. Si pongo "-t filter", sería lo mismo, pero bueno, yo tengo la costumbre de poner el "-f", directamente, porque lo borra de la tabla filter, ¿vale? 23 00:01:32,099 --> 00:01:54,260 Y ahora, bueno, IP tables, SNL para mostrar y por ejemplo input, ¿vale? Output, ¿vale? Y forward. Vale, yo he tenido la suerte de que las tres políticas se mantienen AC, pero hay veces que el sistema funciona de otra manera y nos la pone como drop. 24 00:01:54,260 --> 00:02:11,680 Entonces hay que establecer las políticas por defecto, ¿vale? Ya sabéis que para ponerlas sería menos p forward, uy, mayúscula, ¿vale? Menos p input y menos p out, ¿vale? 25 00:02:12,580 --> 00:02:21,400 Y tendríamos ya como política por defecto una política permisiva, es decir, estamos aceptando todos los paquetes para esas tres cadenas que son las que vamos a utilizar, ¿vale? 26 00:02:21,400 --> 00:02:39,280 Vale, primer punto. En el primer punto, bueno, pues lo que os decía, os estaba contextualizando una situación que os contratan como administradores de sistema del instituto, ¿no? Entonces, nos estamos dando cuenta que desde un equipo se está conectando a este juego, a SSH Tron, ¿vale? 27 00:02:39,280 --> 00:02:54,120 Entonces yo voy a copiarlo y vamos a ver cómo desde mi máquina terminal puedo hacer una conexión SSH, como ya sabéis es conectarnos a través en este caso de un terminal a una máquina remota, ¿vale? 28 00:02:54,120 --> 00:03:09,460 Ahí vemos y vemos cómo el juego, aunque no podamos jugar ni yo sepa muy bien cómo jugar, pues vemos cómo nos podemos jugar, ¿no? Como si fuera una, lo he conocido como una serpiente de antaño, ¿vale? 29 00:03:09,460 --> 00:03:19,520 Vale, entonces me dicen, pues se os ha detectado que desde esta IP se está jugando a este tipo de juegos, ¿no? 30 00:03:20,020 --> 00:03:26,840 Entonces, ¿para qué se utiliza el protocolo SSH? Nos preguntan. Bueno, como os digo, el protocolo SSH se utiliza para conexiones remotas, ¿no? 31 00:03:26,840 --> 00:03:30,819 En este caso a través de un terminal. Conectarnos a otro equipo. 32 00:03:31,719 --> 00:03:35,280 Luego, ¿en qué puerto TCP se ejecutan por defecto las conexiones SSH? 33 00:03:35,280 --> 00:03:38,360 las conexiones en SSH se ejecutan por defecto 34 00:03:38,360 --> 00:03:40,080 que veremos como en el siguiente, no es así 35 00:03:40,080 --> 00:03:41,560 en el siguiente ejercicio, el siguiente punto 36 00:03:41,560 --> 00:03:44,319 en el puerto 22, esto tenemos que saberlo 37 00:03:44,319 --> 00:03:46,020 entonces lo que nos piden 38 00:03:46,020 --> 00:03:47,680 es crear una regla 39 00:03:47,680 --> 00:03:49,740 para cerrar todas las conexiones 40 00:03:49,740 --> 00:03:51,639 SSH a esta IP 41 00:03:51,639 --> 00:03:53,939 ¿vale? y una vez, pues eso 42 00:03:53,939 --> 00:03:55,719 comprobamos que desde nuestra máquina Kali 43 00:03:55,719 --> 00:03:58,259 que no es esa IP, podemos seguir jugando 44 00:03:58,259 --> 00:03:59,639 ¿vale? entonces voy a IP Fire 45 00:03:59,639 --> 00:04:01,659 y sería IP Tables 46 00:04:01,659 --> 00:04:04,020 menos A, porque quiero añadir una regla 47 00:04:04,020 --> 00:04:10,539 Quiero añadirlo en forward porque nuestra máquina IPFire, nuestra máquina de cortafuegos es una máquina intermedia 48 00:04:10,539 --> 00:04:16,939 Es decir, la conexión se está realizando desde el Kali hacia Internet y nosotros somos una máquina intermedia 49 00:04:16,939 --> 00:04:23,740 Menos P porque SSH va en la capa de transporte sobre TCP 50 00:04:23,740 --> 00:04:29,500 El puerto destino, es decir, las peticiones SSH se están haciendo al puerto 22 51 00:04:29,500 --> 00:04:32,060 y lo que queremos hacer es 52 00:04:32,060 --> 00:04:33,660 nos dice que 53 00:04:33,660 --> 00:04:36,459 impedir, ¿vale? 54 00:04:36,560 --> 00:04:37,139 no nos dice 55 00:04:37,139 --> 00:04:40,339 que da igual 56 00:04:40,339 --> 00:04:42,279 ni drop o reject 57 00:04:42,279 --> 00:04:44,300 da igual, ni rechazar ni desechar, ¿vale? 58 00:04:44,339 --> 00:04:46,240 en este caso, pues yo voy a poner 59 00:04:46,240 --> 00:04:47,240 un reject, ¿vale? 60 00:04:49,910 --> 00:04:51,490 y lo tenemos, si hago un iptables 61 00:04:51,490 --> 00:04:54,129 menos nl 62 00:04:54,129 --> 00:04:55,329 forward 63 00:04:55,329 --> 00:04:57,870 ahí veis 64 00:04:57,870 --> 00:04:59,490 la regla, ¿qué pasa ahora? 65 00:04:59,490 --> 00:05:12,329 he metido la IP, uy, me he equivocado, vale, mira, vamos a hacer una cosa así, borramos menos D, claro, he creado una regla que cierre todos los servicios SSH 66 00:05:12,329 --> 00:05:23,670 para cualquier IP, vale, entonces si hago un menos D forward 1, me ha borrado esa regla, vale, entonces voy a hacer pase IP, me faltaría que aquí, 67 00:05:23,670 --> 00:05:42,959 que la dirección origen menos s es 192.168.1.10, ¿vale? Ah, bueno, no he puesto el punto. Ahora sí. Y si veis aquí, pues ya veis cómo hemos cerrado. 68 00:05:42,959 --> 00:05:52,120 Oye, rechaza el protocolo TCP de la IP origen 192.168.1.10, el destino cualquiera y en el puerto 22, ¿vale? 69 00:05:52,220 --> 00:06:02,300 Ya sabéis que si ponéis un L sin el N, veis como en la parte derecha en vez de salir el puerto 22 sale el rechazo SSH, ¿vale? 70 00:06:02,339 --> 00:06:09,759 Entonces vais a ver aquí como ahora mismo, si yo me vuelvo a conectar al jueguecito este, pues puedo seguir jugando, ¿vale? 71 00:06:09,759 --> 00:06:32,180 Vale, vamos a la actividad. Luego nos dicen cómo restringimos el acceso a las conexiones SH desde nuestro cliente. En este caso, pues muy fácil, igual que hemos restringido para esta IP, pues tendremos que restringirla para la dirección de nuestra máquina cliente. 72 00:06:32,180 --> 00:06:55,680 En este caso, 28.0.29. Bueno, podemos reutilizar la anterior y la IP es 20.8.0.29. Y ya veis cómo tenemos ahí, voy a hacer un clear que se ve mejor nuestras dos reglas para esas dos IPs. 73 00:06:55,680 --> 00:07:08,060 Si yo ahora pruebo jugar al juego, veis que me rechaza directamente. La conexión es rechazada. Entonces, esa parte ya estaría. Implementa dicha regla y verificamos que la conexión es rechazada. 74 00:07:09,019 --> 00:07:22,399 Luego nos encontramos que se ha corrido la voz y que todo el instituto está disfrutando de este tipo de juegos. Es decir, que borremos las dos reglas anteriores e implementemos una única regla para impedir conexiones SSH desde cualquier origen, desde cualquier IP. 75 00:07:22,399 --> 00:07:24,779 ¿Vale? Entonces lo que tengo que hacer es borrar estas 76 00:07:24,779 --> 00:07:26,000 Puedo hacer un iptables 77 00:07:26,000 --> 00:07:28,379 Menos f 78 00:07:28,379 --> 00:07:30,879 Y borro todas las de forward, fijaros 79 00:07:30,879 --> 00:07:33,000 Y ya tendría que hacer 80 00:07:33,000 --> 00:07:34,819 Esta misma regla 81 00:07:34,819 --> 00:07:36,420 Pero como quiero desde cualquier ip 82 00:07:36,420 --> 00:07:38,180 Pues borro el origen 83 00:07:38,180 --> 00:07:40,839 Entonces ya tenemos esta regla 84 00:07:40,839 --> 00:07:42,160 ¿Vale? 85 00:07:42,459 --> 00:07:43,839 Entonces si ahora voy desde aquí 86 00:07:43,839 --> 00:07:46,019 Como he censurado, he cerrado 87 00:07:46,019 --> 00:07:47,779 La conexión desde cualquier ip 88 00:07:47,779 --> 00:07:49,439 Me la rechace igualmente 89 00:07:49,439 --> 00:07:49,980 ¿Vale? 90 00:07:49,980 --> 00:08:04,420 Y este sería el apartado primero. En el segundo os digo que, oye, hay una fiebre por el hacking ético en el instituto y todo el mundo se quiere conectar a Over the Wire para hacer sus pinitos, ¿no? En este mundo. 91 00:08:04,879 --> 00:08:16,980 Entonces, claro, lo que os digo aquí es que el objetivo de este nivel es que os conectéis por SSH, ¿vale? Lo importante es decir SSH. Voy describiendo. SSH, ¿vale? 92 00:08:17,800 --> 00:08:41,620 Luego lo que nos dicen es, oye, que te conectes aquí, ¿vale? Pues yo lo copio, ¿vale? Nos conectamos ahí. Y así hemos hecho en el apartado anterior, pero aquí lo que pasa es que también nos está diciendo, oye, que en el puerto 22 no, que te conectes en el 2220, que el servidor en este caso está escuchando en el 2220, ¿vale? 93 00:08:41,620 --> 00:09:04,500 Entonces, SSH tiene opción para indicar el puerto, 2220, ¿vale? Y por último te está diciendo que el usuario es bandit0 y el password también es bandit0, ¿vale? Entonces, bandit0, arroba, ¿vale? Bandit, no sé si lo he puesto bien, ¿vale? Y estoy dentro de la máquina, ¿vale? 94 00:09:04,500 --> 00:09:33,559 ¿Qué problema hay? Evidentemente hace una conexión SSH, pero SSH escucha por defecto en el puerto 22. Aquí ya estamos viendo que escucha en el 2220, ¿vale? Entonces, claro, ¿qué nos dicen? Bueno, aquí os digo que justifiquéis la respuesta y que queremos una regla que impida las conexiones hacia el puerto indicado, saltando un timeout al no poder realizarse la conexión con la máquina destino, ¿vale? 95 00:09:33,559 --> 00:09:56,179 Entonces voy aquí, ¿vale? Y tengo un IPv2 menos a forward, va sobre TCP evidentemente y el puerto será 2220. Es importante lo que os digo esto, os digo que salte un timeout, es decir, cuando hacemos un rejet lo que hace la máquina destino es rechazarnos y darnos un aviso, 96 00:09:56,179 --> 00:10:17,779 no es que, oye tío, que aquí no puedes entrar, pero lo que hace el drop es cuando llega al destino el paquete, en este caso a la máquina IPFire, lo tira a la basura sin más, entonces claro, nosotros estamos haciendo una petición a un sitio que no nos va a responder, entonces por defecto en nuestra máquina habrá un temporizador que cuando diga, oye, es imposible conectarme, se acabó, ¿vale? 97 00:10:17,779 --> 00:10:35,460 Entonces, fijaros, yo he puesto esa regla al 2, 2, 2, 0 por drop. Entonces, ahora fijaros, si yo intento conectarme, nadie me responde, ¿vale? Es diferente a como sería en Rejet, ¿vale? 98 00:10:35,460 --> 00:11:05,850 Si, por ejemplo, fijaros, para volver a hacer la prueba, si voy aquí, me voy a cargar la regla y pongo la regla que he puesto, pero en vez de drop, reject, pues entonces lo que va a pasar aquí es que la conexión me la va a rechazar, ¿lo ves? En el puerto 220, conexión rechazada, ¿vale? Y eso creo que es lo que os pedía en el ejercicio 2, ¿vale? 99 00:11:06,549 --> 00:11:11,529 Seguimos. Bueno, ahora queremos ver Star Wars vía terminal, ¿no? 100 00:11:13,649 --> 00:11:18,990 Entonces yo, por ejemplo, entro aquí y veo que me puedo conectar vía Telnet, ¿vale? 101 00:11:20,070 --> 00:11:23,590 Tardo un poquito, pero bueno, yo creo que empieza ahora. 102 00:11:25,129 --> 00:11:26,950 Bueno, mientras va empezando os voy contando. 103 00:11:27,450 --> 00:11:32,409 ¿Qué es Telnet? Pues es lo mismo, al final es lo mismo que SSH y Telnet está en desuso. 104 00:11:32,529 --> 00:11:35,950 Yo, por ejemplo, en la época universitaria sí me conectaba a algunas máquinas por Telnet. 105 00:11:35,950 --> 00:11:48,610 Pero Telnet no es seguro y en la actualidad todas las conexiones suelen ser SSH, ¿vale? Por ejemplo, en este servidor, pues bueno, utiliza Telnet, pero es para que conozcamos otro servicio, ¿no? 106 00:11:48,649 --> 00:11:55,750 Entonces, ¿en qué puerto TCP escucha? En el Telnet escucha en el puerto 23, ¿vale? Como veis aquí está empezando la película. 107 00:11:58,070 --> 00:12:04,830 Voy a bajar un poco más para abajo y claro, pues eso, que instalemos la herramienta Telnet, que yo no sé si la tengo. 108 00:12:06,960 --> 00:12:13,320 Voy a ver. Ah, bueno, claro, evidentemente la tengo porque me estoy conectando a la película. Olvídalo. 109 00:12:13,879 --> 00:12:17,860 Vale, y luego hablamos con Emiliano y Emiliano dice que quiere cerrar todas las conexiones Telnet. 110 00:12:18,279 --> 00:12:22,320 Vale, verificamos que la regla creada y comprueba desde la máquina Linux es imposible acceder. 111 00:12:22,320 --> 00:12:26,000 Vale, pues es lo mismo. Ahí vemos las naves de Star Wars, ¿vale? 112 00:12:26,000 --> 00:12:45,480 Vale, entonces voy a salir de este terminal y voy a configurar una regla, ¿vale? Para evitar que desde cualquier IP, es decir, todas las conexiones, es decir, todas, entonces lo que voy a hacer es configurar una regla que es la misma que la anterior, pero en este caso que sea en el puerto 23, ¿vale? 113 00:12:45,480 --> 00:13:11,539 Entonces, si voy aquí, vais a ver como ahora mismo no me deja, o sea, la red está inalcanzable, ¿vale? Y eso es lo que os pedía en el apartado 3, ¿vale? Si borro la regla, pues lo de siempre. Voy aquí y ya veis que vuelve a conectarse al cine con Star Wars, ¿vale? Perfecto. 114 00:13:11,539 --> 00:13:32,259 Vale, vamos a la 4. Rayo Vallecano. Vale, vemos que el tráfico diario a la página del equipo, bueno, hipotético todo, ¿no? Ha aumentado considerablemente. Entonces, claro, lo que nos está diciendo es que, joder, vamos a restringir el acceso a esta web. 115 00:13:32,259 --> 00:13:35,019 pero en el proxy web 116 00:13:35,019 --> 00:13:36,179 que podemos utilizar 117 00:13:36,179 --> 00:13:38,019 y el que por ejemplo utiliza el instituto 118 00:13:38,019 --> 00:13:39,519 opera a nivel de la aplicación, es decir 119 00:13:39,519 --> 00:13:41,620 podemos utilizar el nombre de dominio 120 00:13:41,620 --> 00:13:44,299 rayoballecano.es para restringirlo 121 00:13:44,299 --> 00:13:46,879 pero como iptables funciona a nivel de red 122 00:13:46,879 --> 00:13:48,879 y a nivel de red la herramienta que tenemos 123 00:13:48,879 --> 00:13:50,940 es la dirección ip para restringir 124 00:13:50,940 --> 00:13:53,360 entonces con eso tenemos que trabajar 125 00:13:53,360 --> 00:13:55,340 si os fijáis en ninguna regla 126 00:13:55,340 --> 00:13:57,480 yo puedo entrar a la web del rayoballecano 127 00:13:57,480 --> 00:14:01,210 pero 128 00:14:01,210 --> 00:14:03,509 quiero saber la ip 129 00:14:03,509 --> 00:14:32,490 Entonces, para la IP os digo que utilicéis NSLOOKUP, ¿vale? NSLOOKUP lo que nos permite es sacar las IPs o los nombres de dominio de uno u otro, ¿vale? Introducción de uno u otro, ¿vale? En este caso, la web del Rayo Vallecano tiene la IP, responde a la IP 178.2498.132. Es decir, tengo que hacer una regla para evitar el acceso a esta web, ¿vale? 130 00:14:33,509 --> 00:14:44,370 es muy importante porque yo quiero cerrar el acceso web, es decir, imaginaros que el rayo Vallecano tiene un acceso de correo electrónico o un acceso por SSH, 131 00:14:44,370 --> 00:14:57,830 solo quiero cerrar el acceso web, si os fijáis la web del rayo, aquí está, funciona sobre, no es segura, es decir, en este caso funciona sobre HTTP, 132 00:14:57,830 --> 00:15:27,090 vale, entonces lo que tenemos que cerrar es el puerto 80, vale, voy a hacer un clear, vale, entonces tendré que hacer iptables menos a forward menos p, porque ya sabéis que va sobre tcp, ya sabéis que tenéis tcp, udp o icmp para los pines, pero en este caso va sobre tcp, http, vale, la dirección destino sería la del radio vallecano, es decir, a donde nos queremos conectar, 133 00:15:27,830 --> 00:15:40,190 Que en este caso, ahí está, lo voy a poner aquí, es 178.249.8.132. 134 00:15:41,370 --> 00:15:48,690 El puerto destino será el 80 y menos j, pues queremos que nos haga un rey. 135 00:15:50,909 --> 00:15:51,870 Vamos a verlo. 136 00:15:52,490 --> 00:15:55,870 Que luego se ve bastante bien, aunque IPFire no nos lo va a mostrar del todo bien, 137 00:15:55,870 --> 00:16:06,330 porque el interfaz, el terminal, pues bueno, nos da lo que da, pero como ya veis, rechazados, conexiones TCP desde cualquier origen, es decir, de cualquier IP del instituto, 138 00:16:06,409 --> 00:16:16,110 desde cualquier ordenador, hasta el IP del rayo y en el puerto 80, ¿vale? El puerto 80, ya sabéis, ahí lo tenéis, ahí, el rechazo de HTTP. 139 00:16:16,110 --> 00:16:38,230 Entonces, ahora sí voy a cerrar. ¿Qué pasa? Pues que no me conecta, ¿vale? Así es. Vale, chicos, pues eso. En la 5 os decía que nos hemos puesto muy quisquillosos en seguridad y queremos restringir a todas las web bajo HTTP, ¿vale? 140 00:16:38,230 --> 00:16:54,950 Entonces, pues yo, por ejemplo, eliminaría o no eliminaría, podría meter todas y meter una nueva regla, pero bueno, en este caso yo voy a borrar la del RAL, ¿vale? Y vais a ver cómo, bueno, ahora volvería a entrar, evidentemente, ¿lo veis? 141 00:16:54,950 --> 00:17:06,589 y voy a meter una regla para todas, todas las direcciones que funcionen sobre HTTP las corto, entonces evidentemente el origen le quitamos, el destino, perdón, el destino a las webs que nos queremos conectar 142 00:17:06,589 --> 00:17:21,049 y censuramos, restringimos el puerto 80, vale, ahí lo tenemos, entonces hago otra vez la prueba, si quiero entrar en la web del rayo, pues ahí está, no entro, vale 143 00:17:21,049 --> 00:17:38,250 Y por último, lo que os pido es decir, bueno, que comprobéis en otras tres páginas web HTTP que consideréis, ¿vale? Y por último, pues eso, estáis hartos de que no os paguen lo que hoy merecéis y decís abandonar y boicotear todos los accesos web del instituto, ¿no? 144 00:17:38,250 --> 00:17:57,890 Entonces, en este caso, HTTPS. HTTPS funciona sobre TCP también y en el puerto 443, ¿vale? Entonces, si os fijáis, por ejemplo, aquí tengo, bueno, la de radio no entra, entonces tengo Instagram y Instagram, pues sí que entra, ¿no? 145 00:17:57,890 --> 00:17:59,910 Veis que funciona sobre HTTPS 146 00:17:59,910 --> 00:18:01,670 ¿Vale? El DAI ahí sigue pensando 147 00:18:01,670 --> 00:18:03,490 Y en este caso, pues nada 148 00:18:03,490 --> 00:18:06,029 ¿Vale? A veces en Explorador Web 149 00:18:06,029 --> 00:18:07,849 Veis que lo de Drop y Rejet 150 00:18:07,849 --> 00:18:10,009 No funciona del todo como debería 151 00:18:10,009 --> 00:18:11,609 ¿No? Es donde lo vemos en el terminal 152 00:18:11,609 --> 00:18:13,789 Y su funcionamiento es ahí 153 00:18:13,789 --> 00:18:15,470 ¿Vale? Lo vemos mucho mejor 154 00:18:15,470 --> 00:18:17,630 Entonces, pues voy a meter, pues lo mismo 155 00:18:17,630 --> 00:18:19,369 He rechazado en el puerto 80 156 00:18:19,369 --> 00:18:22,029 Pues lo mismo, ahora quiero rechazar en el 443 157 00:18:22,029 --> 00:18:23,910 ¿Vale? Y vais a ver 158 00:18:23,910 --> 00:18:24,710 Como a Instagram 159 00:18:24,710 --> 00:18:26,670 Pues no entra 160 00:18:26,670 --> 00:18:29,130 vale, se queda pensando 161 00:18:29,130 --> 00:18:30,849 y al final nos rechaza la conexión 162 00:18:30,849 --> 00:18:33,250 bueno, pues eso es todo 163 00:18:33,250 --> 00:18:35,089 chicos, vale, venga 164 00:18:35,089 --> 00:18:37,289 espero que haya quedado clarito, venga, hasta luego