¿Llegaste desde Instagram? Estás en el lugar correcto.
MOD-001Ciberseguridad2026-07-28

OWAReaper

Cómo un buzón corporativo expuesto filtra la superficie de ataque completa de una empresa.

● recDbhTw0aRhTh
@0xr____ · reel

Resumen

OWAReaper es el nombre que le puse a una cadena de reconocimiento sobre portales Outlook Web Access expuestos a internet. No es un exploit mágico: es la suma de metadatos públicos, mensajes de error demasiado habladores y usuarios que reciclan contraseñas.

En el reel se ve el resultado final en treinta segundos. Aquí está el desglose completo, con las fuentes y los límites legales de cada paso.

La técnica

El punto de partida es la enumeración pasiva: certificados TLS, registros DNS históricos y cabeceras HTTP que revelan la versión del servidor. Con eso se construye una lista de dominios y subdominios candidatos.

El segundo paso es la diferencia de tiempos de respuesta entre un usuario válido y uno inexistente. Esa diferencia, medible, convierte un formulario de login en un directorio de empleados.

Reconocimiento pasivo

recon.sh
# 1. Certificados TLS históricos
curl -s 'https://crt.sh/?q=%25.empresa.mx&output=json' \
  | jq -r '.[].name_value' | sort -u

# 2. Cabeceras del portal OWA
curl -sI https://mail.empresa.mx/owa/ | grep -iE 'server|x-owa'

# 3. Diferencia de tiempos (user-enum)
for u in $(cat empleados.txt); do
  t=$(curl -s -o /dev/null -w '%{time_total}' \
        -d "username=$u&password=x" https://mail.empresa.mx/owa/auth.owa)
  echo "$u $t"
done

Impacto / privacidad

Un OWA expuesto no solo permite intentar contraseñas: filtra nombres reales, jerarquías internas, versiones de software y, con frecuencia, calendarios compartidos por error.

Para el empleado promedio esto significa que su nombre, cargo y horario pueden reconstruirse desde fuera sin tocar redes sociales.

AUDIT · ¿quién es Default en tu Exchange?

Si llegaste aquí por el comentario AUDIT del reel, esto es lo tuyo. El permiso al usuario Default es el punto ciego: Default = cualquier usuario autenticado.

Un grant Owner o Editor sobre carpetas deja leer/escribir el buzón aunque rotes contraseñas, porque vive del lado del servidor.

Auditar permisos Default

audit-default.ps1
# audit-default.ps1 — ¿quién es "Default" en tu Exchange?
# Requiere Exchange Online: Connect-ExchangeOnline
$hits = foreach ($mbx in Get-Mailbox -ResultSize Unlimited) {
  Get-MailboxFolderPermission -Identity $mbx.PrimarySmtpAddress -User Default -ErrorAction SilentlyContinue |
    Where-Object { $_.AccessRights -notmatch 'None|AvailabilityOnly' } |
    Select-Object @{n='Buzon';e={$mbx.PrimarySmtpAddress}}, FolderName,
                  @{n='Permiso';e={$_.AccessRights -join ','}}
}
$hits | Sort-Object Buzon | Format-Table -Auto

# Remediar un caso (descomenta y ajusta):
# Set-MailboxFolderPermission -Identity "user@dominio.com:\Bandeja de entrada" -User Default -AccessRights None

AUDIT (one-liner)

audit-default.oneliner.ps1
Get-Mailbox -ResultSize Unlimited | % { Get-MailboxFolderPermission $_.PrimarySmtpAddress -User Default -EA SilentlyContinue | ? { $_.AccessRights -notmatch 'None|AvailabilityOnly' } | Select @{n='Buzon';e={$_.Identity}},AccessRights }

Cómo protegerte

  • [x]Exige MFA obligatorio en cualquier portal expuesto a internet.
  • [x]Homogeniza los mensajes y tiempos de respuesta en el login.
  • [x]Bloquea el acceso a /owa/ desde geografías donde no operas.
  • [x]Revisa periódicamente crt.sh y Shodan buscando tu propio dominio.
  • [x]Rota contraseñas y revisa reutilización con Have I Been Pwned.
  • [x]Audita periódicamente las ACL de carpetas otorgadas a Default (corre audit-default.ps1).
  • [x]Alerta ante cualquier grant Owner/Editor a Default o a Anonymous.

Referencias

  1. [1] crt.sh — Certificate Search https://crt.sh
  2. [2] Shodan https://www.shodan.io
  3. [3] Have I Been Pwned https://haveibeenpwned.com
  4. [4] MITRE ATT&CK — Valid Accounts https://attack.mitre.org/techniques/T1078/
  5. [5] Microsoft Learn — Get-MailboxFolderPermission https://learn.microsoft.com/powershell/module/exchange/get-mailboxfolderpermission
  6. [6] Microsoft Learn — Set-MailboxFolderPermission https://learn.microsoft.com/powershell/module/exchange/set-mailboxfolderpermission

¿Viste esto en Instagram?

Comenta el post, comparte con quien lo necesite y sígueme para el próximo módulo.

instagram.com/reel/DbhTw0aRhTh/
Sígueme en Instagram
volver al archivo