<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
**Configuração imediatamente disponível para avaliação de vulnerabilidade e pentesting**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para investigar mais a fundo, explorar vulnerabilidades e se divertir.
**SMTP (Simple Mail Transfer Protocol)** é um protocolo TCP/IP utilizado no **envio** e recebimento de **e-mails**. No entanto, como é limitado na sua capacidade de enfileirar mensagens no final de recebimento, geralmente é usado com um dos dois outros protocolos, POP3 ou IMAP, que permitem ao usuário salvar mensagens em uma caixa de correio do servidor e baixá-las periodicamente do servidor.
Em outras palavras, **os usuários tipicamente utilizam** um programa que usa **SMTP para enviar e-mails** e **POP3 ou IMAP para receber** e-mails. Em sistemas baseados em Unix, **sendmail** é o servidor SMTP mais utilizado para e-mails. Um pacote comercial, Sendmail, inclui um servidor POP3. **Microsoft Exchange** inclui um servidor SMTP e também pode ser configurado para incluir suporte POP3.\
Se você tiver a oportunidade de **fazer a vítima enviar-lhe um email** (através do formulário de contato da página web, por exemplo), faça isso porque **você poderá aprender sobre a topologia interna** da vítima observando os cabeçalhos do email.
Você também pode obter um email de um servidor SMTP tentando **enviar para esse servidor um email para um endereço inexistente** (porque o servidor enviará ao atacante um email de NDN). Mas, certifique-se de que você envia o email de um endereço permitido (verifique a política de SPF) e que você pode receber mensagens de NDN.
Você também deve tentar **enviar conteúdos diferentes porque pode encontrar informações mais interessantes** nos cabeçalhos como: `X-Virus-Scanned: by av.domain.com`\
Se o servidor suporta autenticação NTLM (Windows), você pode obter informações sensíveis (versões). Mais informações [**aqui**](https://medium.com/@m8r0wn/internal-information-disclosure-using-hidden-ntlm-authentication-18de17675666).
Alguns servidores SMTP completam automaticamente o endereço do remetente quando o comando "MAIL FROM" é emitido sem um endereço completo, divulgando seu nome interno:
Extraído de: [https://research.nccgroup.com/2015/06/10/username-enumeration-techniques-and-their-value/](https://research.nccgroup.com/2015/06/10/username-enumeration-techniques-and-their-value/)
**Configuração imediatamente disponível para avaliação de vulnerabilidade e pentesting**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para lhes dar mais tempo para investigar mais a fundo, explorar sistemas e se divertir.
**Relatórios de Notificação de Status de Entrega**: Se você enviar um **email** para uma organização com um **endereço inválido**, a organização notificará que o endereço foi invalidado enviando um **email de volta para você**. Os **cabeçalhos** do email retornado **conterão** possíveis **informações sensíveis** (como o endereço IP dos serviços de email que interagiram com os relatórios ou informações do software antivírus).
We are sending this important file to all our customers. It contains very important instructions for upgrading and securing your software. Please read and let us know if you have any problems.
As mensagens SMTP são facilmente falsificadas, e por isso as organizações utilizam recursos **SPF**, **DKIM** e **DMARC** para impedir que partes não autorizadas enviem e-mails.
Um **guia completo dessas contramedidas** pode ser encontrado em [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/)
SPF [foi "descontinuado" em 2014](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/). Isso significa que, em vez de criar um **registro TXT** em `_spf.domain.com`, você o cria em `domain.com` usando a **mesma sintaxe**.\
Além disso, para reutilizar registros SPF anteriores, é bastante comum encontrar algo como `"v=spf1 include:_spf.google.com ~all"`
Então, as organizações podem definir uma lista de servidores de e-mail autorizados e os MTAs podem consultar essas listas para verificar se o e-mail foi falsificado ou não.\
Para definir endereços/ranges de IP, domínios e outros que estão **autorizados a enviar e-mails em nome de um nome de domínio**, diferentes "**Mecanismos**" podem aparecer no registro SPF.
| ALL | Sempre corresponde; usado para um resultado padrão como `-all` para todos os IPs não correspondidos pelos mecanismos anteriores. |
| A | Se o nome do domínio tem um registro de endereço (A ou AAAA) que pode ser resolvido para o endereço do remetente, ele corresponderá. |
| IP4 | Se o remetente está em uma determinada faixa de endereços IPv4, corresponde. |
| IP6 | Se o remetente está em uma determinada faixa de endereços IPv6, corresponde. |
| MX | Se o nome do domínio tem um registro MX que resolve para o endereço do remetente, ele corresponderá (ou seja, o e-mail vem de um dos servidores de e-mail de entrada do domínio). |
| PTR | Se o nome do domínio (registro PTR) para o endereço do cliente está no domínio dado e esse nome de domínio resolve para o endereço do cliente (DNS reverso confirmado), corresponde. Este mecanismo é desencorajado e deve ser evitado, se possível. |
| EXISTS | Se o nome do domínio dado resolve para qualquer endereço, corresponde (não importa para qual endereço ele resolve). Isso é raramente usado. Junto com a linguagem de macro SPF, oferece correspondências mais complexas como consultas DNSBL. |
| INCLUDE | Faz referência à política de outro domínio. Se a política desse domínio passar, este mecanismo passa. No entanto, se a política incluída falhar, o processamento continua. Para delegar completamente a política de outro domínio, a extensão de redirecionamento deve ser usada. |
| REDIRECT | <p>Um redirecionamento é um ponteiro para outro nome de domínio que hospeda uma política SPF, permite que vários domínios compartilhem a mesma política SPF. É útil ao trabalhar com uma grande quantidade de domínios que compartilham a mesma infraestrutura de e-mail.</p><p>A política SPF do domínio indicado no Mecanismo de redirecionamento será usada.</p> |
Também é possível identificar **Qualificadores** que indicam **o que deve ser feito se um mecanismo corresponder**. Por padrão, o **qualificador "+"** é usado (então, se qualquer mecanismo corresponder, isso significa que é permitido).\
Você geralmente notará **no final de cada política SPF** algo como: **\~all** ou **-all**. Isso é usado para indicar que **se o remetente não corresponder a nenhuma política SPF, você deve marcar o e-mail como não confiável (\~) ou rejeitar (-) o e-mail.**
* **`?`** para um resultado NEUTRAL interpretado como NONE (sem política).
* **`~`** (tilde) para SOFTFAIL, um auxílio de depuração entre NEUTRAL e FAIL. Tipicamente, mensagens que retornam um SOFTFAIL são aceitas, mas marcadas.
* **`-`** (menos) para FAIL, o e-mail deve ser rejeitado (veja abaixo).
Tradicionalmente era possível falsificar qualquer nome de domínio que não tivesse um registro SPF correto/ou nenhum registro SPF. **Atualmente**, se um **email** vier de um **domínio sem um registro SPF válido** provavelmente será **rejeitado/marcado como não confiável automaticamente**.
Para verificar o SPF de um domínio, você pode usar ferramentas online como: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html)
DomainKeys Identified Mail (DKIM) é um mecanismo pelo qual **emails enviados são assinados e validados por MTAs estrangeiros ao recuperar a chave pública de um domínio via DNS**. A chave pública DKIM é mantida dentro de um registro TXT para um domínio; no entanto, você deve saber tanto o seletor quanto o nome do domínio para recuperá-la.
Então, para solicitar a chave, você precisa do nome do domínio e do seletor do email do cabeçalho do email `DKIM-Signature` por exemplo: `d=gmail.com;s=20120113`
Domain-based Message Authentication, Reporting & Conformance (DMARC) é um método de autenticação de e-mail que expande o SPF e o DKIM. Políticas instruem servidores de e-mail sobre como processar e-mails para um determinado domínio e relatar as ações realizadas.
> Se eu receber um e-mail de pielovers.demon.co.uk, e não houver dados SPF para pielovers, devo voltar um nível e testar o SPF para demon.co.uk? Não. Cada subdomínio na Demon é um cliente diferente, e cada cliente pode ter sua própria política. Não faria sentido a política da Demon aplicar-se a todos os seus clientes por padrão; se a Demon quiser fazer isso, ela pode configurar registros SPF para cada subdomínio.
> Portanto, o conselho para publicadores de SPF é o seguinte: você deve adicionar um registro SPF para cada subdomínio ou nome de host que tenha um registro A ou MX.
Para evitar que os e-mails enviados sejam filtrados pelos filtros de spam e não cheguem ao destinatário, o remetente pode usar um **servidor de retransmissão que o destinatário confia**. Muitas vezes, os administradores **não têm uma visão geral** de quais faixas de **IP** eles têm que **permitir**. Isso resulta em uma má configuração do servidor SMTP que ainda encontraremos frequentemente em testes de penetração externos e internos. Portanto, eles **permitem todos os endereços IP** para não causar erros no tráfego de e-mails e assim não perturbar ou interromper involuntariamente a comunicação com clientes potenciais e atuais.
**NOTA**: Isso é apenas uma solução rápida para fazer verificações rápidas em casos onde, por algum motivo, a chave privada openssl **não pode ser analisada pelo dkim**.
## The receiver won't be able to check it, but the email will appear as signed (and therefore, more trusted)
dkim_selector="s1"
sig = dkim.sign(message=msg_data,selector=str(dkim_selector).encode(),domain=sender_domain.encode(),privkey=dkim_private_key.encode(),include_headers=headers)
**Encontre mais informações sobre essas proteções em** [**https://seanthegeek.net/459/demystifying-dmarc/**](https://seanthegeek.net/459/demystifying-dmarc/)
Normalmente, se instalado, em `/etc/postfix/master.cf` contém **scripts para executar** quando, por exemplo, um novo e-mail é recebido por um usuário. Por exemplo, a linha `flags=Rq user=mark argv=/etc/postfix/filtering-f ${sender} -- ${recipient}` significa que `/etc/postfix/filtering` será executado se um novo e-mail for recebido pelo usuário mark.
SMTP (Simple Mail Transfer Protocol) is a TCP/IP protocol used in sending and receiving e-mail. However, since it is limited in its ability to queue messages at the receiving end, it is usually used with one of two other protocols, POP3 or IMAP, that let the user save messages in a server mailbox and download them periodically from the server.
**Configuração imediatamente disponível para avaliação de vulnerabilidade e pentesting**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para lhes dar mais tempo para investigar mais a fundo, obter acessos e se divertir.
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo do** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo do [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do github** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).