Instalación del Laboratorio
Lo primero que tenemos que hacer es instalar la infraestructura de nuestro laboratorio para resolver una serie de ejercicios del tipo CTF que son «capture o catch the flag».
Es decir será sobre una máquina en una LAN plana sin complicaciones, la situación es que ya estamos dentro de la red, luego no tenemos que preocuparnos de firewall ni de IDS ni IPS ni honey pots ni ninguno de los obstáculos habituales que protegen la LAN interna.
Nosotros hemos saltado todos esos obstáculos, estamos dentro de la red empresarial y tenemos que proceder a hackear las máquinas de esa red.
Los ejercicios de tipo CTF consisten en que nos dan un fichero de texto con una serie de preguntas que solo se pueden contestar si se hackea una máquina víctima que también nos proporcionan. En esta serie de posts, tendremos este, el post 0 de introducción e instalación del laboratorio y luego 10 desafíos que serán del tipo CTF y se explicarán a lo largo de 10 posts adicionales. Esa al menos es mi intención.
Instalación de VirtualBox
Para las máquinas instalaremos VirtualBox y unas herramientas adicionales, que podemos descargar aquí:
https://home.mycloud.com/action/share/1f0ea8d1-f988-47f9-9906-99a3038a1e9d
Primero instalamos el VirtualBox y luego (sin cerrar el VirtualBox) las herramientas.
Instalaremos primero el programa:
. VirtualBox-7.0.4-154605-Win.exe
Una vez finalizada la instalación anterior, instalaremos las extensiones del mismo:
. Oracle_VM_VirtualBox_Extension_Pack-7.0.4.vbox-extpack
La gente que aspira a aprobar este examen no tengo que explicarle como se instala el VirtualBox. Aceptar todo y listo.
Configuración de la LAN
Nuestra máquina anfitriona será una máquina Windows 10 o Windows 11. En versiones anteriores creo que funciona también.
Es posible que tengamos que activar la virtualización en la BIOS/UEFI: Intel VT-x/AMD-V
. 8 GB de memoria RAM mínimo. Esto garantiza que tenemos memoria suficiente para ejecutar nuestro equipo anfitrión (host) y los sistemas virtualizados (guests)
. Espacio de almacenamiento en el host para instalar las máquinas virtuales. Los dispositivos SSD son los más adecuados.
. Sistema operativo (S.O.) anfitrión o host Windows de 64 bits. Es posible trabajar con otros S.O. (Linux, Mac, …)
Las redes virtuales en VirtualBox pueden configurarse con las opciones siguientes:
. NAT: El modo de conexión NAT o Network Address Translation es un modo mediante el que el equipo host es el que facilita la dirección IP a la máquina virtual. Con esta configuración podremos navegar por Internet desde la máquina virtual, pero no podremos establecer una conexión, ni entre máquinas virtuales, ni entre las máquinas y el host.
. Red NAT: Se usa para poder crear una red entre las máquinas virtuales y que a su vez puedan acceder a internet.
. Adaptador puente: Este tipo de conexión simula una conexión física a la red de la máquina virtual. Esto significa que nuestra máquina virtual estará conectada a través de un adaptador de red creado en la máquina host al switch de nuestro entorno.
. Red Interna: Podremos comunicar las máquinas virtuales entre ellas como si de una red LAN se tratase, pero no tendremos acceso ni a Internet (red exterior) ni incluso al equipo host.
. Solo anfitrión: Una red interna con acceso a nuestro host y otras VMs, pero sin acceso a Internet.
- creamos la carpeta c:\tmp
- creamos la carpeta c:\CEH_Practical
- creamos la carpeta C:\tmp\Compartida
Descarga e instalación de las máquinas virtuales
Las máquinas virtuales de los desafíos se pueden descargar de aquí:
https://home.mycloud.com/action/share/c79398f6-2de3-4222-a488-fba2e8bae11f
Las máquinas de los desafíos descargadas están una carpeta que se llama:
VMs_nuevas
que contiene los ficheros:
Movemos la carpeta: VMs_nuevas a que cuelgue de la carpeta:
c:\CEH_Practical
Las máquinas virtuales que usaremos para resolver los desafíos se pueden descargar de aquí:
https://home.mycloud.com/action/share/3cec641e-19b9-4d61-a48b-a4518dd7ee60
Las máquinas de los desafíos descargadas están una carpeta que se llama:
VMs
que contiene los ficheros:
Movemos la carpeta: VMs a que cuelgue de la carpeta:
c:\CEH_Practical
Ahora procederemos a crear la red. Para ello nos dirigimos con el administrador de archivos a la carpeta:
C:\CEH_Practical\VMs_nuevas
Y allí junto a las máquinas de los desafíos encontraremos el archivo de ejecución por lotes:
va_import_seleccionar_destino.bat
cuyo contenido si lo editamos es:
«C:\Program Files\Oracle\VirtualBox\vboxmanage» natnetwork remove –netname red-nat-1
«C:\Program Files\Oracle\VirtualBox\vboxmanage» natnetwork add –netname red-nat-1 –network «172.20.0.0/24» –enable
«C:\Program Files\Oracle\VirtualBox\vboxmanage» import «C:\CEH_Practical\VMs_nuevas\Parrot Security.ova» –vsys 0 –basefolder «C:\CEH_Practical\VMs»
«C:\Program Files\Oracle\VirtualBox\vboxmanage» import «C:\CEH_Practical\VMs_nuevas\Metasploitable 2 Linux.ova» –vsys 0 –basefolder «C:\CEH_Practical\VMs»
«C:\Program Files\Oracle\VirtualBox\vboxmanage» import «C:\CEH_Practical\VMs_nuevas\MSEdge – Win10.ova» –vsys 0 –basefolder «C:\CEH_Practical\VMs»
Este archivo es la madre del cordero. Cambiando las unidades de disco y las carpetas podemos hacer por ejemplo una instalación de nuestro laboratorio en un disco ssd.
Si os fijáis este archivo configura la red y hace una importación correcta de las máquinas virtualizadas .ova, que son 3:
- Linux Parrot
- Windows
- Metasploitable 2
Las versiones originales de estas mismas máquinas son las que están en la carpeta VMs, que se dejan ahí por si hubiera que hacer una instalación adicional. Entonces ahora procedemos a ejecutar el .bat:
va_import_seleccionar_destino.bat
simplemente haciendo doble click sobre el fichero. Puede tardar bastante tiempo en ejecutarse. Una vez que ha terminado, si entramos en el VirtualBox veremos esto:
Parrot Security será nuestra máquina virtual principal: «Parrot Security ofrece un enorme arsenal de herramientas, utilidades y bibliotecas que los profesionales de la informática y la seguridad pueden utilizar para probar y evaluar la seguridad de sus activos de forma fiable, conforme y reproducible. Desde la recogida de información hasta el informe final. El sistema Parrot le cubre con el entorno más flexible.»
Configuración de las máquinas virtuales
Ahora es fundamental que recorramos la configuración en VirtualBox de cada una de las 3 máquinas con las que resolveremos los desafíos y verifiquemos que la configuración que viene a continuación es la misma que presenta el VirtualBox. Una vez hecho esto arrancaremos las máquinas por primera vez y confirmaremos que todo está OK.
Arrancamos el programa Oracle VM VirtualBox situado en el escritorio de nuestro equipo anfitrión Windows .
Verificamos la configuración de las máquinas virtuales en el panel principal del VirtualBox (Máquina -> Configuración).
. Parrot
(Usuario: usuario – Contraseña: usuario)
Sistema -> Placa base: 2.048 MB
Pantalla -> Pantalla -> Memoria video: 128 MB
Controlador gráfico: VMSVGA
Red ->
Adaptador 1 -> Conectado a: Red NAT
Adaptador 2 -> Conectado a: Red interna (intenta)
Carpeta Compartida
Ruta carpeta: C:\tmp\Compartida
Nombre carpeta: VB_Compartida
Seleccionar: Automontar
Win10 (Usuario: IEUser – Contraseña: Passw0rd!)
Sistema -> Placa base: 4.096 MB
Pantalla -> Pantalla ->
Memoria video: 128 MB
Controlador gráfico: VBoxSVGA
Red ->
Adaptador 1 -> Conectado a: Red NAT
Carpeta Compartida
Ruta carpeta: C:\tmp\Compartida
Nombre carpeta: VB_Compartida
Seleccionar: Automontar
Metasploitable 2 Linux (Usuario: msfadmin – Contraseña: msfadmin)
Sistema -> Placa base: 512 MB
Pantalla -> Pantalla ->
Memoria video: 12 MB
Controlador gráfico: VMSVGA
Red ->
Adaptador 1 -> Conectado a: Red interna (intnet)
Estas son las 3 máquinas básicas con las que vamos a trabajar mas las de cada CTF que iremos resolviendo a lo largo de los 10 siguientes post.
Conceptos básicos de TCP/IP y arquitectura de redes
El análisis de la arquitectura y del tráfico de datos de una red es uno de los elementos fundamentales que un profesional de TI debe controlar. Un alto porcentaje de los problemas que ocurren en un sistema o con una aplicación tienen alguna relación con la red y con el tráfico de datos correspondiente.
TCP/IP
Esta suite de protocolos que permite que ordenadores de diversas dimensiones, ejecutando sistemas operativos distintos y producidos por una multitud de fabricantes puedan comunicarse entre si.
———
¿Qué es un protocolo?
Un conjunto de prácticas consensuadas, políticas y procedimientos utilizados para establecer una comunicación.
———-
TCP/IP fue desarrollado en los años 70 por el DARPA – Defense Advanced Research Projects Agency y sus raíces remontan la red ARPANET – Advanced Research Projects Agency Network.
En otras palabras, TCP/IP es este conjunto de reglas que constituye el software de sujeción de Internet y de la World Wide Web, así como, de diversas red locales. Incluye servicios y aplicaciones que funcionan con este conjunto de protocolos. Sin embargo, está claro que nadie podría imaginar la difusión que la red Internet alcanzaría desde sus principios y, principalmente, nadie fue capaz de imaginar las cuestiones relacionadas con la seguridad o privacidad de las comunicaciones asociadas. Es decir, estamos hablando de decenas de miles de redes conectadas y distribuidas a nivel mundial sin un mecanismo por defecto para implementar seguridad.
¿Cómo está organizada Internet?
Las reglas de funcionamiento de la red son elaboradas por las muchas personas adheridas a los comités internacionales. Entre estos comités existentes, mencionarenos los más importantes:
. Internet Society (ISOC – www.isoc.org) : Son los responsables por la supervisión de estándares, gestión de la evolución de la red, etc. Está formada por grupos de trabajo o organismos: Internet Activities Board, Internet Engineering Task Force, Internet Research Task Force y otros.
. Internet Corporation for Assigned Names and Numbers (ICANN – www.icann.org) : Son los encargados por la asignación de direcciones en Internet. Uno de los pilares básicos de la red es el direccionamiento, sin el cuál no podría funcionar. Nuestra cabeza normalmente trabaja con nombres, pero las redes IP entienden sus direcciones. Está formada por los grupos de trabajo: Internet Assigned Numbers Authority (IANA), Country Code Names Support Organization, Generic Names Support Organization y otros.
¿Cómo está regulado TCP/IP?
Las reglas están dispuestas en documentos conocidos como Request for Comments – RFCS. Cualquiera de nosotros puede consultar o proporcionar comentarios en la web: www.rfc-editor.org
De igual manera, otros grupos definen estándares relacionados con las tecnologías:
. Institue of Electrical and Electronics Engineers (IEEE)
. World Wide Web Consortium (W3C)
. Internetional Organization for Standardization (ISO)
. Open Systems Interconnection (OSI)
. Free Software Foundation (FSF) General Public License (GPL)
¿Cómo está estructurado TCP/IP?
Se crearon modelos basados en capas para describirlo, entre los que hemos revisado está el modelo OSI:
Esta forma de modelado por capas debe ser asimilada como algo esencial en el entendimiento conceptual del protocolo.
Aunque que TCP/IP parezca estar formado por los 2 protocolos que conforman su nombre: TCP e IP, según hemos mencionado, este es un conjunto de protocolos también conocido como stack o pila TCP/IP .
En el caso concreto de nuestro equipo host, Windows 10 tiene una pila o stack dual, es decir, TCP/IP v4 y TCP/IP v6 están activos.
Arquitectura
Hay elementos fundamentales que componen la arquitectura de las redes:
. Servicios y puertos – Ejemplo: Servidor Web (puertos 80 y 443, normalmente)
. Clientes o aplicaciones – Ejemplo: Navegador web
. Protocolos de servicios – Ejemplo: http
. Modelo Cliente – Servidor
Direcciones IPv4:
Direcciones IPv6:
Los esquemas a continuación ilustran la arquitectura de conexión de ordenadores en modo WAN (red extensa) y LAN (red local):
Instalación de telecomunicaciones en una LAN doméstica
Bueno, una vez que avanzamos en nuestros conocimientos de redes, el mejor ejercicio que podemos hacer es entender cómo está nuestro sistema de telecomunicaciones en nuestro domicilio. Es decir cómo está configurado el router de movistar y todo lo que cuelga de él. para ello observemos el siguiente esquema y mas abajo lo iremos explicando:
Lo primero que hay que saber es que el router es efectivamente un router pero también un switch. El switch permite que los equipos conectados se vean. Cuando conecto un equipo al switch coge direcciones IP por el servicio DHCP.
Si un equipo quiere hablar a otro, el protocolo usadoo es ARP que es de capa 2. Cada equipo tiene una tabla ARP llamada CAM donde se guardan las asociaciones MAC -> boca del switch. Los hubs, aparatos mas antiguos, pasaban toda la información a todas las bocas.
Si un host quiere salir a internet debe hacerlo vía la IP pública del router, que es una IP pública pero variable. Si quiere hacerse fija, es un servicio que hay que pagar aparte.
El router va conectado en bridge con el wifi. Si alguien hackea la wifi tiene acceso a mi LAN interna. El router sale a internet en NAT.
En el CEH Practical estaremos en la LAN interna, como si fuéramos un insider.
En una LAN, hay un protocolo que no puede ser evitado: ARP