
¿Que es RedTeam?
Se conoce como “RedTeam” al equipo de personas implicadas en realizar auditorias de seguridad simulando el Rol de un posible ciberdelincuente o grupo de ciberdelicuentes con el objetivo de detectar todas las posibles vulnerabilidades o fallos de seguridad que puedan tener los activos de la organización en referencia al mundo digital. Las acciones que lleva a cabo el RedTeam se conocen como “ejercicios o campañas de RedTeam”
Metodología de Readteam
Reconocimiento y recopilación de información:
Esta fase consiste en la recopilación de la mayor cantidad de información posible sobre un sistema objetivo. Para ello se investiga toda la información que se pueda encontrar sobre la empresa propietaria del sistema (aplicaciones web, empleados, direcciones fisicas…) mediante la técnica conocida como OSINT (Open Source Intelligence) donde toda la información se recopila a través de fuentes públicas (whois por ejemplo), información pública indexada por buscadores (Google Dorks), se intenta averiguar que servicios y que puertos tiene la máquina y si alguno es vulnerable, etc. El resultado de esta fase es aprender sobre las personas, tecnologías y entornos en los que opera la organización.
Reconocimiento Pasivo: Cuando hablamos de reconocimiento pasivo nos referimos a que no interactuamos directamente con el sistema u organización objetivo. Para esta etapa se emplean herramientas OSINT, redes sociales, y posible información pública que pudieran tener las aplicaciones web o recursos de red del objetivo.
Reconocimiento Activo: En el Reconocimiento Activo se entra en contacto con el sistema u organización objetivo de diferentes maneras. Desde ataques de Ingeniería social, como phishing o suplantaciones de identidad (spoofing), pasando por escaneo de IP de máquinas y puertos abiertos hasta ataques de fuerza bruta que otorguen información sobre el objetivo. En este apartado es recomendable contar con mecanismos que favorezcan el anonimato para no comprometer la identidad y el éxito del ejercicio (VPN, VPS, Tor, TorSocks, Proxychains).
Compromiso Inicial (Explotación)
La información encontrada en la etapa anterior será nuestro punto de partida para comenzar con la explotación. Identificaremos los posibles vectores de ataque y trataremos de explotarlos para conseguir el acceso inicial y establecer persistencia en el sistema para poder acceder posteriormente. En esta etapa se preparará el armamento que utilizaremos, como documentos infectados con payloads (fragmentos de código), scripts preparados, elaboración de campañas de phishing (gophish), ataques de ingeniería social, difusión de malware (Troyanos, exploits) o utilización de Metasploit para el acceso.

Establecimiento de la persistencia (Post-Explotación)
Una vez conseguido el acceso inicial, debemos tratar de garantizar futuros accesos estableciendo mecanismos de persistencia. Existen numerosas técnicas y herramientas para garantizar el acceso futuro, pero todos ellos deben realizarse sin contar con privilegios de administración. Es necesario que pase desapercibido puesto que si se detecta la intrusión o se corta la vía de acceso, el ejercicio quedará comprometido y será necesario volver a las etapas iniciales.
Instalación: Será necesario instalar elementos físicos y/o lógicos en el sistema como pueden ser muestras de malware, manipulación de componentes del sistema, creación de nuevos usuarios, USB con carga maliciosa o scripts que se ejecuten en el arranque del sistema, por ejemplo para realizar peticiones hacia un servidor preparado previamente para establecer una comunicación.
Mando y Control (C2): Este paso es opcional pero puede estar ligado a alguno de los mecanismos de persistencia instalado anteriormente. Para ello se levanta un servidor y se instala un agente software en el sistema objetivo que permita la ejecución remota de comandos para controlar los sucesos y movimientos en uno o varios de los sistemas comprometidos.
Escalada de Privilegios
La obtención de privilegios elevados en el sistema raramente se consigue directamente en la fase de explotación. Si queremos realizar esta etapa correctamente es necesario en la mayoría de los casos conocer la estructura y arquitectura del sistema víctima para poder realizar una recolección de información interna que nos permita obtener un camino para elevar privilegios. Versiones de los servicios, vulnerabilidades conocidas de las versiones o aprovechar fallos de configuración en los permisos de los diferentes paquetes o servicios que estén corriendo en el sistema.
Reconocimiento Interno
Si el ejercicio implica a un solo sistema, esta fase nos otorgará el conocimiento completo sobre el sistema. En caso contrario, utilizaremos el sistema comprometido para tratar de obtener información sobre los sistemas que están directamente conectados o en comunicación con este, bien en una red privada (LAN o VPN). Las técnicas y herramientas utilizadas en este punto son las mismas que en la etapa inicial de reconocimiento.
Movimientos laterales: Utilizando el sistema comprometido como un pivote o proxy y contando con que hubiere mas sistemas conectados directamente, podemos acceder a segmentos de red que son sensibles para el atacante. Será necesario crear túneles contra las máquinas y servicios descubiertos en el reconocimiento interno que nos permitan enrutar las peticiones desde el sistema comprometido hacia una víctima potencial utilizándolo como un intermediario.
Mantener la presencia: En el caso de que el compromiso de más máquinas sobre la red victima sea satisfactorio debemos llevar a cabo las mismas labores indicadas en el Establecimiento de Persistencia para conservar el acceso a la red y poder controlar y monitorizar las comunicaciones entre cada uno de los componentes que hacen parte del entorno sobre el que operamos. Debemos tener en cuenta que es posible que existan mecanismos de seguridad perimetral que puedan detectar la actividad aún estando en el interior de la red, aunque la probabilidad es menor.
Limpieza
Una vez realizada con éxito la campaña, antes de abandonar los sistemas debemos borrar todo el rastro posible que hayamos podido dejar sobre nuestra intrusión. Debemos limpiar Logs del sistema, archivos residuales de scripts o programas que hayamos inyectado en las máquinas, servicios desplegados, usuarios creados… No obstante, es posible que la organización crea necesario dejar los rastros para que el Blue Team o el equipo de seguridad utilice esa información para conocer por donde se ha podido realizar la intrusión y realizar las actualizaciones de servicios o acciones necesarias sobre el sistema. Puntualizaremos que la etapa de limpieza debe tenerse en cuenta desde el principio del ejercicio, puesto que podemos encadenar comandos o modificar nuestros scripts para que los posibles rastros que puedan dejarse de la ejecución sean mínimos. Un ejemplo sería la redirección de mensajes derivados de la ejecución de comandos o scripts hacia la ruta /dev/null
en sistemas linux.
Generación de Informes
Una vez completado el ejercicio, se recopila la información de todas las etapas para proporcionar un informe completo a las partes interesadas, que incluyan la información recopilada en las etapas de reconocimiento, los vectores de ataque y detalles de la intrusión como métodos utilizados para el compromiso inicial, escalada de privilegios y persistencia en el sistema. El informe debe describir donde se tuvo éxito y no, además debe recoger recomendaciones para mejorar la seguridad.
Conclusiones
Ya conocemos los objetivos de cada etapa así como los resultados esperados. En la siguiente lección conoceremos las técnicas mas comunes para llevar a cabo las diferentes etapas de un ejercicio de RedTeam.
¡Manos a la Obra!