Hola a todos y bienvenidos al tutorial.
Voy a seguir por donde lo dejé en el vídeo anterior.
Si no lo habéis visto, os pido que lo veáis,
puesto que están relacionados entre sí.
Hemos hablado de algunas de estas cosas, como DoS, RATS, phising, etc.
Pero voy a ir un paso más allá y voy a hablar de las inyecciones SQL,
VPNs, proxies, Tors, VPS, keyloggers...
Veréis qué papel tienen estas cosas a lo largo del curso.
Pero, por ahora, tenemos las inyecciones SQL,
que consisten en pasar consultas SQL a solicitudes http.
Si el código PHP del servidor no las formatea adecuadamente
se puede producir un problema grave.
Esto es de lo primero que tienen en cuenta los programadores web.
Después demostraré cómo podéis usarlas, formularlas.
Hay una cantidad enorme de webs que son vulnerables a ellas.
Sobre todo, porque se basan en unas infraestructuras también vulnerables.
A continuación, tenemos Virtual Private Network (Red Privada Virtual).
Las VPN son formas de convertirte en anónimo.
Si tienes un proveedor VPN y quieres ser anónimo
diriges todo el tráfico a través del proveedor VPN
y el tráfico entre tú y la VPN estará encriptado.
Si hay otro servidor que recibe solicitudes tuyas
las está recibiendo de la VPN.
No existe la forma de detectarte o localizar tu situación física
a menos que el proveedor VPN la diga,
cosa que no pasa si eliges el adecuado.
Debajo tenemos proxies.
Los proxies no te aseguran tanto el anonimato,
pero deberíais usar siempre proxies Socks5.
Explicaré lo que son cuando hagamos cadenas de proxies
y cuando os cuente cómo ser anónimo de verdad.
Veréis que podéis dirigir vuestra conexión por medio de varios proxies
y también veréis pronto que eso no siempre funciona.
En las películas sale gente usando 10 o 20 proxies
pero en realidad eso es muy difícil de hacer.
Más que nada por la velocidad de internet y el ancho de banda.
La mayoría de los proxies gratuitos son lentos
y dirigir tu conexión a través de varios hará que te resulte muy difícil
hacer nada más en un buen rato.
Hay proxies de pago, por supuesto,
pero al pagar un proxy dejas una huella digital
y pueden rastrearte.
Debajo tenemos Tor.
Tor es totalmente gratis, de código abierto
y mucho más rápido que los proxies.
No tanto como las VPN, pero más que los proxies sí.
Te permite torificar aplicaciones,
lo cual significa llevar el tráfico por determinadas rutas
y utilizar routers en internet para...
no solo routers, también otros dispositivos para que tus paquetes
y tu conexión pasen por ahí.
Algunas veces va lento. No se puede garantizar al 100%
pero tu nivel de anonimato será muy alto si usas Tor.
Hay formas de detectarte,
pero es muy improbable que eso pase.
El 99,99% de las veces, serás anónimo casi al 100%
lo cual es una buena forma de funcionar.
También está el buscador Tor,
que te permite acceder a la web profunda o invisible.
Básicamente, son webs .onion
y no están indexadas por otros motores de búsqueda.
No se puede llegar a ellas por una ruta normal,
en lo referente a buscadores.
Es decir, si abres Firefox y no tienes la conexión a internet configurada
de manera que pueda conectarse a una red,
no podrás acceder a la web profunda, invisible, etc.
También os enseñaré cómo acceder y usar la web profunda,
ya que te permite disponer de muchos recursos,
la mayoría libres, otros de pago.
A continuación, está VPS, Virtual Private Server (servidor virtual privado).
Se podría interpretar como una capa de seguridad.
Si en vuestro ordenador físico está en marcha un servidor Apache
podéis tener una máquina virtual dentro del ordenador físico
que funcionará como servidor SQL para el servidor Apache.
Esto se hace para que no se pueda acceder al servidor SQL desde fuera
y para no tener un puerto SQL abierto en tu ordenador.
Solo los dispositivos, los usuarios y los programas de ese ordenador
podrán ir a la máquina virtual donde se encuentra el servidor SQL.
Puede parecer que es un lío,
pero ahora no quiero que os preocupéis por esto.
Cuando os enseñe ejemplos, cuando lleguemos a eso, lo entenderéis.
Os lo garantizo.
Ahora solo os estoy presentando la terminología
y dando una idea de lo que vamos a ver.
También tenemos "Keyloggers",
que son herramientas que se usan para robar datos
y para obtener información.
Si consigues implementar un keylogger en un ordenador
puedes configurarlo para que registre las pulsaciones del teclado
y te las envíe por correo o a un servidor FTP.
Hoy en día han avanzado hasta el punto
de tener unas cien opciones
configurables totalmente.
Prácticamente, puedes hacer lo que quieras.
Es decir, tienen las funciones básicas
y estas siguen ahí para registrar el tecleo.
Pero la cosa no acaba ahí,
también pueden extraer información existente.
Puedes configurar su comportamiento,
el nivel de cautela, dónde se esconde, dónde se instala,
qué tipo de información quieres extraer,
si quieres vigilar determinadas carpetas y registrar la actividad.
Puedes configurarlos para que hagan capturas de pantalla,
para utilizar la cámara del dispositivo,
en la cual has puesto un keylogger para que haga fotos cada cinco minutos.
Eso no es muy buena idea,
porque, obviamente, alguien verá que estás haciendo fotos.
Pero solo son ejemplos de lo que se puede hacer.
Más adelante descargaremos el keylogger original,
lo instalaremos, implementaremos,
veremos cómo se puede usar y configurar.
Tenéis que tener cuidado con los sitios donde descargáis las herramientas
ya sean keyloggers, herramientas de demostración remota, rootkits, etc.
Sobre todo porque hay que evitar a toda costa descargar
archivos binarios sin compilar que no sean de código abierto
porque es imposible saber lo que contienen
y por nada del mundo queremos ejecutarlos.
A lo mejor conseguís lo que buscáis, un keylogger o lo que sea,
pero el ordenador quedará infectado por el keylogger
que pensabais implementar en otro sitio.
Así que no es buena idea.
Debéis usar fuentes verificadas de estas herramientas.
Os mostraré algunas más adelante, cuando entre en internet y los descargue.
Solo quiero dejar claro que hay que tener mucho cuidado con estas cosas.
Un método infalible de hacerlo es configurando una máquina virtual
y hacer esto desde ella, porque en caso de infección no pasa nada.
Es una máquina virtual, se puede reinstalar en cualquier momento.
Prácticamente, no se perderá casi nada.
Y, más importante, desde la máquina virtual
no se podrá acceder al sistema de archivos primario del ordenador.
La siguiente es "terminal".
La terminal es básicamente la interfaz que te permite controlar el sistema operativo.
La de Linux es muy potente y la usaremos bastante.
Os tenéis que familiarizar con ella.
Yo os ayudaré, os enseñaré cómo se usa.
A algunos les parecerá un poco complicado a primera vista.
Hay muchos comandos que escribir,
cómo memorizarlos, qué usar dónde, etc.
Pero, creedme, tiene su lógica y una vez os deis cuenta, el resto va solo.
Yo me sé de memoria un 30% de los comandos posibles en terminales Linux.
Y el resto lo averiguo con /H o //help.
El sistema te dice todo lo que necesitas saber.
Te ayuda muchísimo y puedes averiguar muchas cosas
si entiendes la lógica básica de su funcionamiento.
Siempre habrá discusiones, por ejemplo, habrá gente que diga
"¿Por qué usar terminales en vez de herramientas GUI?"
La respuesta más simple es porque no son ni la mitad de potentes.
Además, las terminales son menos dependientes
y casi todas las herramientas de hackeo están diseñadas para terminales.
No tienen GUIs. Hoy en día, algunas sí.
Pero hablaré de ello brevemente
porque las interfaces GUI no son tan relevantes.
Cuando sabes hacerlo con la terminal, automáticamente, por defecto,
sabes cómo hacerlo con la interfaz gráfica de usuario (GUI).
Debajo tenemos "firewalls" (cortafuegos).
En Linux, el cortafuegos se configura desde los comandos iptables.
Este es uno de los motivos por los que no deberíais usar Windows
para seguir este tutorial.
Tendréis que instalar una máquina virtual Linux o crear un arranque doble.
Os enseñaré detalladamente cómo se hace esto.
Pero los cortafuegos son uno de los motivos principales
para no usar Windows con estos fines.
El cortafuegos de Linux es de código abierto
y tiene miles de opciones. Miles.
Puedes hacer con él lo que quieras.
Se puede configurar, abrir y cerrar puertos,
reenviar conexiones por puertos o direcciones IP.
Puedes impedir determinados protocolos de algunos puertos
o de algunas direcciones IP.
Puedes hacer todo tipo de reenvío y redirección.
Todo esto gratuitamente con el cortafuegos de Linux.
Mientras que en Windows no tienes algunas de estas opciones,
la mayoría no a no ser que compres un paquete o similar,
cosa que no queremos hacer aquí.
Queremos que nos salga económico
y queremos un buen cortafuegos que haga lo que nos apetezca.
Hay dos formas de configurar el cortafuegos.
Si os da miedo liarla, no os preocupéis.
Casi todas las configuraciones que haremos serán de corta duración
porque todas las configuraciones al cortafuegos desde el comando iptable,
salvo que se especifique lo contrario,
serán temporales, hasta que se reinicie el sistema.
Obviamente, hay una forma de evitarlo
y configurar las normas del cortafuegos directamente en la configuración del archivo,
y así hacer los cambios permanentes.
Es otra forma de hacerlo, pero normalmente prefiero
tener en algún sitio un script que pueda ejecutar cuando sea
y que configure el cortafuegos por defecto.
Sobre todo, porque interesa tener las herramientas en una memoria USB
o en un sitio online, por ejemplo,
y tener unos scripts generados
que hacen las cosas por ti de manera automática.
Es muy simple. Os enseñaré cómo hacer estos scripts.
No necesitáis ningún conocimiento previo de programación.
Estos scripts son, básicamente, una lista de los comandos
de la terminal Linux, que haremos de todas formas.
Entonces, el script consistiría en una lista de estos comandos.
Después, se cambia el mod del script para que sea un archivo ejecutable,
lo ponéis en marcha y todos esos comandos se pasan al sistema
y las tareas finalizan de manera automática, por defecto.
Una de las últimas cosas que quiero abordar son las "reverse-shells".
Hay cientos, si no miles, de reverse-shells que puedes usar.
Escogeré unas pocos, que usaremos dependiendo del caso,
dependiendo del entorno que queramos infectar.
Pero hablamos de reverse-shells
cuando tienes un programa con el que infectas otro dispositivo
y ese programa abre una conexión inversa de ese dispositivo hacia ti.
Puedes seguir pasando comandos y controlando el sistema aunque estés lejos.
Hay diferentes tipos, claro.
Hoy en día, con routers con semejantes cortafuegos
hay que hacer bastantes configuraciones
y hay problemas que necesitan solución.
Veréis cómo al intentar entrar en un ordenador
a veces hay que entrar primero en el router.
A menudo hay que entrar primero en el router
a no ser que estés haciendo un ataque phishing
o haya un servidor web en marcha.
Pero para atacar un dispositivo privado,
un ordenador privado, que es lo que se suele hacer
como preludio al gran ataque para extraer algún tipo de información
por ejemplo, de un empleado que es administrador de la red,
uno de los factores básicos sería atacar al router,
cambiar los ajustes DNS e intentar robar los datos.
O poner el ordenador en la DMZ del router, zona desmilitarizada,
para que el router deje de ser efectivo para el dispositivo
y mande todo el tráfico a dicho dispositivo.
Esos son algunos de los ataques que se pueden hacer
pero las reverse-shells dependen del entorno que se intenta infectar.
Y dependen también de la elección de la ruta de ataque.
Bueno, espero haber hecho una introducción a estos términos.
Repito, si no ha quedado claro ahora, no os preocupéis.
Lo veremos todo en detalle y con más ejemplos y lo entenderéis.
No es complicado.
No permitáis que el miedo os disuada y seguid adelante.
Y si conseguís llegar al final del curso
os garantizo que lo entenderéis.
Con un poco de concentración y curiosidad tendréis la habilidad necesaria
para ser pentesters o hackers éticos.
Hasta la próxima.