Instalación del lab de explotación
Recordatorio sobre la ética de las pruebas
En España, las pruebas de intrusión se rigen por un marco legal relativamente amplio. De hecho, varios artículos del Código Penal resaltan los delitos informáticos contra los sistemas automatizados de procesamiento de datos (STAD).
Código Penal, art. 197 bis:
El acceso fraudulento o la permanencia en la totalidad o parte de un sistema de información se castiga con entre seis meses y dos años de prisión.
«Fraudulento» es el término más importante dentro de esta frase. De hecho, antes de realizar pruebas de intrusión, el cliente y el auditor se deben poner de acuerdo sobre el perímetro que es preciso auditar, así como sobre las acciones que se deben tomar o no (ver capítulo Introducción a las pruebas de intrusión, sección ¿Cuáles son las diferentes fases de una prueba de intrusión?).
Por lo tanto, el mandato de autorización es el elemento que permite al auditor liberarse de cualquier responsabilidad con respecto a la auditoría de seguridad. De hecho, si hay autorización, no puede haber fraude.
El lector que tenga interés puede remitirse a la descripción completa del artículo 197 BIS en sus dos apartados.
En Francia, la Agencia Nacional Francesa para la Seguridad de los Sistemas de Información (ANSSI) creó la calificación...
Instalación nativa de Metasploit
A pesar de la complejidad de la herramienta, Rapid7 proporciona instaladores para el Framework Metasploit. Estos instaladores están actualmente disponibles en plataformas GNU/Linux, Mac OS X y Windows.
Permiten una instalación sencilla y rápida del Framework, gracias a la inclusión de todas las dependencias necesarias (John the Ripper, Nmap, etc.).
Antes de continuar con la etapa de instalación, es necesario asegurarse de que las plataformas cumplan con diferentes requisitos previos. De hecho, para fomentar un uso óptimo, Rapid7 recomienda las siguientes acciones.
Comprobar el hardware
Para disponer de una herramienta responsive y reactiva, se recomienda que tenga la siguiente configuración:
-
un procesador con velocidad de 2 GHz+
-
4 GB de RAM (se recomiendan 8 GB)
-
1 GB de espacio en disco (se recomiendan 50 GB)
Las recomendaciones relativas al hardware pueden estar sujetas a cambios y evolucionar, por lo que es preferible consultar la documentación oficial en el sitio web de Rapid7, en la dirección https://www.rapid7.com/products/metasploit/system-requirements
Desactivar el antivirus
Metasploit es una herramienta para descubrir y explotar vulnerabilidades presentes en una máquina o red. Es habitual que Metasploit explote exactamente las mismas vulnerabilidades que las herramientas maliciosas (virus, malware, etc.).
Dado que un antivirus no puede separar el trigo de la paja, bloqueará ciertas funcionalidades consideradas peligrosas, aunque necesarias...
Uso alternativo
En lugar de cambiar la configuración de su máquina, también es posible utilizar el Framework Metasploit de formas alternativas. Por ejemplo, es posible utilizar una máquina virtual, como VirtualBox o VMware, o incluso un sistema de contenedores, como Docker. En los dos casos previos, es posible retomar las instalaciones que hemos comentado anteriormente o utilizar sistemas llave en mano.
1. Sistemas operativos orientados a la seguridad
En caso de que la instalación de Metasploit parezca demasiado tediosa, es posible utilizar sistemas operativos orientados a la seguridad, como Parrot Security OS, BlackArch o el famoso Kali.
Kali Linux es una distribución Linux orientada a la seguridad, basada en el sistema operativo Debian. El objetivo de Kali es proporcionar a los profesionales de seguridad de los sistemas de información una distribución que contenga todas las herramientas necesarias para llevar a cabo cualquier tipo de auditoría.
En la actualidad, Kali Linux contiene más de 600 herramientas divididas en varias categorías, como pruebas de intrusión web, pruebas de intrusión Wi-Fi, análisis forense o incluso herramientas de explotación, donde es posible encontrar el Framework Metasploit.
Además de la gran cantidad de herramientas disponibles, la fuerza de Kali Linux proviene de su comunidad. Como recordatorio, Kali nació...
Mantener Metasploit actualizado
Hemos recorrido un largo camino desde la primera versión y sus 27 exploits en 2004. De hecho, en el momento de escribir este capítulo, hay disponibles más de 1 847 exploits. De manera regular, se realizan nuevas actualizaciones con su lote de nuevas funcionalidades, exploits y módulos de todo tipo. En el pasado, el comando msfupdate permitía actualizar la base de datos Metasploit. Sin embargo, este comando ahora ha quedado obsoleto:
root@kali:~# msfupdate
msfupdate is no longer supported when Metasploit is part of the
operating system. Please use 'apt update; apt install
metasploit-framework'
Como indica el comando, para actualizar Metasploit en Kali, es posible utilizar el sistema de administración de paquetes apt:
root@kali:~# msfconsole
.:okOOOkdc' 'cdkOOOko:.
.xOOOOOOOOOOOOc cOOOOOOOOOOOOx.
:OOOOOOOOOOOOOOOk, ,kOOOOOOOOOOOOOOO:
'OOOOOOOOOkkkkOOOOO: :OOOOOOOOOOOOOOOOOO'
oOOOOOOOO.MMMM.oOOOOoOOOOl.MMMM,OOOOOOOOo
dOOOOOOOO.MMMMMM.cOOOOOc.MMMMMM,OOOOOOOOx
lOOOOOOOO.MMMMMMMMM;d;MMMMMMMMM,OOOOOOOOl
.OOOOOOOO.MMM.;MMMMMMMMMMM;MMMM,OOOOOOOO.
cOOOOOOO.MMM.OOc.MMMMM'oOO.MMM,OOOOOOOc
oOOOOOO.MMM.OOOO.MMM:OOOO.MMM,OOOOOOo...
Crear una imagen de Docker personalizada
Como ha podido comprobar anteriormente, ejecutar un contenedor Metasploit gracias a Docker es relativamente sencillo. De hecho, el siguiente comando creará un contenedor basado en la imagen remnux/Metasploit:
root@kali:~# sudo docker run --rm -it -p 443:443 -v ~/.msf4:
/root/.msf4 -v /tmp/msf:/tmp/data remnux/Metasploit
Sin embargo, la fuerza de Docker también proviene del hecho de que es posible crear fácilmente imágenes propias que contengan los elementos, herramientas y diccionarios de contraseñas deseados.
Para ello, las instrucciones de creación de esta nueva imagen se deben escribir en un archivo denominado Dockerfile. A continuación, se muestra un extracto del archivo Dockerfile de la imagen phocean/dockerfile-msf:
FROM ubuntu:bionic
MAINTAINER Phocean jc@phocean.net
ARG DEBIAN_FRONTEND=noninteractive
# PosgreSQL DB
COPY ./scripts/db.sql /tmp/
# Startup script
COPY ./scripts/init.sh /usr/local/bin/init.sh
WORKDIR /opt
# Installation
RUN apt-get -qq update \
&& apt-get -yq install --no-install-recommends build-essential
patch ruby-bundler ruby-dev zlib1g-dev liblzma-dev git autoconf
build-essential libpcap-dev libpq-dev libsqlite3-dev \
postgresql postgresql-contrib...
Instalación de Metasploitable
Como se ha visto en la sección Recordatorio sobre la ética de las pruebas, las pruebas de intrusión se deben regir por un marco legal específico para cada país. Ignorar esto último implica la asunción de riesgos por parte del auditor aprendiz, cuyo único deseo es progresar en el uso de este Framework operativo.
Para superar estos problemas legales y poder mejorar las condiciones, es posible utilizar varios sistemas operativos alojados de manera local. Para esto, Metasploitable2 y Metasploitable3 proporcionan respectivamente un servidor Linux y otro Windows, con múltiples vulnerabilidades de seguridad para explotar legalmente:
Metasploitable2 es una máquina virtual creada y mantenida por Rapid7. Está disponible en https://metasploit.help.rapid7.com/docs/metasploitable-2 y es relativamente fácil de usar gracias a herramientas como VMware o VirtualBox.
A diferencia de Metasploitable2, donde todo está instalado por defecto, Metasploitable3 tarda un poco más en instalarse. De hecho, las imágenes ahora se crean dinámicamente gracias a las tecnologías Packer y Vagrant.
Estos son los diferentes pasos para instalar Metasploitable3 en Linux:
# Instalación de Git
root@VM:~# apt install git -y
# Instalación de Packer
root@VM:~# apt install packer -y
# Instalar la última versión de Vagrant
root@VM:~# wget https://releases.hashicorp.com/vagrant/2.2.4/
vagrant_2.2.4_x86_64.deb
root@VM:~# dpkg -i vagrant_2.2.4_x86_64.deb ...