Escalamiento de privilegios desde la explotación

1

¿Cuál es la conexión entre un exploit y el punto de escalada de Privelage y abrir una shell inversa?

Entiendo ciertas partes del proceso, pero no cómo están vinculadas entre sí.

Por ejemplo, Si se encuentra una vulnerabilidad y se explota un desbordamiento con alguna carga útil que incluye un sled NOP hasta la carga útil en ejecución, ¿cómo se conecta para obtener realmente la raíz en el sistema o para copiar el código a la máquina virtual y cambiar la sección de memoria a ejecutable?

¿Las cargas útiles adicionales deben enviarse a través del mismo desbordamiento? ¿Cuál es el controlador real que junta los componentes?

Y para el shell inverso, ¿se trata de un socket encriptado a algún sistema para que los paquetes C & C puedan enviarse? Todavía me falta lo que realmente toma el control del sistema remoto para manejar esto? ¿Se puede inyectar un programa completo en el desbordamiento o en partes y, de alguna manera, volver a ensamblarse y comenzar a ejecutarse?

    
pregunta jarryd 07.10.2015 - 17:35
fuente

1 respuesta

3
  

¿Cuál es la conexión entre un exploit y el punto de escalada de Privelage y abrir una shell inversa?

En realidad no hay una conexión directa. Un exploit aprovecha una vulnerabilidad en el software. Para las vulnerabilidades a las que hace referencia, está buscando entregar el código que ha escrito para obtener acceso al sistema de destino. Esto podría abrir un shell inverso para que puedas ejecutar comandos.

La escalada de sus privilegios no está directamente relacionada porque la vulnerabilidad se ejecuta con los permisos del software que está atacando. Si el software se ejecuta como root, obtienes root cuando lo explotas. Si el software se ejecuta como joe, obtienes los permisos de joe. La escalada posterior es un proceso independiente que puede requerir la ejecución de más exploits.

  

Y para el shell inverso, ¿es un socket cifrado que devuelve a algún sistema para que se puedan enviar los paquetes C & C?

Depende de lo que quieras ejecutar. Cosas como netcat no están encriptadas de forma predeterminada, mientras que sbd, o backdoor seguro, sí lo están. Depende de usted y del código que envíe al objetivo.

  

Todavía me falta lo que realmente toma el control del sistema remoto para manejar esto.

Cuando explota software en el escenario del que estamos hablando, está redirigiendo el flujo del programa para ejecutar su código. Cuando hace eso, ejecuta cualquier código que le indiques que haga, como si hubieras escrito el software.

  

¿Se puede inyectar un programa completo en el desbordamiento o en partes y, de alguna manera, volver a ensamblarse y comenzar a ejecutarse?

Esto depende de la vulnerabilidad. En un desbordamiento de búfer, puede tener un tamaño limitado para entregar su código. En ese caso, tendrás que hacer lo que se llama puesta en escena. La puesta en escena ofrece un programa mucho más pequeño que luego descarga más código tuyo hasta que llega al programa completo que deseas que ejecute tu exploit.

    
respondido por el user79537 07.10.2015 - 18:08
fuente

Lea otras preguntas en las etiquetas