Probablemente, a más de uno (estando en el ámbito de la ciberseguridad o no) le ha dado intriga de investigar las cabeceras de un correo electrónico recibido. A la mayoría (me incluyo) le ha sucedido que se marea de tanta información que se encuentra en la misma. Los siguientes items son los incluidos en el header de cada email:
- From: Información del remitente.
- To: Dirección de correo electrónico y el nombre del destinatario.
- Date: Fecha y hora de envío de correo.
- Return-Path: Proporciona la dirección de correo electrónico a la que el sistema envía el mensaje.
- Envelope-to: Informa que se envió un correo electrónico a la dirección especificada en este atributo.
- Subject: Título o tema descrito por el remitente en la línea de asunto.
- Message-ID: Cuando se redacta el mensaje, crea una cadena específica de letras y números.
- MIME-Version: Extensión del protocolo de correo electrónico que permite enviar y recibir varios tipos de archivos de datos, como fotos, audio y video.
- Content-type: Especifica si el email está escrito en formato de texto o HTML. También aparece si está adjuntado un archivo multimedia.
- DomainKeys and DKIM Signatures: Campo que contiene información importante para los servicios de correo electrónico a reconocer y autenticar los mensajes.
- X-Spam-Status: Informa si un correo electrónico es spam o no.
- X-Spam-Level: puntaje general de SpamAssassin asignado al correo electrónico que está enviando indicado por asteriscos.
- Message Body: este campo muestra el contenido principal del correo electrónico.
Aclaración: Cada cabecera de email es diferente. Alguna información metadata es opcional (no está contemplada en los puntos anteriores).
A modo de ejemplo, copio y pego una cabecera de un mail (válido) reciente para que se puedan ver los puntos mencionados anteriormente.
Received: from SC1PR80MB4462.lamprd80.prod.outlook.com (26XX:1XX6:300:1::XX) by RO2PR80MB6226.lamprd80.prod.outlook.com with HTTPS; Mon, 6 Feb 2023 17:05:21 +0000 Received: from DM6PR21CA0018.namprd21.prod.outlook.com (26XX:1XX6:5:174::XX) by SC1PR80MB4462.lamprd80.prod.outlook.com (26XX:1XX6:300:1::XX) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.35; Mon, 6 Feb 2023 17:05:15 +0000 Received: from DM6NAM10FT073.eop-nam10.prod.protection.outlook.com (26XX:1XX6:5:174:XXfe::XX) by DM6PR21CA0018.outlook.office365.com (26XX:1XX6:5:1XXX::XX) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6111.1 via Frontend Transport; Mon, 6 Feb 2023 17:05:14 +0000 Authentication-Results: spf=pass (sender IP is 158.XXX.XXX.68) smtp.mailfrom=4354010m.wordfence.com; dkim=pass (signature was verified) header.d=4354010m.wordfence.com;dmarc=pass action=none header.from=wordfence.com;compauth=pass reason=100 Received-SPF: Pass (protection.outlook.com: domain of 4354010m.wordfence.com designates 158.XXX.XXX.68 as permitted sender) receiver=protection.outlook.com; client-ip=158.XXX.XXX.68; helo=bid458m.4354010m.wordfence.com; pr=C Received: from bid458m.4354010m.wordfence.com (158.XXX.XXX.68) by DM6NAM10FT073.mail.protection.outlook.com (10.XXX.XXX.XXX) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.35 via Frontend Transport; Mon, 6 Feb 2023 17:05:14 +0000 Received: by 172.XXX.XXX.XXX with SMTP id awbamkyhwedctigiuctq8vxaih15cydwph8ci; Mon, 6 Feb 2023 17:05:14 GMT DKIM-Signature: v=1; s=hs2; d=4354010m.wordfence.com; [email protected]; h=sender:from:from:reply-to:to:to:cc:cc:subject:subject:list-unsubscribe:form-sub:feedback-id; a=rsa-sha256; c=relaxed/relaxed; bh=j+1/qJQ0tb+xDipvPPLtVJ4bkJfQefgtovv8VmkUluk=; b=BHspNl8KqfPqVkj2rtpgIhztkY3S/MNrtkXpPR8S1MK5muxt7/1RX8TphB+8fz V5PdNaoRQxgESs1Hw+01N5gqQvXQ9q9rbW0Iw7mJ9l4PzzX79/eLBOuy1Tsmqia bK7Ezze0EDoB3/61Mm4GtsrpzuRhHivqomG4jUhJ3AdJSKPEKwySxkkgZUETzoJ CMSOCOILPK5a6kwSI5oE/bGAlB93YB2D3PJnlv/bk96ihpWhZdqYIRUT9XsNkln jMg/1AfyIgyp1eyx3w+SPFMwOzOypnksn6atr4jBMJSw3p9FPW9Z5wmNK9aWJAI VUjcdw6+IbSEYQiyrE2rt39jFpYw==; q=dns/txt; t=1675703114; x=1675875914; DKIM-Signature: v=1; s=hs2; d=wordfence.com; [email protected]; h=sender:from:from:reply-to:to:to:cc:cc:subject:subject:list-unsubscribe:form-sub:feedback-id; a=rsa-sha256; c=relaxed/relaxed; bh=j+1/qJQ0tb+xDipvPPLtVJ4bkJfQefgtovv8VmkUluk=; b=TTa3wrfjuOr7OwUc9F2H8jCDtmiIjf237UDQLp9T3X4xgtxN/Q8ubQgsVkUctZ /DDfVuePAMOxBnFrZ9HCfvTk10zzf7S2f0zm2EeFRHdxpIHvz7+I7mxj133MKsN SZyZeVc2qlO0O93RXpqItYu4KhP65vigwHT9G0AK4QId5RTSirKkA5hymrP2Dxz cIwzDRqSGR2WUoYTUsVTRt5PbVtWZu+JslQkzFc0ZwBiSv9gaD31psF1pOCVgWG AJsCfk33Liobrdg8oXf//kULa+JveSsMvIZslVqYxcDgzYnQ5nFNajmZU5lOGSG U6QrBcgRio+M5a4chatOenV9pqqA==; q=dns/txt; t=1675703114; x=1675875914; Return-Path: 1axbyqaeq32u8ctv1rmgi6mzi2ic2gcorgsaam-qwerty=root-view.com@4354010m.wordfence.com X-HS-Cid: 1axe601yy5173qjj5l7lksmd8i57esd1i5tnvi List-Unsubscribe: <mailto:1axcyvebzp2ql56d7f7lf9a3hko500t1vqwmce-querty=root-view.com@4354010m.wordfence.com?subject=unsubscribe> Date: Mon, 6 Feb 2023 09:05:14 -0800 From: Wordfence <[email protected]> Reply-To: [email protected] To: [email protected] Message-ID: <1675702344720.9424692e-6409-465c-b73d-0fe10230c054@4354010m.wordfence.com> Subject: [WordPress Security] High-Severity XSS Vulnerability in Metform Elementor Contact Form Builder MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_14643220_2107169891.1675703113595" X-Report-Abuse-To: [email protected] (see https://policy.hubspot.com/abuse-complaints) X-MS-Exchange-Organization-ExpirationStartTime: 06 Feb 2023 17:05:14.5357 (UTC) X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000 X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit X-MS-Exchange-Organization-Network-Message-Id: a7455fc8-8a1f-4dba-40f9-08db0864509e X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: c2e51d18-6311-483f-a205-0ae0cd7438a9:0 X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM10FT073:EE_|SC1PR80MB4462:EE_ X-MS-Exchange-Organization-AuthSource: DM6NAM10FT073.eop-nam10.prod.protection.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id: a7455fc8-8a1f-4dba-40f9-08db0864509e X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0; X-Forefront-Antispam-Report: CIP:158.247.16.68;CTRY:US;LANG:en;SCL:-1;SRV:;IPV:NLI;SFV:SFE;H:bid458m.4354010m.wordfence.com;PTR:bid458m.4354010m.wordfence.com;CAT:NONE;SFS:;DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2023 17:05:14.3170 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a7455fc8-8a1f-4dba-40f9-08db0864509e X-MS-Exchange-CrossTenant-Id: c2e51d18-6311-483f-a205-0ae0cd7438a9 X-MS-Exchange-CrossTenant-AuthSource: DM6NAM10FT073.eop-nam10.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: SC1PR80MB4462 X-MS-Exchange-Transport-EndToEndLatency: 00:00:06.9184411 X-MS-Exchange-Processed-By-BccFoldering: 15.20.6064.034 X-Microsoft-Antispam-Mailbox-Delivery: wl:1;pcwl:1;ucf:0;jmr:0;auth:0;dest:I;ENG:(910001)(944506478)(944626604)(920097)(811239)(250001)(410001)(930097); X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Y0SasBYw0aDsPdrBQ04ecAMyvWM0ItQqwHO029+q0IJVIKeTWagGZHh+q6xM?= =?us-ascii?Q?qKdHN92dhhWyW0Gn/bJITiTWsu6mPSdH7xV15PLysv9yZc2yateJDwver53x?= =?us-ascii?Q?GjrNA+r0WC2XMplhOfKzOOxW2DoOfvzXsMZNYdNyu4ps9sD89x1+UO8Py5Cc?= =?us-ascii?Q?oXmrX1BRHQB8TubwheScK7sXO4yFlgipbLUJhoAva/x90csUGfJSeD05GHS0?= =?us-ascii?Q?bGHrynxlK4IbCpf0K9PpltC6WbNTffQZCF62jsnTvPUxNlKcH6DUEdcD2hsN?= =?us-ascii?Q?+hsdwNclwzvipJhzajG0bx4Pdgd/6LU3Um4uVZlG1ken8+IwhKLGnGXxqe8+?= =?us-ascii?Q?qJClMfH7nydCZP3d/UDYGKj0Yvb0Dj34ZmOCIE9uLVOIjAIXjTTjOmefF2Ei?= =?us-ascii?Q?GUvT1oc9EhNgaW38CpcC1Iy3tcIm/VoH4BQxojemmAOin8IAEqjuKB4ytA8f?= =?us-ascii?Q?on3Ncl6dL1+nRR3oibr7THySzbkSQCbPw+uHzx9kwRNXg0r/3gJVo36b0HVs?= =?us-ascii?Q?Enqp2DaZoCUvN9vUWjlX/bV7C9VuZ3vr8L4B/UoTXvZeNq2RlAgbqhLvcUQu?= =?us-ascii?Q?81qZMvXmPS5/DN54SEkh4yxsoX/n9iMlZHtpxTZJGLmevTYB6XdMrHX2v+pq?= =?us-ascii?Q?vZF9BUNTDjozhOVRce0InK4CCb3HxIzeoolFjpTdH7I7hMxDiFLJx8oiOyQQ?= =?us-ascii?Q?U/jhFPCRXOfRafArSXsPCjElmD9ldpDR0rr8zfBeG/P1D6rDLQJEyqvsSuR+?= =?us-ascii?Q?wpLSRiLxDxnCHJSCmNnXpHT7D8w0ANSdXeJ6UvTNlfpHVAiZhbIpCm6X0ppc?= =?us-ascii?Q?PEO2LHrV5CI6wJXeap0lxbPrcCdWYnK11DnD7z7SMmIs6cyCC3uSt36DvmCx?= =?us-ascii?Q?4vV4C6IGUXT2vJW6CwQc7Dyq4OLI3DJlrpTZ9lBPkSB51UFm6A5g1Q9bN/Nf?= =?us-ascii?Q?1jVHcHb49cPfGPO/SF99qLDaPRM67hLc/9gYw+Eppiv4Xc3zU/zdu67zoDMm?= =?us-ascii?Q?YvInd7X7TBZM+oWJha7mdzGgnZtUK9ywugyKL2tntPl7qjXt4Z09fxdc67uM?= =?us-ascii?Q?3WwstbSTWAK7KmPUWKwiDzV1GSOW07cNx8VAYKkiKx1YB5H2VN2OHNsPTleW?= =?us-ascii?Q?l0tWKy+3fECq+QoiN295q8N97fXZra6fo7zeExlao8/ANmUKGOL2BCbEl70Q?= =?us-ascii?Q?SHeG8Y33iOd8TWFOZVSpDxnXnxgSHyXThxUQ2INt8TqHY3+kcV3sEiXTXyci?= =?us-ascii?Q?XfkraottvX52y2NEWgK6SgOU2FoeK4n5+Zw2uRfw9ORiDNBGYzoa/6kwVPQx?= =?us-ascii?Q?7BJU1TaJaXf+IqdJFsN7S9G5TolO8OUurBujaKTuwdq0XCLqFFs/8PgTIojx?= =?us-ascii?Q?+xLN1IuMAGcda5+JruOQnUw+m1JNnuiUsKkv4S8eV9yY459COlDacDbRx2aU?= =?us-ascii?Q?jkUBtH2Re09chRNVA+iT9caBB0hbDgBVql14bJPr7KUZeIsr4aQVpUvO1p5X?= =?us-ascii?Q?OQe5At82ONL7EguW73cLSDniLng6YiRu+rTDKO1/5WJpN42/a9f6w7+DiHS1?= =?us-ascii?Q?pYNYwac8doA231GA0NL1vWoWZSgrhj+o7uGv3UVL1WftOdTJx2gnpCeRT7AJ?= =?us-ascii?Q?RG39K5LqQQhwScjKmRxd3DatJSoi9Pnfk2Pb6ERntBr2ubQUGOMfCpMI2jca?= =?us-ascii?Q?xMhh0Sk79C8ix2aFozkj0h2mkTVYfMLUkgPjrsk9OEqB8GLDVUO/cmXiqIBT?= =?us-ascii?Q?uXv4kd4lk7vuIHzie+5wmz2FfZ+qUEoHnlAierD0wNb6NozyhaTHGKL21I5d?= =?us-ascii?Q?0vny2tjCSFMJcJEsD3Kz4HSYwP1FEJXszBexPZ8BOaqqzsvO2UV6m+/V?=
Antes que nada, vale aclarar que esta información ya es “well known” y está desparramada por muchos sitios de internet en profundidad. Debido a un caso reciente, me parece interesante que aparezca de nuevo para generar un conocimiento mínimo y concientización al momento de hacer el deploy de un servidor de correo en producción.
Qué es y cómo evitar email spoofing?
La suplantación de identidad por correo electrónico (email spoofing) es la creación de mensajes de correo electrónico con una dirección de remitente falsificada.
Hay 3 (tres) estándares que se utilizan para contrarrestar/evitar email spoofing en un servidor de correo electrónico:
- Sender Policy Framework (SPF): especifica los servidores y los dominios que están autorizados para enviar correo en nombre de tu organización.
- DomainKeys Identified Mail (DKIM): añade una firma digital a todos los mensajes enviados, lo que permite a los servidores que los reciben verificar que realmente proceden de tu organización.
- Domain-based Message Authentication, Reporting & Conformance (DMARC): permite indicar a los servidores que reciben el correo qué deben hacer con los mensajes que se envían desde la organización remitente y que no superan las comprobaciones SPF o DKIM.
Verificación SPF
bash: $ dig txt wordfence.com ; <<>> DiG 9.10.6 <<>> txt wordfence.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 122 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;wordfence.com. IN TXT ;; ANSWER SECTION: wordfence.com. 3600 IN TXT "v=spf1 include:_spf.google.com include:spf.braintreegateway.com include:4354010.spf04.hubspotemail.net include:spf-basic.fogbugz.com ip4:204.194.222.0/23 ip4:158.247.16.68/32 ip4:54.68.32.247/32 ip4:44.234.204.205/32 -all"
Se puede notar que Wordfence tiene una lista limitadas de IP’s/dominios que tienen permitido enviar correos con su nombre de dominio
- _spf.google.com
- spf.braintreegateway.com
- 4354010.spf04.hubspotemail.net
- spf-basic.fogbugz.com
- 204.194.222.0/23
- 158.247.16.68/32
- 54.68.32.247/32
- 44.234.204.205
Otro dato a destacar, es el parámetro “-all“. Hay cuatro tipos de acciones que se pueden tomar:
- +all (también conocido como “Pass“) significa que el dominio permite que se envíen correos con cualquier mail server.
- ?all (también conocido como “Neutral“) se utiliza cuando el propietario del dominio no quiere afirmar que las direcciones IP de envío están autorizadas.
- ~all (también conocido como “SoftFail“) significa que los servidores de correo receptor deben aceptar correos incluso si la verificación de SPF falló, pero marcarlos como fallidos.
- -all (también conocido como”HardFail“) indica que no acepte el correo electrónico si la verificación de SPF falló.
Verificación DKIM
bash: $ dig google._domainkey.wordfence.com txt ; <<>> DiG 9.10.6 <<>> google._domainkey.wordfence.com txt ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8358 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;google._domainkey.wordfence.com. IN TXT ;; ANSWER SECTION: google._domainkey.wordfence.com. 14400 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDDqPItcmkvD8eK2oAis5uS4nOous0M4l8UdDVlQ615/XFAG6AqYwnyr8cU80zWjrXgVq9N4c2vTPFs9kefrf2iVLtCgvpnUHkoHDuhV07VoJ86dCAyolAJB4c/cLwKiyd6+k3Os6SpWD/LbC9gf7ucbeDdnon+TcokU35U/J3jwIDAQAB" ;; Query time: 97 msec ;; SERVER: XXX.XXX.XXX.XXX#53(XXX.XXX.XXX.XXX) ;; WHEN: Tue Feb 07 15:16:17 -03 2023 ;; MSG SIZE rcvd: 296
Se chequea perfectamente que los mails salientes están firmados con una key RSA y está publicada la clave pública para que el servidor de correo del destinatario pueda hacer la comprobación.
Verificación DMARC
bash: $ nslookup -type=txt _dmarc.wordreference.com Server: XXX.XXX.XXX.XXX Address: XXX.XXX.XXX.XXX#53 Non-authoritative answer: _dmarc.wordfence.com text = "v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1:d:s"
En este caso la directiva configurada que tiene es “quarantine”, pero puede variar entre 3 (tres) policies:
- None: le indica al proveedor de correo electrónico del destinatario que no tome ninguna medida si un correo electrónico falla en DMARC.
- Quarantine: mueve los correos electrónicos sospechosos a una carpeta diferente, como la carpeta de correo no deseado.
- Reject: indica al proveedor de correo electrónico del destinatario que bloquee cualquier correo electrónico que falle en DMARC, dando como resultado que ni aparezca en ninguna carpeta de la casilla.
Cómo evitar caer en la estafa?
Particularmente, se los educa a los usuarios a revisar la dirección de correo electrónico que envía un mensaje. Por ejemplo, si el mismo es referido a un inicio de sesión en iCloud, el remitente de este mensaje debe ser “@email.apple.com” o “@*apple.com”. Si el contenido de iCloud vendría de un mail como “[email protected]”, es fácil de saber que es falso.
Pero qué sucede cuando la estafa viene con un mail que corresponde a un dominio “gob.ar” verdadero (siendo dominios que se otorgan solamente a entidades gubernamentales, previo chequeo de las mismas)
En estos casos, va a ser necesario que se chequee toda la cabecera del correo. Al hacerlo, podemos ver lo siguiente:
Como punto a destacar, se observa que la configuración de spf es “softfail”. Indica a los servidores que reciben el correo de un mail server que no esté incluido en la lista SPF lo acepten de igual manera (marcándolo como SPAM).
Se comprueba que el campo “Received from” indica un servidor perteneciente a otra organización, en este caso un ente gubernamental de México. El mismo fue vulnerado y siendo utilizado para enviar correos apócrifos con otro nombre de dominio.
La imagen “Email apócrifo 2” se muestra que el correo fue recibido por una IP que no está permitida en el registro SPF.
- Domain of transitioning xyz.gob.ar discourages use of XXX.XXX.XXX.XXX as permitted sender
Haciendo este tipo de comprobación, podemos tener la certeza de la veracidad para cada correo recibido.
Dónde puedo denunciar un correo de pishing?
El sitio web antipishing.la recibe denuncias diarias de casos reportados desde argentina y latinoamérica (también del resto del mundo, por qué no?).
El contenido de este artículo esta bajo licencia Creative Commons.