¿Cuadro de entrada de ping en el servidor web vulnerable a los comandos canalizados?

2

El escenario es este.

He iniciado sesión en un servidor web como administrador a través de la página de inicio de sesión en el navegador. me ha mostrado una página de inicio de tipo que tiene un cuadro de entrada con un botón al lado que dice "ping"

esencialmente hará ping a cualquier dirección IP que ingreses. (probado con URL's locales y externas)

Sé que, de hecho, el servicio que se ejecuta en el servidor web se ejecuta como root.

mi pregunta es la siguiente. ¿Puedo poner una dirección IP y luego canalizar un comando después de que se eleven mis privilegios?

Por ejemplo ... (excluyendo el comando de ping real en la actualidad)

ping 192.168.0.1 | usermod -a -G <groupname> username

ping 192.168.0.1 | whoami

¿el shell de comandos que ejecuta el ping se ejecuta bajo la raíz (99% seguro de esto) así que en teoría debería permitirme elevar los privilegios de un usuario en el sistema? corrígeme si me equivoco.

gracias de antemano

    
pregunta LewisFletch 21.10.2014 - 07:09
fuente

3 respuestas

1

Si el shell de comandos se ejecuta como root y la entrada proporcionada por el usuario no se valida correctamente, se ejecutará cualquier comando que pasará al shell. Creo que habrá una correcta validación de las entradas pasadas por los usuarios. Al igual que cuando un usuario ingresa la dirección IPv4, entonces será una combinación de enteros y puntos y para IPv6 será entero y:. Entonces, cuando el usuario pase el valor, definitivamente será validado antes de pasarlo al shell usando la variable.

    
respondido por el P4cK3tHuNt3R 21.10.2014 - 09:32
fuente
0

Así que después de una simple prueba de

127.0.0.1 | whoami

Se le ocurrió la salida "root"

Básicamente, podría hacer cualquier cosa si lo ingresé después de la dirección IP.

Por ejemplo, tenía un nombre de usuario jason que es un usuario normal sin privilegios especiales. Pude agregarlo al archivo sudoers con

 echo "jason ALL=(ALL) ALL" >> /etc/sudoers

Luego de esto pude ingresar SSH en la máquina con los nuevos permisos de jason y cambiar la contraseña de root con

passwd root

Probablemente sea el camino más largo para hacerlo, pero estaba experimentando con lo que podría salir adelante, ya que la salida del shell en el sitio web solo genera la salida de la tubería sin la posibilidad de ingresar parámetros solicitados como "nueva contraseña de UNIX" cuando cambiando una contraseña etc ...

    
respondido por el LewisFletch 22.10.2014 - 02:20
fuente
-1
  

corrígeme si me equivoco.

ok.

  

He iniciado sesión en un servidor web como administrador a través de la página de inicio de sesión en el navegador.

no, no tienes. ha iniciado sesión en una aplicación web en este servidor web.

  

esencialmente hará ping a cualquier dirección IP que ingreses. (probado con URL's locales y externas)

IPs. probaste direcciones IP, no URL con "ping"

  

Sé que, de hecho, el servicio que se ejecuta en el servidor web se ejecuta como root.

¿cómo?

  

mi pregunta es la siguiente. ¿Puedo poner una dirección IP y luego canalizar un comando después de que se eleven mis privilegios?

¿por qué no lo intentas?

    
respondido por el that guy from over there 21.10.2014 - 07:27
fuente

Lea otras preguntas en las etiquetas