Una vez hemos conseguido penetrar en un sistema, la serie de actividades que se deben realizar son vitales para evitar ser descubiertos y garantizar futuros accesos a la máquina comprometida, aunque no hay una metodología estándar para este tipo de actividades, existen un conjunto de pasos que son ampliamente aceptados dada su importancia en el proceso de post-explotacion de un sistema.

1. Entendimiento de la víctima (Information Gathering):
El primer paso que se debe realizar una vez explotada una vulnerabilidad, consiste en recolectar la mayor cantidad de información posible sobre el sistema objetivo, de esta forma podemos determinar estrategias y planes de acción que servirán para los siguientes pasos.
Algunos tópicos de interés sobre el sistema objetivo pueden ser:

  • Sistema Operativo del Objetivo y el nivel de parche aplicado
  • Características de Hardware del objetivo y determinar si se encuentra ejecutándose sobre una máquina virtual o no.
  • Listado de Usuarios registrados en el sistema y cuales se encuentran logueados actualmente.
  • Listado de Procesos en Ejecución
  • Programas instalados en la maquina objetivo y frecuencia de uso
  • Tiempo de Actividad/Inactividad del Sistema objetivo.
  • Dependiendo del sistema operativo instalado en el objetivo, verificación de ficheros de configuración en busca de posibles vulnerabilidades para seguir explotando.
  • Listado de variables de entorno en el sistema objetivo.
  • Obtención de los hashes correspondientes a los passwords de los usuarios del sistema objetivo.
  • Determinar si se tiene acceso a otras máquinas en el segmento de red y si existen directorios compartidos.
  • Encontrar software de Seguridad instalado en la máquina y ficheros de log del sistema

2. Escalación de Privilegios (Privilege Escalation)
Frecuentemente, nos encontramos que una vez comprometido un sistema, no tenemos un usuario con los permisos suficientes para desarrollar determinadas actividades sobre el sistema objetivo, en estos casos, se hace necesario realizar un procedimiento de escalado de privilegios para obtener una cuenta de usuario con todos los privilegios habilitados sobre el sistema, así tendremos muchas mas facilidades a la hora de tratar la máquina comprometida como pivote para comprometer otra máquina en el segmento de red y finalmente comprometer la red completa.

3. Borrar Logs y matar procesos de software de monitorización
Este punto, es quizás el mas importante debido a que puede perjudicar nuestro acceso y ponernos al descubierto, cualquier tipo de rastro que se deje en una máquina objetivo puede ser posteriormente utilizado en un análisis forense y con esto cerrar definitivamente nuestras alternativas de acceso a la máquina comprometida. En muchos casos también conlleva a acciones legales que evidentemente serán indeseables para el atacante.
Por otro lado, también existe la posibilidad (muy probable) que la máquina objetivo tenga instalado algún tipo de software dedicado a la seguridad e integridad del sistema, en muchos casos este será nuestro principal problema a la hora de ejecutar determinadas acciones sobre el sistema remoto, por esta razón es indispensable dedicar tiempo en investigar el sistema y los posibles sistemas de registro instalados en el objetivo y detectar el software instalado y sus correspondientes versiones

4. Recolectar información, Ejecutar programas en la víctima, etc.
Llegados a este punto, es importante obtener información mas detallada sobre la víctima y ejecutar programas en el objetivo que puedan alterar variables del registro del sistema operativo o alguna utilidad que nos permita crackear información cifrada como ficheros de passwords, etc. Este paso nos permitirá acceder a cierta información que puede resultar invaluable para permitirnos el acceso a la máquina comprometida en cualquier momento y seguramente, nos permitirá optimizar este proceso sin ser detectados por los sistemas de seguridad instalados en la máquina objetivo.

5. Establecer puertas Traseras, Rootkits
Finalmente, el último punto para tener completamente a nuestra disposición una máquina remota, es establecer puertas traseras y rootkits, con el fin de garantizar nuestro acceso en el caso de que el mecanismo utilizado para acceder ya no se encuentre disponible. Aunque cierren una ruta de entrada, una puerta trasera va a permitir acceder a la máquina objetivo nuevamente y realizar cualquier tipo de acción.

6. Usar la víctima como pivote para hackear otras máquinas en la red
Una vez tenemos a nuestra disposición una máquina en un segmento de red, podremos hacer uso de dicha máquina para comprometer alguna otra a la que se pueda acceder desde la máquina comprometida. Los beneficios de utilizar una máquina intermedia que sirva para penetrar en otras máquinas conectadas a está dependen de los objetivos planteados en el proceso de pre-explotacion y sobre la información que deseamos obtener.