Narrador: En esta
conferencia, vamos a
echar un vistazo a las vulnerabilidades de carga de archivos.
Estos son los tipos de vulnerabilidades
más simples porque nos permiten cargar cualquier tipo de archivo.
Entonces, por ejemplo, si la computadora de destino puede entender php, entonces
podemos cargar cualquier archivo php o un shell de php y
obtener un control total sobre la computadora de destino.
Ahora, como la computadora de destino o el servidor de destino entienden
Python o cualquier otro idioma, entonces solo puede
cargar el código Python, el
shell Python o el shell Ruby.
Puede crear estos
shells con Veil-Evasion o Metasploit,
o puede usar su propio shell php o Python.
Lo que
haremos hoy, vamos a echar
un vistazo a una herramienta llamada weevly que genera
shells php y nos permite obtener
acceso y hacer una serie de cosas interesantes en la computadora de destino.
Entonces, antes que nada, tengo mi DVWA aquí.
Y, por lo general, cuando intenta planificar la prueba
de un sitio
web, lo que le recomiendo es, antes
de intentar usar cualquier herramienta o algo,
después de recopilar información, simplemente ingrese e intente navegar por el sitio web.
Vea lo que puede ver, solo tenga una idea del sitio web.
Vea lo que está instalado en él y todo eso.
E intente explotar cualquier característica que vea.
Entonces, por ejemplo, digamos que hiciste todo y
luego llegaste a la carga.
Podemos ver que este sitio web nos permite cargar un archivo.
Ahora, esto a veces en sus tareas de prueba de penetración, podría ser
un sitio web que le permite cargar una imagen
de perfil, una imagen, si es un sitio web clasificado, tal vez
le permita cargar imágenes de automóviles o lo que sea que
esté tratando de agregar el sitio web.
Entonces, como puede ver aquí, el sitio web
espera que elija una imagen y cargue una imagen.
Entonces, veamos si podemos subir una imagen primero.
Así que voy a ir a mis descargas y
tengo una foto aquí en los recursos.
Solo una foto de un auto.
Lo subiré y veré si se sube.
Y podemos ver que la carga
se realizó correctamente y se almacena en esta ubicación en particular,
así que ...
lo que significa dos directorios atrás y luego este nombre de archivo.
Entonces, veamos si la imagen se ha subido realmente.
Así que estoy quitando
dos directorios, estoy quitando las vulnerabilidades y cargando.
Solo estoy usando eso.
Y luego vamos a obtener esta ubicación en el servidor, solo para
ver si la imagen se cargó correctamente.
Y como podemos ver, la imagen se ha subido, así
que todo está bien.
Ahora, lo siguiente
que queremos hacer es intentar subir un archivo php.
Y para hacer eso, vamos a usar una
herramienta llamada
weevly como dije, para crear una carga útil o un shell si quieres llamarlo.
Y obviamente será un shell de php.
Puede usar metasploit como dije
para crear una carga
útil de php, pero tendremos que buscar
una herramienta diferente diseñada para pruebas de penetración de aplicaciones web.
Entonces la herramienta es muy
fácil, vamos a poner el nombre de la herramienta, que es semanal.
Y luego vamos a poner generar, porque
queremos generar una carga útil o un archivo de shell.
Luego, pondremos una contraseña para ese archivo,
de modo que solo nosotros podamos acceder a él y controlar el
sitio web cuando lo carguemos.
Entonces mi contraseña será 1-2-3-4-5-6.
Y luego voy a decir dónde quiero almacenarlo.
Y quiero almacenarlo en la raíz y
lo llamaré shell. php.
Muy simple, weevly es el nombre del programa.
Generar es generar un shell.
La contraseña con la
que el shell nos autenticará, y
se almacenará en root / shell. php.
Voy a presionar enter y se crea
ahora, si ya estoy en mi raíz, así que lo hago. Debería verlo.
Y podemos verlo aquí mismo.
Entonces, lo siguiente es que volveremos
a nuestro sitio web e intentaremos cargar ese shell.
Y voy a buscar una concha y aquí está.
Y presioné al subir.
Y como puede ver ahora,
me dice que el archivo se ha cargado correctamente
y está en el mismo lugar que estaba la imagen.
Entonces, todo lo que tenemos que hacer ahora es usar el mismo enlace
y usarlo nuevamente para interactuar con
el shell que cargamos.
Ahora, antes que nada, veamos si el shell existe
y si se ha cargado correctamente.
Así que solo voy a navegar a través de mi navegador.
Cáscara. php y puede ver que obtiene
una página en blanco, por lo que no estamos
obteniendo el archivo 404 no encontrado, lo que significa que el archivo se ha cargado y está allí.
Así que vamos a tratar de interactuar con ella desde el principio.
Para conectarnos a él, vamos a escribir semanalmente,
y luego vamos a poner la URL donde está el shell.
Entonces aquí es donde se ha cargado nuestro shell.
Y luego vamos a poner la contraseña.
Entonces mi contraseña era 1-2-3-4-5-6.
Muy simple, por semana, la URL donde está el
archivo y 1-2-3-4-5-6.
Esto es muy similar a cuando usa su
manejador múltiple esperando conexiones o conectado a
través de su puerta trasera.
Entonces, literalmente, nos vamos
a conectar a la puerta trasera que subimos.
Y como puede ver, ahora estamos
en el sistema de archivos, por lo que desde muy pronto, desde
este lugar, puede escribir cualquier comando de Linux.
Y podrá, se ejecutará en la
computadora de destino y verá el resultado aquí.
Entonces, si hago un pwd, verás que
estoy en var / www / hackable / uploads y si hago una identificación,
veré a mi usuario
en este momento, que es www. datos.
Y si hace una uname -a solo para confirmar que
esta es la máquina de metaplotación, verá que esta
es la máquina de metaplotación de Linux.
Ahora podemos hacer lo que queramos.
Podemos enumerar los archivos, podemos navegar.
Puedes hacer cualquier comando de Linux que quieras hacer.
Ahora hemos cambiado, nuestro lugar ha sido cambiado.
Weevly también ofrece muchas más funciones además de esto.
Por lo tanto, en realidad te permite hacer una serie de cosas geniales.
Si escribe ayuda, verá todas las cosas interesantes que
puede hacer con Weevly.
Entonces puede intentar escalar sus privilegios.
Ejecute consultas SQL y muchas cosas interesantes que están diseñadas para
pruebas de penetración de aplicaciones web.
Por ahora lo dejaré en esto.
Y esto solo le
muestra cómo usar File Upload Vulnerabilites.