# 143,993 - Pentesting IMAP
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! Outras maneiras de apoiar o HackTricks: * Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
Encontre vulnerabilidades que importam mais para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje. {% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %} *** ## Protocolo de Acesso a Mensagens da Internet O **Protocolo de Acesso a Mensagens da Internet (IMAP)** é projetado com o objetivo de permitir que os usuários **acessam suas mensagens de e-mail de qualquer local**, principalmente por meio de uma conexão com a Internet. Em essência, os e-mails são **mantidos em um servidor** em vez de serem baixados e armazenados no dispositivo pessoal de um indivíduo. Isso significa que quando um e-mail é acessado ou lido, é feito **diretamente do servidor**. Essa capacidade permite a conveniência de verificar e-mails em **múltiplos dispositivos**, garantindo que nenhuma mensagem seja perdida, independentemente do dispositivo usado. Por padrão, o protocolo IMAP funciona em duas portas: * **Porta 143** - esta é a porta IMAP padrão não criptografada * **Porta 993** - esta é a porta que você precisa usar se deseja se conectar usando IMAP de forma segura ``` PORT STATE SERVICE REASON 143/tcp open imap syn-ack ``` ## Coleta de Banner ```bash nc -nv 143 openssl s_client -connect :993 -quiet ``` ### NTLM Auth - Divulgação de Informações Se o servidor suporta autenticação NTLM (Windows) você pode obter informações sensíveis (versões): ``` root@kali: telnet example.com 143 * OK The Microsoft Exchange IMAP4 service is ready. >> a1 AUTHENTICATE NTLM + >> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA ``` Ou **automatize** isso com o plugin **nmap** `imap-ntlm-info.nse` ### [Bruteforce IMAP](../generic-methodologies-and-resources/brute-force.md#imap) ## Sintaxe Exemplos de comandos IMAP de [aqui](https://donsutherland.org/crib/imap): ``` Login A1 LOGIN username password Values can be quoted to enclose spaces and special characters. A " must then be escape with a \ A1 LOGIN "username" "password" List Folders/Mailboxes A1 LIST "" * A1 LIST INBOX * A1 LIST "Archive" * Create new Folder/Mailbox A1 CREATE INBOX.Archive.2012 A1 CREATE "To Read" Delete Folder/Mailbox A1 DELETE INBOX.Archive.2012 A1 DELETE "To Read" Rename Folder/Mailbox A1 RENAME "INBOX.One" "INBOX.Two" List Subscribed Mailboxes A1 LSUB "" * Status of Mailbox (There are more flags than the ones listed) A1 STATUS INBOX (MESSAGES UNSEEN RECENT) Select a mailbox A1 SELECT INBOX List messages A1 FETCH 1:* (FLAGS) A1 UID FETCH 1:* (FLAGS) Retrieve Message Content A1 FETCH 2 body[text] A1 FETCH 2 all A1 UID FETCH 102 (UID RFC822.SIZE BODY.PEEK[]) Close Mailbox A1 CLOSE Logout A1 LOGOUT ``` ### Evolução ``` apt install evolution ``` ![](<../.gitbook/assets/image (528).png>) ### CURL A navegação básica é possível com [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap), mas a documentação é escassa em detalhes, então é recomendado verificar a [fonte](https://github.com/curl/curl/blob/master/lib/imap.c) para obter detalhes precisos. 1. Listando caixas de correio (comando imap `LIST "" "*") ```bash curl -k 'imaps://1.2.3.4/' --user user:pass ``` 2. Listando mensagens em uma caixa de correio (comando IMAP `SELECT INBOX` e depois `SEARCH ALL`) ```bash curl -k 'imaps://1.2.3.4/INBOX?ALL' --user user:pass``` ``` The result of this search is a list of message indicies. Its also possible to provide more complex search terms. e.g. searching for drafts with password in mail body: ```bash ```plaintext curl -k 'imaps://1.2.3.4/Drafts?TEXT password' --user user:pass ``` ```plaintext curl -k 'imaps://1.2.3.4/Drafts?TEXT password' --user user:pass ``` ``` A nice overview of the search terms possible is located [here](https://www.atmail.com/blog/imap-commands/). 3. Downloading a message (imap command `SELECT Drafts` and then `FETCH 1 BODY[]`) ```bash ```plaintext curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass ``` ```plaintext curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass ``` ``` The mail index will be the same index returned from the search operation. It is also possible to use `UID` (unique id) to access messages, however it is less conveniant as the search command needs to be manually formatted. E.g. ```bash ```plaintext curl -k 'imaps://1.2.3.4/INBOX' -X 'UID SEARCH ALL' --user user:pass curl -k 'imaps://1.2.3.4/INBOX;UID=1' --user user:pass ``` ``` Also, possible to download just parts of a message, e.g. subject and sender of first 5 messages (the `-v` is required to see the subject and sender): ```bash ```plaintext $ curl -k 'imaps://1.2.3.4/INBOX' -X 'FETCH 1:5 BODY[HEADER.FIELDS (SUBJECT FROM)]' --user user:pass -v 2>&1 | grep '^<' ``` ```plaintext $ curl -k 'imaps://1.2.3.4/INBOX' -X 'FETCH 1:5 BODY[HEADER.FIELDS (SUBJECT FROM)]' --user user:pass -v 2>&1 | grep '^<' ``` ``` Although, its probably cleaner to just write a little for loop: ```bash ```bash for m in {1..5}; do echo $m curl "imap://1.2.3.4/INBOX;MAILINDEX=$m;SECTION=HEADER.FIELDS%20(SUBJECT%20FROM)" --user user:pass done ``` ``` ## Shodan * `port:143 CAPABILITY` * `port:993 CAPABILITY` ## HackTricks Automatic Commands ``` ```markdown Protocol_Name: IMAP #Protocol Abbreviation if there is one. Port_Number: 143,993 #Comma separated if there is more than one. Protocol_Description: Internet Message Access Protocol #Protocol Abbreviation Spelled out Entry_1: Name: Notas Description: Notas para WHOIS Note: | O Protocolo de Acesso a Mensagens da Internet (IMAP) é projetado com o objetivo de permitir que os usuários acessem suas mensagens de email de qualquer local, principalmente através de uma conexão com a Internet. Em essência, os emails são retidos em um servidor em vez de serem baixados e armazenados no dispositivo pessoal de um indivíduo. Isso significa que quando um email é acessado ou lido, isso é feito diretamente a partir do servidor. Essa capacidade permite a conveniência de verificar emails em vários dispositivos, garantindo que nenhuma mensagem seja perdida, independentemente do dispositivo usado. https://book.hacktricks.xyz/pentesting/pentesting-imap Entry_2: Name: Banner Grab Description: Banner Grab 143 Command: nc -nv {IP} 143 Entry_3: Name: Secure Banner Grab Description: Banner Grab 993 Command: openssl s_client -connect {IP}:993 -quiet Entry_4: Name: enumeração mfs sem console Description: Enumeração IMAP sem a necessidade de executar msfconsole Note: sourced from https://github.com/carlospolop/legion Command: msfconsole -q -x 'use auxiliary/scanner/imap/imap_version; set RHOSTS {IP}; set RPORT 143; run; exit' ``` ```
Find vulnerabilities that matter most so you can fix them faster. Intruder tracks your attack surface, runs proactive threat scans, finds issues across your whole tech stack, from APIs to web apps and cloud systems. [**Try it for free**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) today. {% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)! Other ways to support HackTricks: * If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)! * Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com) * Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family) * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.