Instalación de MetaSploit y comandos básicos

Instalación de MetaSploit y comandos básicos

"Este tutorial explica cómo instalar y comenzar con comandos básicos de MetaSploit en Linux con un ejemplo de escenario real.

MetaSploit es una colección de vulnerabilidades y exploits para auditoría de seguridad y explotación de vulnerabilidades. Esta herramienta ayuda a los administradores del sistema a probar la seguridad de la red y los dispositivos. También permite a los usuarios inexpertos ejecutar ataques contra objetivos fácilmente.

Todas las instrucciones descritas en este documento incluyen capturas de pantalla, lo que facilita a los lectores comprenderlas y aplicarlas."

¿Qué es PostgreSQL, cómo es útil cuando se usa MetaSploit y cómo instalarlo?

Cuando se escanea un objetivo para encontrar vulnerabilidades o explotado a través de un orificio de seguridad, la información recopilada se guarda en una base de datos para ser importada y utilizada por otras herramientas Pentesting. Por supuesto, aquellos que ejecutan tareas de pentesting pueden guardar la información manualmente, pero mantener los resultados de Pentesting correctamente ordenados en una base de datos es útil para rastrear la actividad, aumentar la productividad y aliviar las tareas pentestas.

El sistema de gestión de bases de datos compatibles con MetaSploit es PostgreSQL, y aunque no es obligatorio cuando se usa MetaSploit, se recomienda instalarlo. El uso de MetaSploit sin un sistema de gestión de bases de datos no es una decisión inteligente. Por lo tanto, este tutorial comienza con instrucciones sobre cómo instalar PostgreSQL antes de instalar MetaSploit.

Instalación de PostgreSQL en Distribuciones de Linux con sede en Debian (CentOS a continuación)

En Debian y sus distribuciones de Linux basadas como Ubuntu, puede instalar fácilmente PostgreSQL usando el Administrador de paquetes APT como se muestra en la siguiente captura de pantalla.

Nota: Cento Los usuarios pueden encontrar instrucciones para instalar PostgreSQL en Cento abajo.

En Debian/Ubuntu Ejecutar el siguiente comando.

sudo apt install postgreSQL postgresql-confontrib sudo systemctl iniciar postgresql

Instrucciones para instalar PostgreSQL en CentOS

Para instalar PostgreSQL en CentOS, ejecute el comando que se muestra a continuación.

sudo yum instalación postgresql-server postgresql-contrib

Luego inicialice la base de datos ejecutando el siguiente comando.

servicio PostgreSQL initdb

Inicie el servicio utilizando SystemCTL como se muestra a continuación.

sudo systemctl iniciar postgresql

Instalación de Metasploit en Linux

Para instalar MetaSploit en Linux, ejecute el comando que se muestra a continuación.

sudo curl https: // raw.githubusercontent.com/Rapid7/MetaSploit-Omnibus/Master/Config/Templates/MetaSploit-FrameWorkworks/MSFUPDATE.Erb> msfinstall && chmod 755 msfinstall && ./msfinstall

Después de instalar Metasploit, debe inicializarlo; El proceso de inicialización creará la base de datos para conectarse a PostgreSQL. Ejecute el siguiente comando para inicializar el metasploit.

Nota: Al ejecutar el comando a continuación, se le preguntará si desea inicializar el servicio web de MetaSploit para interactuar con MetaSploit a través de la API REST. Dado que no es necesario y muchos usuarios se quejan de problemas cuando se trata de WebService, que no es relevante para usar MetaSploit, escribí el ""No" opción.

msfdb init

Una vez que se inicializa el metasploit, comience ejecutando el comando que se muestra en la imagen a continuación.

msfonsole

Antes de comenzar con Metasploit, verifique si se conectó correctamente a la base de datos ejecutando el siguiente comando.

db_status

Como puede ver, MetaSploit se conectó con éxito a la base de datos; Podemos continuar con los comandos básicos de MetaSploit. Si recibe errores al intentar conectarse, lea sobre los comandos de solución de problemas de la base de datos de MetaSploit aquí.

Comenzando con comandos básicos de Metasploit

Esta sección explica los comandos básicos de MetaSploit, que incluye un ejemplo práctico de uso de escenarios reales.

La siguiente tabla muestra los comandos de metasplroits más utilizados con una breve explicación. Después de la tabla, puede ver cómo se aplican los comandos en un escenario real.

