hacktricks/network-services-pentesting/pentesting-imap.md
2024-02-11 02:07:06 +00:00

13 KiB

143,993 - Pentesting IMAP

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Vind kwesbaarhede wat die belangrikste is sodat jy hulle vinniger kan regstel. Intruder volg jou aanvalsoppervlak, voer proaktiewe dreigingsskanderings uit, vind probleme regoor jou hele tegnologie-stapel, van API's tot webtoepassings en wolkstelsels. Probeer dit vandag nog gratis.

{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}


Internet Message Access Protocol

Die Internet Message Access Protocol (IMAP) is ontwerp om gebruikers in staat te stel om hul e-posse van enige plek af te toegang, hoofsaaklik deur middel van 'n internetverbinding. In essensie word e-posse op 'n bediener behou in plaas daarvan om afgelaai en gestoor te word op 'n individu se persoonlike toestel. Dit beteken dat wanneer 'n e-pos geopen of gelees word, dit direk vanaf die bediener gedoen word. Hierdie vermoë maak dit gerieflik om e-posse vanaf verskeie toestelle te kontroleer, om te verseker dat geen boodskappe gemis word nie, ongeag die gebruikte toestel.

Standaard werk die IMAP-protokol op twee poorte:

  • Poort 143 - dit is die verstek IMAP nie-gekripteerde poort
  • Poort 993 - dit is die poort wat jy moet gebruik as jy veilig wil koppel met IMAP
PORT    STATE SERVICE REASON
143/tcp open  imap    syn-ack

Banner gryp

Banner gryp is 'n tegniek wat gebruik word om inligting oor 'n IMAP-diens te verkry deur die banner te ondersoek wat deur die diens tydens die verbinding verskaf word. Die banner is 'n stuk teks wat deur die diens teruggestuur word as deel van die verwelkomingsboodskap wanneer 'n kliënt suksesvol met die diens verbind.

Hier is 'n voorbeeld van 'n IMAP-banner:

* OK [CAPABILITY IMAP4rev1 STARTTLS AUTH=PLAIN] IMAP4rev1 Service Ready

Die banner kan waardevolle inligting verskaf, soos die diens se naam, weergawe, ondersteunde funksies en selfs sekuriteitskwessies. Dit kan 'n nuttige beginpunt wees vir 'n aanvaller om die diens te ondersoek en potensiële aanvalsveilighede te identifiseer.

Om 'n banner gryp uit te voer, kan jy 'n netwerk-skanderingstool soos Nmap gebruik. Hier is 'n voorbeeld van die gebruik van Nmap om 'n IMAP-diens se banner te gryp:

nmap -p 143 --script imap-capabilities <target>

Dit sal die banner van die IMAP-diens op die gespesifiseerde teiken skandeer en die ondersteunde funksies en protokolversie toon.

Dit is belangrik om banner gryp met omsigtigheid uit te voer, aangesien dit 'n potensiële aanvaller kan blootstel aan die diens en die risiko van opsporing kan verhoog. Dit moet slegs in 'n geoorloofde omgewing en met toestemming van die eienaar van die stelsel uitgevoer word.

nc -nv <IP> 143
openssl s_client -connect <IP>:993 -quiet

NTLM-verifikasie - Inligtingsoffergawe

As die bediener NTLM-verifikasie ondersteun (Windows), kan jy sensitiewe inligting (weergawes) bekom:

root@kali: telnet example.com 143
* OK The Microsoft Exchange IMAP4 service is ready.
>> a1 AUTHENTICATE NTLM
+
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
+ TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA

Of outomatiseer dit met die nmap invoegtoepassing imap-ntlm-info.nse

IMAP Bruteforce

Sintaksis

IAMP-opdragvoorbeelde van hier:

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

Evolusie

IMAP (Internet Message Access Protocol) is 'n protokol wat gebruik word om e-pos te ontvang en te stuur. Dit is 'n belangrike diens wat deur baie e-posbedieners en -kliënte gebruik word. Die protokol het deur die jare geëvolueer om te voldoen aan die veranderende behoeftes van gebruikers en om sekuriteitskwessies aan te spreek.

Die oorspronklike IMAP-protokol, bekend as IMAP4, is in 1986 ontwikkel. Dit het die funksionaliteit gebied om e-posboodskappe op 'n bediener te stoor en te bestuur. Dit het ook toegelaat dat gebruikers e-posboodskappe op die bediener laat staan terwyl hulle slegs 'n gedeelte van die boodskappe op hul toestelle aflaai.

