jueves, julio 23, 2026
miércoles, mayo 15, 2019
WordPress: Cómo buscar {y encontrar} 0days en plugins con Taint Analysis
![]() |
| Figura 1: WordPress: Cómo buscar {y encontrar} 0days en plugins con Taint Analysis |
Me gusta explicar en las charlas que doy, qué es eso de Ideas Locas, pero éste es un claro ejemplo de la parte de: “Conociendo los detalles de nuestros productos y servicios se puede ayudar con alguna idea que los mejora”. El artículo de hoy pretende mostrar un trabajo que llevamos a cabo hace ya un año y algo, y que ahora continúan otros compañeros, en concreto en el centro Tegra de Galicia. Esta semana hemos liberado el artículo del trabajo que hicimos.
![]() |
| Figura 2: Libro de Máxima Seguridad en WordPress |
En aquel entonces, Chema Alonso y yo habíamos estado trabajando con Daniel Martín para completar, y dejar como lo dejamos, el libro de Máxima Seguridad en WordPress de 0xWord, para lo que aportamos mucho trabajo de investigación. Dicho trabajo dio sus frutos con nuestro querido WordPress in Paranoid Mode, pero para lo que publicamos muchos artículos de cómo íbamos avanzando. En esta charla, se recogen muchos de lo que fuimos trabajando entonces, y que están incluidos todos en el libro.
Figura 3: Hardening WordPress like a hacker
La idea de este trabajo fue realizar diferentes comprobaciones sobre el código fuente de los diferentes plugins de Wordpress públicos. Este análisis nos puede permitir descubrir nuevas vulnerabilidades que puedan existir en estos plugins de cualquier tipo y que, por alguna razón, no han sido evaluados por sus desarrolladores de forma intensiva.
Encontrar vulnerabilidades en el core de Wordpress se hace cada vez más complejo, pero los sitios que utilizan Wordpress utilizan muchos plugins externos a éste, por lo que son estos plugins los vectores de ataque más utilizados. La idea inicial del estudio pretendía ser una pequeña estimación de lo que se podía lograr, pero acabó, como se verá, siendo otra cosa.
Buscando bugs en código fuente
Un día le enseñé a mi compañero de trabajo, por aquel entonces, Santiago Hernández Ramos, la investigación que hice tiempo atrás sobre búsqueda de vulnerabilidades en repositorios de código abierto. Esto acabó siendo un artículo que publiqué junto al Dr. Alfonso Muñoz - autor del libro de "Cifrado de las comunicaciones digitales: de la cifra clásica a RSA 2ª Edición" - llamado “Detección de funciones inseguras en repositorios de software libre” y que era una formalización del trabajo de OSB-Rastreator que publiqué en este blog.
La idea era ir descargando el código fuente de los paquetes de software accesibles desde una distribución de GNU/Linux como, por ejemplo, Ubuntu. Ese código fuente descargado se iba analizando por patrones con el objetivo de descubrir funciones inseguras en Lenguaje C.
Figura 5: Conferencia en el CyberCamp sobre OSB-Rastreator
Una vez detectadas se buscaba la forma de automatizar la detección de la vulnerabilidad, ya que la función podía ser o no vulnerable. Los resultados se pueden consultar en el artículo y se puede ver alguna vulnerabilidad que se formalizó.
![]() |
| Figura 6: Vulnerabilidad descubierta por OSB-Rastreator |
A Santiago, que es una persona con una gran inquietud y con muchas ganas de investigar, le resultó interesante y empezamos a darle una vuelta a una sugerencia del boss. Tras una comprobación que hizo Santiago, vimos que era viable descargar el código fuente de los plugins y, al final, es código PHP que se podría evaluar. Aquí comienza la historia de este trabajo.
Trabajando con los plugins de WordPress: Taint Analysis & Taint Propagation
La idea es sencilla, se propone un sistema de auditoría de código de los plugins existentes en el repositorio oficial de WordPress. Se podría extrapolar a plugins que se encuentren fuera del ‘repo’ oficial, por ejemplo, en Github.
El sistema realiza un recorrido por las extensiones y aplica diferentes técnicas de análisis estático sobre su código fuente. El objetivo principal consiste en la detección de un conjunto de patrones inseguros, los cuales, tal y como ocurría en el anterior trabajo, pueden desembocar en una potencial vulnerabilidad. Lo potente de esto es que descubrir vulnerabilidades en el código sobre versiones públicos y últimas hacían que con mucha probabilidad hablásemos de 0days.
Después de la detección del sistema, nuestra idea era que un experto analizase el resultado. Esto siempre debe ser así, ya que la herramienta automática puede provocar falsos positivos. A continuación, presentamos el artículo del trabajo el cual ha sido publicado recientemente.
En el paper se puede visualizar un apartado de ‘Estado del arte’ en el que se hablan de diferentes estudios sobre esta temática. Los resultados parecen ser en todos los casos más que interesantes. También hay una parte de introducción mostrando diferentes conceptos sobre diferentes análisis que el sistema va ir haciendo antes de lanzar las comprobaciones de seguridad o el análisis de código estático.
Es importante hacer hincapié en el Taint Analysis. Este tipo de técnica permite conocer qué variables dentro de una aplicación tiene interacción directa o indirecta con el usuario. En otras palabras, conocer qué valores puede controlar o manipular un atacante se conoce como Taint Propagation. Es importante conocer cómo la información entra en la aplicación y fluye a través del mismo. De este modo se podrá identificar y validar los datos de entrada de una aplicación. El Taint Analysis es fundamental en esta idea y en este sistema.
Arquitectura del sistema
La arquitectura básica del sistema se puede desglosar en la siguiente imagen. En esta imagen se puede observar diferentes partes. La arquitectura se puede dividir en diferentes subsistemas, como vamos a ir haciendo.
![]() |
| Figura 8: Subsistemas de la arquitectura del sistema creado para el paper |
Lo primero es entender la importancia en el sistema del crawler que permitirá recopilar todo el código fuente que habrá que modelar y, posteriormente, analizar. En el sistema completo éste es el subsistema más sencillo, que se encarga de localizar el repositorio y realizar la descarga del plugin.
El segundo susbsitema es el modelado. Éste necesita de un lexer y un parser. El lexer se encargará de generar tokens del código fuente obtenido por el crawler. Cada uno de los tokens devueltos es un array con un identificador, el valor del token y el número de línea.
Además, del lexer se implementa el parser. En este caso, se recorre la liste de tokens producida en el paso anterior, identificando mediante el campo “nombre” los tokens más importantes. Para cada uno de los ficheros analizados, se crea una pila de dependencias que permitirá determinar el ámbito de la función o estructura del lenguaje en la que se encuentran dos variables distintas.
![]() |
| Figura 9: Flujo de ejecución de los subsistemas |
Posteriormente, se realiza el análisis de control de flujo y el análisis de flujo de datos. En este último es dónde interviene el Taint Analysis. Eso sí, con algunos matices.
Evaluación y resultados
En el paper se puede encontrar un estudio sobre 60 plugins de Wordpress que han sido analizados a través de este sistema.
![]() |
| Figura 10: Plugins evaluados en el estudiio |
Los resultados fueron bastante reveladores encontrando algunas vulnerabilidades. Como solo era un estudio, buscamos ejemplos de las vulnerabilidades en tecnologías web más comunes, que se utilizan en ataques como son SQL Injection, por supuesto, ataques de Client-Side basados en Cross-Site Scripting, y algunos ataques comunes en el Hacking de Web Technologies. Se buscaron de forma automática las siguientes:
• Patrones XSS.Con este análisis sobre solo un número reducido de plugins, se descubrieron 5 vulnerabilidades de tipo 0day con este motor desarrollado para el estudio, que fuero reportadas para que se corrigieran.
• Patriones SQLi.
• Patrones LFI y RFI.
• Patrones de ejecución de código.
![]() |
| Figura 11: 0days descubiertos durante el estudio |
Las vulnerabilidades tienen su CVE, como puede verse en el cuadro anterior. Lo interesante es ver que hay plugins que se encontraban en más de 1 millón de instalaciones de Wordpress. Digo interesante por la ayuda a la mejora de la seguridad que este tipo de sistemas proporciona.
Faast for Wordpress
Como ya sabéis, hace tiempo que en ElevenPaths se lanzó una versión especial de Faast - nuestro servicio de pentesting persistente, para dominios con WordPress al que llamamos Faast For WordPress y del que hablamos por aquí en el blog en el artículo titulado: "Faast for WP: Pentesting as a Self Service para tu WordPress".
Figura 12: Demo de Faast for WordPress
A día de hoy, el trabajo de análisis de plugins de WordPress en búsqueda de 0days se utiliza para alimentar el conocimiento de este producto, y de manera continua reportamos los bugs que vamos descubriendo, por lo que aquel trabajo se ha convertido en algo que sirve no solo para nosotros sino para todos los que usan los plugins con vulnerabilidades que se van parchenado, y eso es reconfortante.
Más Referencias:
[Libro] Máxima Seguridad en WordPress
[Libro] Hardening GNU/Linux
[Paper] WordPress in Paranoid Mode (Parte 1)
[Paper] WordPress in Paranoid Mode (Parte 2)
[Paper] Detección y estimación de vulnerabilidades en WordPress
[Vídeo] Proteger WordPress con Latch
[Vídeo] Proteger WordPress con Latch Cloud TOTP
[Vídeo] MyWordPress in Paranoid Mode (conferencia Chema Alonso)
[Vídeo] MyWordPress in Paranoid Mode (ElevenPaths Talks de Pablo González)
[Vídeo] Ejemplo de uso de Latch en WordPress
[Vídeo] Hardening WordPress like a hacker
[Vídeo] WordPress Demo XSS en WP-UserAgent
[BlogPost] My WordPress in Paranoid Mode
[BlogPost] Máxima Seguridad en WordPress
[BlogPost] Hackear un WordPress con Network Packet Manipulation
[BlogPost] Fortificar comunicación entre WordPress y MySQL
[BlogPost] WordPress Latch Enforcement
[BlogPost] WordPress aún más seguro con Latch Lock After Request
[BlogPost] Fortificar WordPress frente a ataques de fuerza bruta
[BlogPost] Ataques (al corazón) de tu WordPress
[BlogPost] Cómo robarle las contraseñas a los administradores de WordPress
[BlogPost] Agrupar el control de varios WordPress con un solo Latch
[BlogPost] WordPress: Time-Based XSPA (Cross-Site Port Attack)
[BlogPost] Cómo debería ser un WordPress un poco más seguro
[BlogPost] WPHardening: Automatizar fortificación de WordPress
[BlogPost] Protege los borradores de los artículos de tu WordPress
[BlogPost] Registro de cuentas en WordPress públicos
[BlogPost] Riesgos en la ejecución de tareas de Cron
[BlogPost] WordPres: XSS en plugin WP-UserAgent
[BlogPost] Listar los plugins de WordPress en un pentest
[BlogPost] WordPress: SQL Injection en Scarcity Builder Plugin
[BlogPost] Docker WordPress in Paranoid Mode
[BlogPost] Faast for WordPress
Publicado por
Chema Alonso
a las
8:01 a. m.
0
comentarios
Etiquetas: 0day, 0days, ElevenPaths, Hacking, pentesting, pentesting persistente, Wordpress
miércoles, noviembre 25, 2015
¿Has encontrado Oro o Plata? El precio de los 0days en forma de Tabla Periódica
![]() |
| Figura 1: ¿Qué 0day es Oro y cuál es plata? |
Por supuesto, ya anunciaron que habían pagado ese Millón de Dólares por un exploit que cumplía las características pero que NO lo iban a publicar. Es parte de su negocio, ya que ellos luego venden este conocimiento a empresas que quieren estar más seguras que el resto. O esa es la idea.
![]() |
| Figura 3: Lista de precios por exploits y tecnologías |
![]() |
| Figura 4: Zerodium Preguntas Frecuentes |
Publicado por
Chema Alonso
a las
7:39 a. m.
2
comentarios
Etiquetas: 0day, 0days, Adobe, Adobe Flash, Android, exploit, exploits, Hacking, iOS, Microsoft Office, PDF, Windows Phone, Wordpress
sábado, septiembre 05, 2015
Robando 0days a los programadores de Mozilla Foundation
![]() |
| Figura 2: Nota de Bugzilla sobre el robo de la cuenta |
1) Una reutilización de la contraseña en otro foro que fue vulnerado.
2) Ausencia de un sistema de Segundo Factor de Autenticación que hubiera prevenido de que pudiera utilizarse la password.
![]() |
| Figura 3: Análisis de bugs a los que tuvo acceso y las ventanas de tiempo |
Publicado por
Chema Alonso
a las
8:55 a. m.
3
comentarios
martes, mayo 19, 2015
HackerOne: Un "Broker" para reportar bugs y ganar dinero con Bug Bounties
![]() |
| Figura 1: HackerOne: Un "Broker" para reportar bugs y ganar dinero con bug bounties |
Entre las empresas que podemos encontrar hay algunas muy famosas como Twitter, Yahoo!, Dropbox y la propia HackerOne inclusive. Además, hay un programa financiado por organizaciones preocupadas por la seguridad de los demás llamado Internet Bug Bounty, que básicamente está enfocado al reporte de bugs que afectan a todo Internet, como los casos de Heartbleed o ShellShock.
Funcionamiento de HackerOne
Del dinero que se paga por los bugs descubiertos un 20% se lo lleva HackerOne, como broker de reporte. A cambio de ese 20% HackerOne se hace responsable de que al hacker le llegue todo el dinero, evitando los formularios de impuestos y demás quebraderos de cabeza. Por lo que tu equipo no tiene que preocuparse en que los hackers sean pagados y puede centrarse en trabajar. A día de hoy estas son las estadísticas de la web:
![]() |
| Figura 2: Estadísticas de HackerOne |
Supongo que estaréis pensando, ¿solo hay 83 empresas registradas? En realidad no, además de programas públicos en los que cualquiera puede participar también hay programas en los que solo se puede acceder por invitación, ya sea porque  quieren tener controlados el número de usuarios, estén probando HackerOne o simplemente no quieran aparecer en la lista de programas.
Muchas de las empresas dan recompensas que van desde los 10 a 20.000 dólares y ese dinero lo puedes pasar a una cuenta de Paypal, un monedero de BitCoins o donarlo a una organización de caridad. La edad mínima para cobrar un premio es de solo 13 años.
![]() |
| Figura 3: Interface de reporte de bugs |
Os dejo una captura de pantalla en la que se muestra un reporte realizado a HackerOne por un usuario. Como podéis observar la interfaz es simple. Si ponemos el cursor encima de un nombre de usuario veremos información básica sobre el: el número de bugs encontrados - sólo los aceptados -, las veces que le han dado las gracias y la reputación que tiene.
Gestión de la reputación en HackerOne
La reputación es calculada en base al número de reportes aceptados, los no aceptados por duplicados o porque el bug no existe.
Ganas reputación si:
● Tu reporte es cerrado como “Resuelto”: +7 (Si te han premiado aumenta)Pierdes reputación si:
● Tu reporte es cerrado como “Duplicado ( Resuelto) “ Solo se aplica si se envio antes de que el otro reporte fuera solucionado.
● Tu reporte es cerrado como “No se va a resolver” +1
● Tu reporte es cerrado como “Duplicado (No se va a resolver) “ +1
● Tu reporte es cerrado como “No aplicable” 5Si tienes mucha reputación obtendrás algunos privilegios como poder ser invitado a programas antes de que estén disponibles al público por otro lado, si tu reputación baja se limitará el número de reportes que podrás enviar en un periodo de tiempo.
● Tu reporte es cerrado como “Duplicado (No aplicable)” 5
● Tu reporte es cerrado como “Necesita más información” 1
Ventajas de utilizar HackerOne como plataforma de reporte de bugs
Para mi las ventajas de usar HackerOne son estas:
● Evita el papeleo a los equipos de seguridadMi conclusión personal es que HackerOne es una herramienta que fomenta la búsqueda de fallos gracias a que cualquier persona interesada puede participar y ser reconocida por su trabajo. Es gracias a esa motivación que las empresas registradas se vuelven más seguras haciendo que Internet sea un lugar más seguro.
● Permite que cualquier persona reporté siendo reconocido por su trabajo y premiado por ello.
● Fomenta la búsqueda de fallos que puedan afectar a todo Internet
● Servicio gratuito que asegura la seguridad de los reportes y anonimato de los usuarios.
Autor: Daniel Sesé
Publicado por
Chema Alonso
a las
12:01 a. m.
3
comentarios
Etiquetas: 0days, bugs, hackers, Hacking, pentesting, twitter, Yahoo
viernes, abril 10, 2015
Google Project Zero te lo quiere poner MUY difícil para encontrar 0days
![]() |
| Figura 2: Un 0Day de Apple que fue a Public Disclosure antes del parche |
![]() |
| Figura 3: Estadísticas de bugs que fueron parcheados antes de ir a Public Disclosure |
![]() |
| Figura 4: Estadísticas del feedback recibido |
Publicado por
Chema Alonso
a las
8:16 a. m.
2
comentarios
Etiquetas: 0day, 0days, auditoría, bugs, exploits, Google, Hacking, Open Source
sábado, enero 24, 2015
¿Es Google Project Zero (i)rresponsable publicando 0days y exploits de Windows y OS X?
![]() |
| Figura 1: Es Google Project Zero (i)rresponsable publicando 0days y exploits? |
![]() |
| Figura 2: Juliano Rizzo sobre la publicación del bug BEAST en SSL |
![]() |
| Figura 3: Alex Sotirov y Dino Dai Zovi apoyando al campaña No More Free Bugs |
![]() |
| Figura 5: Exploit publicado por Google Project Zero para atacar OS X |
Publicado por
Chema Alonso
a las
11:21 a. m.
29
comentarios
Etiquetas: 0days, bugs, exploits, Google, hackers, Hacking, OS X, Windows
lunes, septiembre 08, 2014
GM01: Cámara de seguridad que te pone en alto riesgo
![]() |
| Figura 1: Cámara de seguridad GM01 |
![]() |
| Figura 2: Configuración de credenciales y panel de control en la tarjeta de memoria de la cámara |
![]() |
| Figura 3: El panel de control de la cámara CM01 |
![]() |
| Figura 4: Acceso de cualquier usuario a la gestión de su cámara de seguridad |
![]() |
| Figura 5: El listado de los ficheros de ese directorio |
![]() |
| Figura 6: Acceso al panel de SuperAdmin sin validación alguna |
No hubiera sido necesario tener este Directoy Listing de libro para poder acceder a estos ficheros, ya que además de este, tiene un bug de IIS ShortName Listing que también permite acceder al listado de los ficheros.
![]() |
| Figura 7: Existe un fichero que empieza por s. True |
Así que, cualquiera que use FOCA contra este servidor podrá detectar la vulnerabilidad y usando los plugins de IIS Short Name acceder a un listado más o menos completo de todos los ficheros.
![]() |
| Figura 8: No existe ningún fichero que empiece por x. False. |
![]() |
| Figura 9: Fotos de alarma |
![]() |
| Figura 10: Ruta pública a la fotografía fuera del panel |
![]() |
| Figura 11: Fotografías de todas las cámaras de seguridad que han vendido por el mundo |
Sin cifrado ni doble factor de autenticación
Con todo lo que hemos visto de ataques a la privacidad, como en el caso de las famosas y sus fotos personales de iCloud, o con el gran número de casos de cámaras de seguridad con fallos de seguridad por contraseñas por defecto, el poner un sistema que no utilice tan siquiera un cifrado SSL para la comunicación de las fotografías y el acceso al panel de control, es una locura.
Por supuesto, deseable sería ya que pusieran un segundo factor de autenticación como Latch a mi cuenta, ya que si un dispositivo va a tomar fotografías de mi casa, me gustaría poder saber cuándo alguien ha accedido a mi cuenta. Ni que decir tiene que para ello, las fotografías deben estar protegidas por una sesión y no accesibles como ficheros cualquiera en el servidor web.
![]() |
| Figura 13: Correo electrónico enviado al fabricante por varios medios |
Me puse en contacto con ellos hace tiempo y no he recibido ni respuesta, y viendo que la gente sigue cayendo en estos problemas y que yo tengo una cámara de seguridad que no me atrevo a utilizar, he decidido hacer públicos los fallos para alertar a los usuarios y posibles compradores y meter presión a la empresa para que solucione todos estos fallos.
Actualización: Tras escribir un mensaje con copia a todas las direcciones que localicé de empleados de la empresa, no tardaron ni 24 horas en responderme, y es que estaba muy cabreado porque el fabricante sin haber corregido absolutamente nada había publicado un anuncio de la cámara de marras, lo cual me parecía casi una burla.
Afortunadamente el mensaje llegó a la persona adecuada y de inmediato sus ingenieros han hecho lo que debería haber hecho desde el principio. Según ellos la excusa era que era un portal beta en estadio de pre-venta. Les he dicho que me parece bien, pero en ese caso se comprueba a fondo que funcione, se securiza y luego se lanza, no se lanza primero y comprueba después.
Confío en que tomen nota de mis sugerencias y sigan trabajando añadiendo medidas de seguridad, entre ellas la más importante en los tiempos que corren: añadir la capa SSL en el tráfico de estos dispositivos. Seguramente muchos clientes no saben absolutamente nada de este asunto, pero al menos me siento muy aliviado porque mi insistencia nos ha beneficiado a los miles de compradores de la GM01.
Autor: Retro-Maligno
Publicado por
Chema Alonso
a las
7:01 a. m.
7
comentarios
Etiquetas: 0days, auditoría, bugs, ciberseguridad, Hacking, Privacidad, Seguridad Física
Entrada destacada
Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord
Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...
Entradas populares
-
Un informe de Tech Transparency Project, después del lío con el Jailbreak del Bikini en Twitter/X , y de la masificación de DeepFakes en el...
-
Circula por la red un truco que llegó a mí de casualidad , donde se explica cómo conseguir ver más de una vez - e incluso capturar - las fot...
-
Las técnicas de OSINT son aquellas que te permiten buscar información en fuentes abiertas. O lo que es lo mismo, sacar datos de plataformas...
-
La publicación de OpenAI GPT-6 Astra ha capturado muchas miradas, y desde que ha salido anunciado ha capturado muchas de mis conversaciones...
-
Hace mucho tiempo, cuando se creo el " Modo Incógnito " de los navegadores, que algunos llamaron también " Modo Privado ...
-
Ayer publiqué un post que tiene ver con las opciones de privacidad de Facebook asociadas a los correos electrónicos , y mañana sacaré la se...
-
Cuando salió el informe de Anthropic de Misuse IA este 10 de Septiembre , donde detallan los casos en los que explican cómo los " malos...
-
Este año creo que me he leído una veintena de novelas de Isaac Asimov , con un número aún mucho mayor de relatos cortos que han llenado mis ...
-
Hoy voy a escribir de este proyecto porque me ha encantado. Es muy Hacker y muy Maker , y además habla de algo que es imparable, como la es...
-
La app de mensajería instantánea Telegram tiene muchos fans por el atributo de seguridad que ha querido potenciar desde el principio, per...




DragonJAR
8.8 Chile
Ekoparty
e-Hack MX
AREA 51
Comunidad Dojo Panamá
ARPAHE SOLUTIONS 























