Comando metaSploit Breve descripción
msfonsole Este comando ejecuta metasploit
buscar Este comando se usa para encontrar módulos y exploits por nombre
usar El usar El comando se usa para seleccionar módulos y exploits
Mostrar opciones Mostrar módulo o opciones de explotación
establecer rhosts <Objetivo (s)> Este comando se usa para definir objetivos
establecer puertos <Puerto> Este comando se usa para definir puertos
Establecer hilos <Hilos> Este comando se usa para definir hilos
correr El correr El comando se usa para ejecutar módulos
atrás El atrás El comando lo mueve de regreso al directorio anterior
db_nmap<Banderas><Objetivo (s)> El db_nmap El comando le permite usar NMAP integrado
establecer rport <Objetivo> Este comando se usa para definir puertos
información El comando de información imprime el módulo o explota la información
explotar El explotar El comando ejecuta el exploit seleccionado
salida El salida El comando cierra la sesión de Target o sale de metasploit
carga El comando de carga se usa para cargar complementos
descargar El comando de descarga se usa para descargar complementos
cd Este comando se usa para cambiar la selección actual
Ayuda / ? Ambos ayuda comando y ? El símbolo explica el uso de comandos

Metasploit Comandos básicos Ejemplo práctico

Esta sección muestra un ejemplo práctico de los primeros 14 comandos de metasploit enumerados en la tabla anterior.

La dirección IP asignada por el objetivo en este ejemplo es 192.168.0.101.

Para comenzar, ejecute Metasploit con el siguiente comando.

msfonsole

Para comenzar, ejecutaré un escaneo de puertos contra el objetivo para descubrir puertos abiertos. MetaSploit incluye varios escáneres de puertos como módulos auxiliares, podemos elegir escanear objetivos.

Para encontrar módulos auxiliares de escáneres de puertos disponibles en MetaSploit, el buscar Se utiliza el comando, seguido del tipo de módulo o palabra clave. En este caso, estamos buscando un Portscan; Por lo tanto, necesitamos ejecutar el comando que se muestra en la imagen a continuación.

Portscan de búsqueda

Como puede ver en la captura de pantalla anterior, tenemos diferentes escáneres de puertos para diferentes fines. En este caso, quiero ejecutar un escaneo TCP usando el auxiliar/escáner/portcan/tcp módulo.

Para seleccionar el módulo elegido, ejecutaré el usar Comando, seguido de la ruta al módulo como se muestra a continuación.

Use auxiliar/escáner/portcan/tcp

Una vez que se selecciona el módulo, necesitamos saber sus opciones requeridas o disponibles antes de usarlo, para lo cual usaremos el Mostrar opciones Comando como se muestra en la captura de pantalla a continuación.

Mostrar opciones

De las opciones del módulo enumeradas en la imagen de arriba, usaré Rhosts Para definir la dirección IP objetivo, Puerto para definir un rango de puertos y HILOS para definir el número de tareas simultáneas. Luego comenzaré el proceso de escaneo ejecutando el comando Ejecutar.

Excepto por el correr Comando utilizado en este ejemplo, Rhosts, Puerto, y HILOS Las opciones deben ser precedidas por el colocar comando representado en la tabla de comandos básicos de metasploit.

El Rhosts La sintaxis de la opción para definir un objetivo se muestra a continuación, donde <Objetivo (s)> debe reemplazarse con uno o más hosts de destino o directivas de IP. En mi caso, como se muestra en la siguiente figura, la dirección IP de destino es 192.168.0.101.

establecer rhosts

A continuación puedes ver el Puerto sintaxis de opción, donde <Puerto> debe ser reemplazado por el puerto o la gama de puertos que desea escanear. Para este ejemplo, definí un rango de puerto de 20 a 100.

establecer puertos

El HILOS La opción le permite definir el número de hilos; Seleccioné 10.

Establecer hilos

Después de definir las opciones mencionadas anteriormente, ejecuto el escaneo utilizando el correr dominio. Puedes ver todo el proceso en la siguiente figura.

correr

Como puede ver, los puertos 23, 21, 22, 25, 53 y 80 están abiertos en el objetivo. Pero quiero saber las versiones de servicio que escuchan en cada puerto abierto, para lo cual usaré NMAP dentro de Metasploit.

Usaré el comando de atrás para regresar al contexto inicial para una vista más cómoda.

atrás

