Riesgos de Ciberseguridad en WORDPRESS en el 1er webinar de @DiviCon México. Se proporciona una introducción al Cyber Kill Chain aplicado a Wordpress y se realizan recomendaciones para la detección prevención y respuesta ante un incidente de seguridad en esta aplicación.
3. 3
Marco Martínez
Consultor de Ciberseguridad
+ 12 años de experiencia.
+ Sector financiero, gobierno
- Pruebas de penetración
- Incident Handler Manager
- Simulación de Adversarios
https://www.linkedin.com/in/marcomg/
4. Agenda
4
● ¿Por que WordPress?.
● Tipos de Hackeo (Ataques comunes).
● Proceso de hackeo en sitios WP.
● Tipos de Adversarios.
● Introducción a la Ciberseguridad.
○ Principio del Menor Privilegio.
○ Defensa en Profundidad.
● ¿Qué hacer en caso de … ?
● Recomendaciones generales.
● Recomendaciones AVANZADAS.
5. ¿Por que WordPress?
5
1. Blog
3. Portales / Aplicaciones / Sistemas /
Integraciones / e-learnings / etc...
2. Páginas web
CMS
Es un sistema de gestión de
contenidos o CMS enfocado a
la creación de cualquier tipo de
página web.
7. Tipos de Hackeo (Ataques comunes).
1. SQL Injection
Acceso no autorizado a la base
de datos. Puede insertar nueva
información como: Links a
SPAM, Malware etc.
2. LFI / RFI
Permite la carga/ejecución de
archivos locales o remotos. Por
ejemplo leer archivos de
configuración o de sistema.
3. Cross Site Scripting
Permite incrustar/ejecutar
código malicioso del lado del
cliente, utilizado para el robo de
sesiones o distribución de
páginas con contenido malicioso,
Phishing.
4. Malware
Inserción de contenido
malicioso: redirección de
páginas, JS maliciosos, Phishing,
SPAM, Cryptojacking, etc..
7
¡DEFACEMENT!
9. Hay 3 razones
principales.
9
CORE
Código principal,
autenticación, conexión,
RPC, API
Plugins / Addons
Integraciones con terceros, nuevas
funcionalidades
THEMES / TEMAS
Temas de terceros, siders,
frontend
WORDPRESSWordpress es un sistema muy robusto
por default,pero
● Malas prácticas de configuración
● Software malicioso
● Componentes alterados
● Administración nula
● Políticas de seguridad inexistentes
● Mal soporte
● ¿Seguridad por oscuridad?
11. 11
4. Explotación
Activación, ejecución de
código, explotación a través
de terceros
3. Despliegue
Proveedor de servicios,
phishing, sitio web infectado,
usb
2. Armamento
Desarrollo de exploits a
utilizar, trojanos, webshells,
etc
1. Reconocimiento
Escaneos pasivos, activos,
email harvesting, OSINT,
etc..,
7. Acciones
Exfiltración de información /
robo, identificación de
OBJETIVO, Defacements
6. C&C
Movimiento lateral,
reconocimiento interno,
manteniendo persistencia.
5. Instalación
Instalación de backdoor,
escalación de privilegios,
rootkits, persistencia..
Cyber Kill Chain
https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html
12. 1. Reconocimiento
12
1. Google Dorks.
2. Shodan.
3. OSINT (open source intelligence).
4. DB Exploit (https://www.exploit-db.com).
5. O simplemente Tu dominio + /wp-admin.
Selección del objetivo, dirigido,
daño colateral o suerte.
13. 13
2. Armamento
El script malicioso (payload)
que se va a utilizar para la
intrusión/hackeo del
objetivo u objetivos..
Ejemplo de webshell básico.
14. 14
3. Despliegue
A través de qué medio se va a
distribuir el payload.
En este caso, un Adversario
de tipo: Usuario descontento.
Puede ser un Editor.
Con la funcionalidad de Edición de temas, se
puede insertar webshell creado anteriormente.
16. 5. Instalación
16
❏ Instalación de backdoors, instalación de rootkits.. Se buscan más vulnerabilidades.
❏ Asegurar el acceso
❏ Escalación de privilegios
❏ Obtener persistencia
17. 6. Comando y Control
(C&C)
17
Se establece la conexión a un servidor remoto, conocido como
“control de comando” el cual puede proveer de nuevas
funcionalidades, instrucciones y propósitos para el equipo
comprometido. En este punto ya no es solo el sitio comprometido.
Es todo lo que vive en el servidor:
❏ Base de Datos.
❏ Servicios web - ftp - ssh - etc.
❏ Archivos
18. 7. Acciones
(Data Breach)
18
❏ Extraer la información: clientes, interna, empleados.
❏ Infectar con malware (ransomware, cryptojacking, bots).
❏ Movimiento lateral.
¿Que sigue?
❏ Atacar al objetivo real - solo fuiste un punto de
acceso -
24. NATASEC - www.natasec.com
Introducción Ciberseguridad
Principio del Privilegio
minímo:
Los usuarios sólo deben ser
capaces de acceder a las
funciones, archivos de datos,
URL, controladores, servicios y
otros recursos, para los cuales
poseen una autorización
específica.
Defensa en Profundidad
▫ Limitar accesos
▫ Isolación funcional
▫ Backups
▫ Manténgase al día
▫ Fuentes de confianza
▫ Actualizaciones y noticias de
seguridad
2424
25. Recomendaciones
generales
Entorno de trabajo seguro
➔ Entorno de trabajo seguro
➔ Vulnerabilidades en WordPress
➔ Temas / Plugins
➔ Actualizar WordPress
➔ Reportar problemas de seguridad
25
26. NATASEC - www.natasec.com
2626
Seguridad del servidor web
➔ NO FTP / USAR SFTP
➔ Seguridad de la base de datos (contraseña robusta, no aceptar
conexiones remotas)
➔ Recomendaciones de fortalecimiento
➔ Respaldos de información (datos)
➔ Establecer un proceso de control de accesos
➔ Implementar Autenticación 2FA
➔ Definir una política de contraseñas fuertes
➔ Permisos de archivos
➔ Respaldos de configuraciones
➔
27. Recomendaciones:
Hardening de
Wordpress.
27
● Evitar el listado de directorios
● Instalación de Plugins de seguridad
● Instalar un WAF (Web Application Firewall)
● Establecer un proceso de Monitoreo continuo
○ VirusTotal (https://www.virustotal.com/es/)
○ Sitecheck (https://sitecheck.sucuri.net/)
○ Unmaskparasites (http://www.unmaskparasites.com/)
○ Redleg AW-Snap (https://aw-snap.info/)
● Seguridad por oscuridad (ocultar directorios, renombrar.)
● Configurar contraseña a directorios (wp-admin, wp-includes,
wp-content)
● Denegar la llamada al archivo wp-config.php
28. Recomendaciones:
Hardening de
Wordpress.
28
# Bloquear los archivos de solo-inclusión.
#evitar el listado de directorios
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+.php -
[F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
29. Recomendaciones:
Hardening de
Wordpress.
29
Evitar la ejecución de archivos/código php
Evitar la llamada a wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>
# Kill PHP Execution
<Files *.php>
deny from all
</Files>
33. 33333333
1) MANTEN LA CALMA
2) https://wordpress.org/plugins/exploit-scanner/
3) Cambiar contraseña de todos los usuarios (administradores, editores, )
4) Cambiar contraseña de servicios: SFTP
5) Cambiar contraseña de DB
6) ¿Seguiste las recomendaciones anteriores, verdad?.. y tienes respaldos
7) Reinstalar la última versión de WordPress
8) Re instalar plugins - solo los confiables (desde el market de wordpress, oficiales, etc)
9) Asegurate de tener actualizado todos tus plugins y Temas
10) Actualiza las llaves de seguridad de wordpress.
https://api.wordpress.org/secret-key/1.1/salt/
11) Documenta todo lo que sucedió y comparte las lecciones aprendidas.
12) Guías, Checklist, reportes de Phishing, malware (https://aw-snap.info/)
13) Llamanos si tienes dudas.
¿Qué hacer en caso de hackeo?
34. 34
BONUS
❖ Monitoreo de integridad de archivos (Wordfence, sucuri).
❖ Monitoreo de actividad maliciosa.
❖ Ataques de logins (exitosos, no exitosos) por fuerza bruta.
❖ Bloqueo de IPs.
❖ Web Shell Detector.
❖ Monitoreo de accesos (principalmente administrador.
❖ Administración centralizada.
35. Checklist para
asegurar tu WordPress
35 1. Procedimiento de
actualizaciones
Tareas de actualización de wordpress, temas, plugins, ya
sean por actualizaciones o corrección de vulnerabilidades.
2. Implementar procesos de
Hardening
Configuraciones conscientes de seguridad que permiten
robustecer Wordpress. codex.wordpress.org.
3. Procedimiento de respuesta a
incidente de seguridad
El ABC para responder: Tienes una base en el slide29.
4. Política de contraseñas Toda la organización/agencia/tu debe aceptar el uso de
contraseñas robustas (Usa llaveros de contraseñas).
5. Administración centralizada Si tienes varios sitios con wordpress y se dificulta la
administración… centraliza.. (infinitewp).
6. Plugins de seguridad Haz uso de plugins de seguridad, se recomienda instalar y
configurar al final. (Wordfence, sucuri, etc.)
7. Instalar complementos solo de
fuentes confiables
No instales addons de fuentes de dudosa procedencia o
descargados de sitios warez, torrent, etc. ¿cracks?
8. Mantener un entorno seguro Entorno de trabajo para la administración es seguro
9. Procedimiento de respaldos Programa respaldos de DB, Archivos, todo, según el caso.
10. Doble factor de autenticación Autenticación en dos pasos. (DUO security).
11. Captchas Habilita captchas, evita el spam, en todos los formularios.
reCaptcha.
Ideal
Establecer una estrategia de
Ciberseguridad.