| |
|
|
| |
-
Seguridad Informática - Análisis forense - Transcurso de una agresión
-
El transcurso de una agresión puede verse desde diversas fases, las cuales brindan una idea de los acontecimientos que pueden sucederlos
y el objetivo de la misma. De la misma forma ayuda a encontrar rastros. Estas fases son:
- Footprinting
- escaneo de puertos y protocolos
- enumeración
- exploiting/infiltración
- colocación de puertas traseras (backdoors)
- eliminación de las rastros
Footprinting
Designa las actividades que anteceden al ataque. Aquí el agresor escoge a grosso modo el ámbito en que ha de ejecutarse el
ataque. Es una dirección IP escogida con antelación o la estructura de una organización accedida desde Internet.
El objetivo de un ataque se encuentra casi casualmente, al escanear un espacio IP en Internet. El agresor desea en esta fase identificar
a grandes rasgos, sistemas interesantes o particularmente indefensos. Independientemente de que esta actividad pase imperceptible para
la organización, las informaciones que logre el agresor conformarán la base de las acciones posteriores. Dichas actividades
pueden ser:
- búsqueda en Whois y DNS
- consultar todas las direcciones IP disponibles en un Servidor DNS
- examinar la arquitectura de red (donde se encuentran los router o cuales son los routers Up- y Down-stream)
- verificación con "ping" y "tracerouter" (por ejemplo icmp-Discovery)
- análisis de los Hosts activos con "ping-sweeps" sobre la zona de direcciones IP
El resultado de esta fase para el agresor es una lista de direcciones IP del entorno de su interés.
Escaneo de puertos y protocolos
Con el escaneo de puertos y protocolos el agresor determina los puertos abiertos del sistema precisado en la fase "Footprinting" y los protocolos correspondientes.
Agresores experimentados tratan de permanecer anónimos. Para esto utilizan diversos métodos de enmascaramiento y
técnicas.
El resultado de esta fase es una lista de las direcciones IP con los correspondientes puertos UDP y TCP abiertos, los tipos de ICMP
relacionados y otros protocolos IP apoyados.
Enumeración
En esta fase, el agresor trata de descubrir los programas que usan los puertos abiertos en el sistema. Esto es posible con "Bannergrabbing" (es un tipo de
huella digital) por ejemplo. El agresor trata de contactar el servidor para lograr la
información que necesita. Esta puede ser la versión del servidor o su sistema operativo. Muchas aplicaciones están
configuradas de tal forma que brindan dicha información sin requerimiento alguno. Mientras más informaciones sean ofrecidas
de esta forma, mayor es la probabilidad de que el agresor saque provecho de ella.
Las organizaciones no deben ofrecer informaciones relevantes, relativas a la técnica y la arquitectura de su red, las versiones
y Patchlevel actual del sistema operativo, en forma indiscriminada (publicar estos datos en Internet, por ejemplo).
Exploiting/Infiltración
Como el agresor, en esta fase, conoce aproximadamente, la versión de los programas y el sistema operativo utilizados, le es
posible agredir al sistema en cuestión. Tratará de acceder al sistema, con el objetivo de lograr la condición
de administrador de sistema.
Estos ataques son posibles, dados los puntos débiles conocidos de aplicaciones y programas relativos a su programación,
configuración o implementación.
Colocación de puertas traseras (backdoors)
El agresor desea acceder con posterioridad al sistema, para desde él, atacar otros sistemas o para recoger la información
recolectada por un "Sniffer" que haya instalado anteriormente. Los agresores, normalmente, parten de la premisa, de que los
administradores del sistema descubran el ataque, determinen el "hueco" en la seguridad y tomen las medidas necesarias para
superar la vulnerabilidad del sistema. Por esto instalan accesos ocultos, "puertas traceras" o "backdoors".
Estos pueden ser procesos ocultos del servidor o cuentas de administrador del sistema. Un método común es la instalación
de "rootkits", los cuales posibilitan la sustitución de programas del sistema operativo.
Eliminación de las huellas
Una vez que el agresor haya logrado su propósito (acceder al sistema cuando le plazca) tratará de borrar las huellas que
lo denuncian, como pueden ser anotaciones en los archivos "logs" relativos a los ataques y el acceso no autorizado.
Construyamos un caso, el cual ilustre el transcurso de una agresión.
Digamos que este ocurre en cinco fases:
- escaneo de puerto
- prueba del servicio RPC (Remote Procedure Call) encontrado
- "Bannergrabbing" e identificación del sistema sobre el puerto Telnet
- ataque al "portmapper" del servicio RPC
- instalación de un rootkit-shell con el puerto 4545
El intruso escanea los puertos TCP y detecta los servicios activos en el servidor, los cuales pueden ser contactados.
El contacto se realiza a través del puerto Telnet. Tras el análisis del mensaje de bienvenida, se contacta el
"portmapper", verificando así que está activo. Esto lo hace con el comando "RPC-Query", verificando
que el puerto TCP 111 está abierto, con lo que queda demostrado que el "portmapper" está activo.
Verificado esto, el intruso inicia una conexión Telnet con el servidor, para, con el mensaje de bienvenida y su información
relativa al sistema operativo utilizado y posiblemente, el estado de los "Release"
obtener información sobre el sistema. En este caso hipotético, se trata
de un sistema anticuado de Linux, el que presenta un "portmapper" con vulnerabilidad crítica.
Todo esto pudo lograrlo con una busqueda "Exploit", tras la cual le fue posible agredir el "portmapper"
exitosamente a travéz de UDP.
Con el ataque al "portmapper", el intruso instala una "puerta trasera" y con el "Exploit" por su parte,
el agresor alcanza derechos "Root".
Con la ayuda de la línea de comando, agrega una línea al final del archivo de configuración "inetd"
(Superdaemon-Internet), la cual pone a su disposición un "Root-Shell" sin clave (Password) con el puerto TCP 4545.
Debido a que tras cada actualización de la configuración de "inetd" debe ser reiniciado, el agresor inicia
este servicio con una señal "Kill".
La ejecución de estos comandos requiere solo de unos instantes, por lo que el ataque dura solo unos pocos segundos. El corto
intervalo de tiempo entre cada uno de los comandos indica que dichos comando no fueron tecleados, sino que se utilizó un script
que automatizó el ataque.
En los archivos "log" del Firewall al que está conectado el servidor, es posible leer los reportes correspondientes
a la aceptación de la conexión del intruso y el contacto con los servicios RPC y Telnet.
Posteriormente, el agresor establece una conexión con el servidor a través del puerto 4545 y comienza a borrar sus huellas.
El agresor verifica si el sistema fue reiniciado y si se encuentra otro usuario reportado (activo). Entonces borra los archivos de
configuración del Wrapper-TCP y los archivos "log" que señalan los usuarios registrados en el sistema.
A continuación el agresor crea una cuenta "Root", ya que el acceso al sistema via Telnet es más confortable
que a través del "Root-Shell" sobre el puerto 4545.
El agresor detiene el servidor "Syslog" y borra el script de iniciación. Entonces crea una cuenta "own"
con derechos "Root" y un usuario "adm1". El registro directo de "Root" via Telnet no es posible,
por lo que se utiliza el usuario "adm1" para el registro en el sistema.
Por último, el intruso verifica que el servicio Telnet está activo y se despide del sistema.
A continuación el agresor se registra en el sistema via Telnet y trata de bajar de un servidor FTP otros Tools y programas que le
sirvan de "puertas traseras".
El intruso de registra en el sistema con la cuenta "adm1" y con el comando "SU" adquiere la condición de
usuario "Root". Comprueba si corre algún proceso sospechoso. El agresor ha detectado que en la lista de procesos se
encuentra el sistema desde el cual el se ha registrado.
El agresor inicia el servidor FTP sin parámetros, con lo que se evita que aparezca en la lista de visitantes del servidor y accede
con "open". De esta forma en la lista de procesos aparecerá solo "ftp".
A partir de aquí, el intruso borrará todas las huellas que haya dejado en el sistema e instalará otros Tools. Los
programas necesarios para esto seguramente los habrá bajado via FTP. Junto con el Bot-IRC encontrará en los archivos bajados
una implementación SSH (troyano), Rootkits, Logfilecleaner y escáner de puertos.
El intruso borra los script de instalación y enlaza la device 0 para evitar que los comandos tecleados sean protocolizados. Hecho
esto, instala los archivos de sistema troyanisados y sus archivos de configuración. Una vez sustituido el servidor FTP el intruso
prepara la instalación de un servidor SSH troyanizado con acceso "Root" oculto.
Se instala y configura un Rootkit y borra todos los archivos de protocolo que hagan referencia a sus actividades.
Los administradores del sistema agredidos advierten las actividades del intruso mientras trata de establecer contacto con otros sistemas
via IRC o bajar software y retiran el sistema de la red.
La descripción de este caso da muestras de cierta sistematicidad que los administradores pueden utilizar para predeterminar los
pasos que un intruso ha de ejecutar a continuación.
 |
|
Ultima actualisación: Tue, 24 ▪ May ▪ 2011
|
|
|
|