"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 postgresqlInstrucciones 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-contribLuego inicialice la base de datos ejecutando el siguiente comando.
servicio PostgreSQL initdbInicie el servicio utilizando SystemCTL como se muestra a continuación.
sudo systemctl iniciar postgresqlInstalació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 && ./msfinstallDespué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 initUna vez que se inicializa el metasploit, comience ejecutando el comando que se muestra en la imagen a continuación.
msfonsoleAntes de comenzar con Metasploit, verifique si se conectó correctamente a la base de datos ejecutando el siguiente comando.
db_statusComo 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.
msfonsolePara 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úsquedaComo 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/tcpUna 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 opcionesDe 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 rhostsA 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 puertosEl HILOS La opción le permite definir el número de hilos; Seleccioné 10.
Establecer hilosDespués de definir las opciones mencionadas anteriormente, ejecuto el escaneo utilizando el correr dominio. Puedes ver todo el proceso en la siguiente figura.
correrComo 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ásComo 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.101Como 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 VSFTPMetaSploit 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_backdoorDespués de seleccionar el exploit, ejecutaré el Mostrar opciones Comando para mostrar las opciones de explotación.
Mostrar opcionesComo 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ónSi quisiera definir un objetivo diferente, ejecutaría el siguiente comando.
Establecer Rhosts 192.168.0.101Una vez que se definan el objetivo y el puerto, ejecute el explotar Comando para iniciar el exploit.
explotarComo 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.
salidaPara salir de MetaSploit, también use el comando de salida.
salidaEso 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.