mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-24 05:33:33 +00:00
273 lines
12 KiB
Markdown
273 lines
12 KiB
Markdown
# 143,993 - Pentesting IMAP
|
|
|
|
<details>
|
|
|
|
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
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**](https://github.com/sponsors/carlospolop)!
|
|
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
|
|
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
|
|
|
</details>
|
|
|
|
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
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**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) 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.
|
|
```bash
|
|
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](../generic-methodologies-and-resources/brute-force.md#imap)
|
|
|
|
## Sintaksa
|
|
|
|
|
|
Primeri IMAP komandi sa [ovde](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
|
|
```
|
|
### 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
|
|
```
|
|
![](<../.gitbook/assets/image (528).png>)
|
|
|
|
### CURL
|
|
|
|
Osnovna navigacija je moguća pomoću [CURL-a](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap), ali dokumentacija je siromašna detaljima, pa se preporučuje provera [izvora](https://github.com/curl/curl/blob/master/lib/imap.c) za precizne detalje.
|
|
|
|
1. Prikazivanje poštanskih sandučića (imap komanda `LIST "" "*"`)
|
|
```bash
|
|
curl -k 'imaps://1.2.3.4/' --user user:pass
|
|
```
|
|
2. Prikazivanje poruka u sandučetu (imap komanda `SELECT INBOX` a zatim `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
|
|
curl -k 'imaps://1.2.3.4/Drafts?TEXT lozinka' --user korisnik:lozinka
|
|
```
|
|
|
|
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
|
|
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
|
|
```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
|
|
```
|
|
|
|
```html
|
|
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
|
|
```
|
|
|
|
```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
|
|
```
|
|
|
|
```html
|
|
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
|
|
```
|
|
|
|
```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
|
|
|
|
```
|
|
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>
|