Como dije, la salida de escaneo anterior informó puertos abiertos. Pero quiero aprender más sobre los servicios detrás de estos puertos abiertos usando nmap.

El db_nmap El comando ejecuta nmap de metasploit. En el ejemplo a continuación, lanzaré un escaneo de huellas. En este tutorial, no explicaré las banderas de NMAP, pero puedes aprender huellas con nmap en este artículo que hemos publicado en Linuxhint.

La sintaxis es simple, ejecutar db_nmap seguido de las banderas deseadas y la dirección IP de destino como se muestra a continuación.

db_nmap -sc -sv -o 192.168.0.101

Como puede ver en la figura anterior, la versión del servicio FTP que se ejecuta en el puerto 21 es VSFTPD 2.3.4.

Después de enterarse de que nuestro objetivo se está ejecutando VSFTPD, Podemos usar el buscar Comando para ver los recursos disponibles para ejecutar un ataque contra el software identificado.

Buscar VSFTP

MetaSploit devolvió una exploit disponible (Exploit/unix/ftp/vsftpd_234_backdoor) Podemos usar en el servidor FTP VSFTPD 2.3.4.

Anteriormente ejecuté el usar Comando para seleccionar un módulo. Ahora ejecutaré el usar Comando para seleccionar el exploit disponible, como se muestra en la figura a continuación. La sintaxis es la misma; ejecutar el usar comando seguido de la ruta completa de exploit.

Use Exploit/Unix/ftp/vsftpd_234_backdoor

Después de seleccionar el exploit, ejecutaré el Mostrar opciones Comando para mostrar las opciones de explotación.

Mostrar opciones

Como puede ver en la figura anterior, las opciones son Rhosts para definir el objetivo y Rport para definir puertos. Tanto el objetivo como el puerto ya están seleccionados. El objetivo se obtiene de nuestra actividad anterior, mientras que el puerto es el puerto FTP predeterminado; Si fuera diferente, ejecutaría el establecer rport opción de cambiarlo.

El información El comando muestra información adicional sobre el exploit o módulo seleccionado. A continuación puede ver un ejemplo de la información salida de comando.

información

Si quisiera definir un objetivo diferente, ejecutaría el siguiente comando.

Establecer Rhosts 192.168.0.101

Una vez que se definan el objetivo y el puerto, ejecute el explotar Comando para iniciar el exploit.

explotar

Como puede ver, obtuve un shell remoto en el objetivo. El LS El comando muestra los directorios de destino principales. El objetivo fue pirateado con éxito.

Para desconectar del objetivo, ejecuto el salida dominio.

salida

Para salir de MetaSploit, también use el comando de salida.

salida

Eso es todo por ahora; El ejemplo indicado anteriormente incluye los comandos más utilizados para que comience con Metasploit.

Comandos de solución de problemas de MetaSploit y PostgreSQL

Muchos usuarios se quejan de problemas al conectarse a la base de datos. Aquí enumero algunos comandos que puede usar si surgen problemas al conectar MetaSploit a la base de datos.

Comandos de solución de problemas de MSFDB Descripción
servicio PostgreSQL reiniciar Reiniciar PostgreSQL
msfdbreinit Eliminar y reinicializar la base de datos
MSFDB Eliminar Eliminar la base de datos
msfdbinit Inicializar la base de datos (ejecute después de MSFDB Eliminar)
Estado de MSFDB Mostrar el estado de la base de datos
MSFDB Run Inicie la base de datos y ejecute MetaSploit

Si tiene problemas, intente usar los comandos en el orden de la tabla. Primero, intente reiniciar PostgreSQL. Si eso no funciona, intente reinicializar la base de datos. Si el problema persiste, elimine la base de datos y reinicíelo. Utilizar el Estado de MSFDB comandar para verificar el estado después de cada comando.

Conclusión

Metasploit es una de las herramientas Pentesting más populares para la auditoría de seguridad. Junto con NMAP, conduce a la multitarea de recursos de seguridad. MetaSploit se puede usar tanto para fines defensivos como ofensivos. Como puede ver, usarlo no es difícil; Los usuarios solo necesitan incorporar un poco de conocimiento práctico si ya están familiarizados con las redes y la programación. Metasploit también está disponible para Mac OS y Microsoft Windows.

Gracias por leer este tutorial explicando la instalación de MetaSploit y los comandos básicos. Sigue siguiéndonos para obtener más consejos y tutoriales profesionales de Linux.