In 1993 is IMAP4 gereviseer en opgegradeer na IMAP4rev1. Hierdie opgradering het nuwe funksies en verbeterings gebring, soos die vermoë om e-posboodskappe in mappen te organiseer en om te gaan met gedeelde mappen. Dit het ook die gebruik van MIME (Multipurpose Internet Mail Extensions) ondersteun, wat die oordrag van nie-tekstuele inhoud soos bylae moontlik maak.

Die mees onlangse weergawe van IMAP is IMAP4rev2, wat in 2003 vrygestel is. Hierdie weergawe het verdere verbeterings gebring, insluitend die vermoë om e-posboodskappe te soek en te filter, en die ondersteuning van SSL/TLS vir veilige kommunikasie.

Die evolusie van IMAP het dit 'n kragtige en veelsydige protokol gemaak wat gebruikers in staat stel om e-posboodskappe effektief te bestuur en te organiseer. Dit is egter belangrik om bewus te wees van die sekuriteitskwessies wat met IMAP gepaard gaan en om toepaslike maatreëls te tref om die integriteit en vertroulikheid van e-pos te beskerm.

apt install evolution

CURL

Basiese navigasie is moontlik met CURL, maar die dokumentasie is lig op besonderhede, so dit is aanbeveel om die bron te raadpleeg vir presiese besonderhede.

  1. Lys van posbusse (imap-opdrag LIST "" "*")
curl -k 'imaps://1.2.3.4/' --user user:pass
  1. Lys van boodskappe in 'n posbus (imap-opdrag SELECT INBOX en dan SEARCH 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?TEKS wagwoord' --user gebruiker:wagwoord

A nice overview of the search terms possible is located here.

  1. Downloading a message (imap command SELECT Drafts and then FETCH 1 BODY[])
curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass

Vertaal na Afrikaans:

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.

```afrikaans
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 SOEK ALLES' --user gebruiker:wagwoord
curl -k 'imaps://1.2.3.4/INBOX;UID=1' --user gebruiker:wagwoord

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 '^<'

Vertaal na Afrikaans:

$ 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:

Vir m in {1..5}; doen
echo $m
curl "imap://1.2.3.4/INBOX;MAILINDEX=$m;SECTION=HEADER.FIELDS%20(SUBJECT%20FROM)" --user user:pass
gedaan

Shodan

  • port:143 CAPABILITY
  • port:993 CAPABILITY

HackTricks Automatic Commands

Protokol_Naam: IMAP    #Protokol Afkorting indien daar een is.
Poort_Nommer:  143,993     #Komma geskei indien daar meer as een is.
Protokol_Beskrywing: Internet Message Access Protocol         #Protokol Afkorting voluit geskryf

Inskrywing_1:
Naam: Notas
Beskrywing: Notas vir WHOIS
Nota: |
Die Internet Message Access Protocol (IMAP) is ontwerp om gebruikers in staat te stel om hul e-pos boodskappe van enige plek te benader, hoofsaaklik deur middel van 'n internetverbinding. In wese word e-posse op 'n bediener behou in plaas daarvan om afgelaai en gestoor te word op 'n individu se persoonlike toestel. Dit beteken dat wanneer 'n e-pos geopen of gelees word, dit direk vanaf die bediener gedoen word. Hierdie vermoë maak dit gerieflik om e-posse vanaf verskeie toestelle te kontroleer, om te verseker dat geen boodskappe gemis word nie, ongeag die gebruikte toestel.

https://book.hacktricks.xyz/pentesting/pentesting-imap

Inskrywing_2:
Naam: Banner Grys
Beskrywing: Banner Grys 143
Opdrag: nc -nv {IP} 143

Inskrywing_3:
Naam: Veilige Banner Grys
Beskrywing: Banner Grys 993
Opdrag: openssl s_client -connect {IP}:993 -quiet

Inskrywing_4:
Naam: mfs opsporing sonder die nodigheid om msfconsole te hardloop
Beskrywing: IMAP opsporing sonder die nodigheid om msfconsole te hardloop
Nota: afkomstig van https://github.com/carlospolop/legion
Opdrag: 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 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: