Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica 1
Practica 1
Practica 1
Como hemos visto en el temario, la inyección de comandos es una de las vulnerabilidades más
criticas que nos podemos encontrar debido a su alcance. Un atacante seguirá los siguientes
pasos para encontrar la vulnerabilidad.
IMPORTANTE: En esta práctica estaremos utilizando una máquina atacante (la que vosotros
usareis.) y una máquina víctima que contendrá las diferentes vulnerabilidades. Si estás
realizando la practica en tu casa puedes poner las máquinas en modo puente, si estás en clase
te recomiendo crear una NAT para una mayor facilidad. Para realizar la práctica debes sacar
capturas de pantalla.
Accederemos vía web a los laboratorios. Una vez accedamos veremos lo siguiente.
Estos son los diferentes laboratorios para realizar las prácticas, en este caso utilizaremos
DVWA (Damm Vulnerable Web Application)
El usuario y contraseña por defecto es admin/password. Una vez accedamos podemos ver los
módulos que podemos practicar a la izquierda.
Aquí como atacantes tenemos que pensar como se está haciendo ese ping por detrás (a nivel
de código)
Estos son los datos recogidos con BurpSuite. Como estamos enfrentándonos a una máquina
Linux podemos probar diferentes cosas. Qué pasa si este ping se está ejecutando a nivel de Shell.
Usando &
Usando &&
Usando ;
Usando |
Usando ||
Veamos un ejemplo:
Si tratamos de hacer un ping a una dirección que este en el rango veremos una repuesta
parecida a la de la imagen de arriba. Con lo cual podemos pensar que el ping se esta
ejecutando a nivel de sistema operativo.
Si accedemos al código php podemos ver utiliza la función Shell_exec para ejecutar el ping.
2. Captura la petición con BurpSuite ¿Qué tipo de petición se está efectuando (GET,POST…)?
Al capturar la petición podemos ver que la petición se hace mediante el método POST.
3. Trat
a de
Para inyectar un comando usaremos los operadores que hemos visto arriba, para este
ejemplo he usado ; prueba usar otro.
4. ¿Qué usuario está ejecutando el servidor web?
Para saber que usuario esta ejecutando el servidor web tan solo habría que inyectar el
comando id
Depende del contexto. Si hacemos que el comando ping sea exitoso no funcionará. Esto se
debe a que se usa el operador OR (||). Pero si hacemos que el ping falle si funcionará.
6. Si no funciona el ejercicio anterior, trata de que funcione.