12 KiB
143,993 - Pentesting IMAP
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Pronađite najvažnije ranjivosti kako biste ih brže popravili. Intruder prati vašu površinu napada, pokreće proaktivne pretnje, pronalazi probleme u celokupnom tehnološkom skupu, od API-ja do veb aplikacija i cloud sistema. Isprobajte ga besplatno danas.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
Internet protokol za pristup porukama
Internet protokol za pristup porukama (IMAP) je dizajniran sa ciljem omogućavanja korisnicima da pristupaju svojim email porukama sa bilo koje lokacije, uglavnom putem internet konekcije. U suštini, email poruke se čuvaju na serveru umesto da se preuzimaju i čuvaju na ličnom uređaju pojedinca. To znači da kada se pristupa ili čita email, to se radi direktno sa servera. Ova mogućnost omogućava praktičnost provere emailova sa više uređaja, obezbeđujući da nijedna poruka ne bude propuštena bez obzira na korišćeni uređaj.
Podrazumevano, IMAP protokol radi na dve porte:
- Port 143 - ovo je podrazumevani IMAP nešifrovani port
- Port 993 - ovo je port koji trebate koristiti ako želite da se povežete koristeći IMAP sigurno
PORT STATE SERVICE REASON
143/tcp open imap syn-ack
Prepoznavanje banera
Banner grabbing je tehnika koja se koristi za prikupljanje informacija o ciljnom serveru putem njegovog banera. Banner je obično deo odgovora servera prilikom uspostavljanja veze. Ova tehnika omogućava hakerima da saznaju informacije o softveru i verziji koji se koristi na serveru, što može biti korisno za dalje napade.
Da biste izvršili banner grabbing, možete koristiti različite alate kao što su telnet
, nc
ili nmap
. Ovi alati vam omogućavaju da se povežete sa serverom i dobijete odgovor koji sadrži banner.
Kada dobijete banner, možete ga analizirati kako biste saznali više o serveru. Na primer, možete saznati koja verzija softvera se koristi i da li postoje poznate ranjivosti koje se mogu iskoristiti.
Važno je napomenuti da banner grabbing može biti ilegalno ako se koristi bez dozvole vlasnika servera. Uvek se pridržavajte zakona i etičkih smernica prilikom izvođenja ovih tehnika.
nc -nv <IP> 143
openssl s_client -connect <IP>:993 -quiet
NTLM autentifikacija - Otkrivanje informacija
Ukoliko server podržava NTLM autentifikaciju (Windows), možete dobiti osetljive informacije (verzije):
root@kali: telnet example.com 143
* OK The Microsoft Exchange IMAP4 service is ready.
>> a1 AUTHENTICATE NTLM
+
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
+ TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA
Ili automatizujte ovo pomoću nmap dodatka imap-ntlm-info.nse
IMAP Bruteforce
Sintaksa
Primeri IMAP komandi sa ovde:
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
Evolucija
IMAP (Internet Message Access Protocol) je protokol koji se koristi za pristup i upravljanje elektronskom poštom na udaljenom serveru. Evolucija IMAP-a je dovela do razvoja različitih verzija protokola, kao što su IMAPv2, IMAPv3 i IMAPv4. Svaka verzija donosi poboljšanja u performansama, sigurnosti i funkcionalnostima.
IMAPv2 je bio prva verzija protokola koja je omogućila klijentima da pristupaju porukama na serveru i upravljaju njima. Međutim, IMAPv2 je bio ograničen u pogledu podrške za enkripciju i autentifikaciju.
IMAPv3 je donio značajna poboljšanja u sigurnosti i funkcionalnostima. Ova verzija je uključivala podršku za SSL/TLS enkripciju, kao i mogućnost pretrage i filtriranja poruka na serveru. Takođe je omogućila klijentima da pristupaju i upravljaju više poštanskih sandučića na istom serveru.
Najnovija verzija protokola, IMAPv4, donosi dodatne funkcionalnosti kao što su podrška za sinhronizaciju poruka između klijenta i servera, mogućnost označavanja poruka kao pročitanih ili nepročitanih, kao i mogućnost upravljanja poštanskim sandučićima na serveru.
Evolucija IMAP-a je omogućila korisnicima da efikasnije pristupaju i upravljaju svojom elektronskom poštom na udaljenom serveru, uz poboljšanu sigurnost i funkcionalnosti.
apt install evolution
CURL
Osnovna navigacija je moguća pomoću CURL-a, ali dokumentacija je siromašna detaljima, pa se preporučuje provera izvora za precizne detalje.
- Prikazivanje poštanskih sandučića (imap komanda
LIST "" "*"
)
curl -k 'imaps://1.2.3.4/' --user user:pass
- Prikazivanje poruka u sandučetu (imap komanda
SELECT INBOX
a zatimSEARCH ALL
)
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:
curl -k 'imaps://1.2.3.4/Drafts?TEXT lozinka' --user korisnik:lozinka
A nice overview of the search terms possible is located here.
- Downloading a message (imap command
SELECT Drafts
and thenFETCH 1 BODY[]
)
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.
```markdown
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
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
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
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
$ curl -k 'imaps://1.2.3.4/INBOX' -X 'FETCH 1:5 BODY[HEADER.FIELDS (SUBJECT FROM)]' --user user:pass -v 2>&1 | grep '^<'
```html
<pre>
$ curl -k 'imaps://1.2.3.4/INBOX' -X 'FETCH 1:5 BODY[HEADER.FIELDS (SUBJECT FROM)]' --user user:pass -v 2>&1 | grep '^<'
</pre>
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
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
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: Beleške Description: Beleške za WHOIS Note: | Internet Message Access Protocol (IMAP) je dizajniran sa ciljem omogućavanja korisnicima pristupanje njihovim email porukama sa bilo koje lokacije, uglavnom putem internet konekcije. U suštini, emailovi se čuvaju na serveru umesto da se preuzimaju i skladište na ličnom uređaju pojedinca. To znači da kada se pristupa ili čita email, to se radi direktno sa servera. Ova mogućnost omogućava praktičnost provere emailova sa više uređaja, osiguravajući da nijedna poruka ne bude propuštena bez obzira na korišćeni uređaj.
https://book.hacktricks.xyz/pentesting/pentesting-imap
Entry_2: Name: Banner Grab Description: Banner Grab 143 Command: nc -nv {IP} 143
Entry_3: Name: Bezbedan Banner Grab Description: Banner Grab 993 Command: openssl s_client -connect {IP}:993 -quiet
Entry_4: Name: Enumeracija bez korišćenja msfconsole-a Description: Enumeracija IMAP-a bez potrebe za pokretanjem msfconsole-a Note: preuzeto sa https://github.com/carlospolop/legion Command: msfconsole -q -x 'use auxiliary/scanner/imap/imap_version; set RHOSTS {IP}; set RPORT 143; run; exit'
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
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" %}
<details>
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
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.
</details>