-: Hasta ahora hemos visto cómo podemos usar
un servicio con una
contraseña predeterminada o un servicio que no se ha configurado
correctamente o un servicio que viene con una puerta
trasera para obtener acceso completo a la computadora de destino.
También vimos cómo el Metasploit básico usa el, para
conectarse a una puerta trasera que se
instaló en el servicio FTP.
Hoy vamos a tener un
aspecto más avanzado en Metasploit y veremos cómo lo usamos para ejecutar
la vulnerabilidad que existe en un determinado servicio.
Es una vulnerabilidad de ejecución de código que también nos
dará acceso completo a la computadora de destino.
Entonces, volviendo a nuestros resultados aquí con Nmap y haremos lo mismo
que hemos estado haciendo durante un tiempo,
copiamos el nombre del servicio y
vemos si tiene alguna vulnerabilidad.
Así que por hoy estamos viendo este puerto en particular, 139,
que tiene un servidor Samba versión 3. X.
Entonces 3. cualquier cosa en realidad.
Así que vamos a
revisar Google como lo
hicimos en los videos anteriores y buscaremos
Samba 3. X explotar.
Ahora, como puede ver, hay una serie de resultados.
El que nos interesa, los que
vienen de Rapid 7 porque, como dije, estas son
las personas que hacen Metasploit, por lo que las
hazañas que ves allí se pueden usar a través de Metasploit.
Así que tenemos dos ejemplos
aquí, ahora he probado los dos.
El primero no funciona, por lo que hay un
poco de prueba y error en esto y el segundo es
el Script de usuario Maps.
Es una vulnerabilidad de ejecución de comando, como puede ver aquí.
Entonces el nombre de la vulnerabilidad es este.
Entonces, es lo mismo que usamos
antes con la puerta trasera malvada en el servicio FTP.
Este es solo el nombre diferente que vamos a usar.
Así que voy a Metasploit y ya
he ejecutado la consola MSF, para que
puedan ver que la consola se está ejecutando aquí para mí.
Así que voy a hacer un uso, como lo
hicimos antes, ayer y luego voy a poner el nombre del exploit
que quiero usar.
Luego, lo siguiente que solemos hacer es mostrar opciones
como lo hicimos ayer.
Así que voy a hacer mostrar opciones.
Por lo tanto, el uso de estos exploits es siempre
el mismo, la única diferencia son las opciones que puede
establecer para cada exploit.
Por lo tanto, siempre usa y luego pone el nombre del
exploit y luego muestra las opciones para ver qué puede cambiar para
trabajar con este exploit.
Entonces, en el futuro, probablemente obtendrás hazañas diferentes a las
que tengo yo.
Por lo tanto, cada vez que desee
ejecutar un exploit, use un nombre de exploit y luego muestre las
opciones para ver las opciones que desea configurar,
pero usar los exploits y configurar las opciones y
ejecutarlas siempre es lo mismo.
Así que te muestro algunos ejemplos que deberían
cubrir casi todo lo que quieras hacer en el futuro.
Entonces, nuevamente, necesitamos configurar el R-Host, que es la IP de la
computadora de destino, y lo haremos de la misma manera
que antes.
Como dije, establecer las opciones es siempre la misma.
Así que vamos a configurar R-HOST y luego
vamos a poner la IP de la computadora de destino
que es 10. 20) 14) 204
Entonces, exactamente como lo hicimos antes, estamos usando el conjunto
para establecer una opción que es el R-HOST.
Así que haremos nuestras opciones de show.
Y como puede ver ahora, el R-HOST se ha configurado correctamente.
Lo que tenemos que hacer ahora es, aquí es donde las cosas
difieren de la conferencia anterior.
En la conferencia anterior, utilizamos una puerta trasera que ya estaba instalada en la
computadora de destino, por lo que todo lo que teníamos que
hacer era conectarnos a la puerta trasera
y luego podríamos ejecutar cualquier comando, cualquier comando de Linux en la computadora de destino.
En el video de hoy, la computadora de destino no
tiene una puerta trasera, tiene un programa normal que tiene un desbordamiento de
búfer o una vulnerabilidad de ejecución de código.
Entonces, el programa no tiene ningún código que nos permita ejecutar
comandos de Linux, tiene cierta falla que nos permitirá ejecutar una
pequeña porción de código.
Estas pequeñas piezas de código se llaman cargas útiles.
Entonces, lo que debemos hacer es crear una carga
útil y luego ejecutarla en la computadora de
destino utilizando la vulnerabilidad que encontramos.
Ese código nos permitirá hacer cosas diferentes.
Entonces, la carga útil es lo que nos permite hacer
cosas que nos son útiles.
Ahora la carga útil podría permitirnos hacer comandos de Linux y
hay otro tipo de cargas útiles que veremos en
el futuro.
Entonces, para ver las cargas útiles que puede usar
con este exploit en particular, todo lo que tiene que
hacer es ejecutar show payloads.
Y estos son diferentes tipos de carga útil que puede usar.
Ahora voy a hablar de esto nuevamente, por lo que las
cargas útiles son pequeñas piezas de código que se ejecutarán en la computadora de
destino una vez que se haya explotado la vulnerabilidad.
Entonces, cuando explotamos la vulnerabilidad, el código que
elegiremos aquí se ejecutará y, según el tipo
de carga que elijamos, esa carga hará algo que
nos será útil.
Entonces, ahora puede ver que todas las cargas útiles son cmd, por
lo que es la abreviatura de comando, por lo que le
permiten ejecutar comandos en la computadora de destino, al igual que los comandos de Linux.
Y todos ellos solo se ejecutan en Unix y eso está
bien porque nuestro objetivo es Linux.
Y hay dos tipos principales, hay cargas útiles de
enlace y hay cargas útiles inversas.
Las cargas útiles de enlace, todo lo que hacen es abrir un puerto
en la computadora de destino y luego nos conectamos a ese puerto.
A la inversa, hacen lo contrario.
Entonces abren un puerto en mi máquina y luego se conectan
desde la computadora de destino a mi máquina.
Esto es útil porque lo contrario nos permite evitar los firewalls, por
lo que el firewall filtrará cualquier conexión que vaya a la máquina de
destino, pero si la máquina de destino se
conecta a mí y no tengo un
firewall, entonces podré evitar el cortafuegos
Así que voy a usar el cmd Unix
reverse o en realidad usaré el cmd Unix reverse netcat.
La última parte de estas cargas son el programa y la herramienta
de orden de idioma que se
utilizará para facilitar la conexión.
Entonces, por ejemplo, podemos ver que hay cargas
útiles escritas en perl en ruby o en python, php o usar
un netcat que es una herramienta que permite conexiones entre computadoras.
Así que este es el que voy a usar y lo voy
a usar de la misma manera que usas un exploit.
Así que solo voy a decir, en realidad lo siento, lo usaré
usando el comando set.
Entonces, de la misma manera que usa set y
option, configuraremos la carga útil, así que, como una opción, al nombre de
la carga útil que acabamos de elegir.
Ahora voy a hacer un show de opciones para ver si hay
otras opciones que necesito configurar.
Y sí, porque elegimos una carga útil ahora
hay más opciones.
Entonces, hay una opción llamada L-HOST
y es la dirección de escucha, que es mi propia dirección.
Así que voy a obtener mi propia dirección IP usando if config.
Y mi propia dirección es 10. 20) 14) 203.
Así que voy a cerrar
esto y voy a configurar el L-HOST.
Entonces, de la misma manera que configuramos el R-Host
antes, configuramos el L-HOST.
Hacer 10.
20)
Entonces, antes solíamos configurar R-HOST para configurar esta opción, ahora estamos
configurando el L-HOST para configurar esta opción en particular.
Entonces set es realmente simple, set, pones el nombre de la opción
y luego el valor en el que quieres establecerlo.
Luego mostraré opciones y ahora todo
parece estar bien.
Así que estamos usando este exploit, el R-HOST está configurado para esto, lo
cual está bien.
Y luego el L-HOST está configurado para esto, lo cual es perfecto.
Y luego también puede configurar el puerto en
el que va a estar escuchando, en su computadora actual.
En realidad, puede configurarlo en 80 si
lo desea, ese es el puerto que utilizan los navegadores web.
Entonces, si configura el L-PORT en 80, la computadora de destino
intentará conectarse a usted usando el puerto 80 que nunca se filtra en los
firewalls porque ese es el puerto que usan los navegadores
web o servidores web.
Entonces, cada vez que accede a un sitio web, realmente accede al puerto 80
en ese sitio web.
Entonces, si abre el puerto 80 en su máquina y el
objetivo se conecta a usted en 80, entonces el firewall
pensará que el objetivo solo está navegando en Internet.
No voy a hacer eso ahora porque tengo un servidor web ejecutándose
en el puerto 80 y eso entrará en conflicto.
Así que solo voy a
configurar el L-PORT en 555 solo por ejemplo de ti, solo para ver
que puedes cambiar cualquier opción de la misma manera que está configurada,
el nombre de la opción y luego el valor.
Así que voy a mostrar opciones de nuevo.
Y como puede ver, esto se ha cambiado a 5555 y
voy a hacer explotar para ejecutar el exploit.
Ahora, como pueden
ver, me dice que se ha abierto una sesión.
Y la conexión es entre este dispositivo y este dispositivo.
Cuál es el objetivo y mi dispositivo.
Así que voy a hacer un pwd
y, o hago una identificación.
Verás que soy root, por lo tanto, hago una uname -a.
Verá que estoy en la máquina
Metasploitable y si hago un ls, podré enumerar los archivos, etc.
Puedo usar cualquier comando de Linux, tal como lo hicimos antes en
los otros videos.