14 KiB
143,993 - IMAP Pentesting
AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)öğrenin!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github reposuna PR göndererek paylaşın.
![](/.gitbook/assets/image%20%28675%29.png)
En önemli olan zayıflıkları bulun, böylece daha hızlı düzeltebilirsiniz. Intruder saldırı yüzeyinizi takip eder, proaktif tehdit taramaları yapar, API'lerden web uygulamalarına ve bulut sistemlerine kadar tüm teknoloji yığınınızda sorunları bulur. Ücretsiz deneyin bugün.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
Internet Mesaj Erişim Protokolü
Internet Mesaj Erişim Protokolü (IMAP), kullanıcıların herhangi bir konumdan e-posta mesajlarına erişmelerini sağlamak amacıyla tasarlanmıştır, öncelikle bir İnternet bağlantısı aracılığıyla. Temel olarak, e-postalar, bireyin kişisel cihazına indirilip depolanmak yerine bir sunucuda saklanır. Bu, bir e-posta erişildiğinde veya okunduğunda, bunun doğrudan sunucudan yapıldığı anlamına gelir. Bu yetenek, kullanılan cihaza bakılmaksızın e-postaların çoklu cihazlardan kontrol edilmesini sağlar, böylece hiçbir mesaj gözden kaçmaz.
Varsayılan olarak, IMAP protokolü iki bağlantı noktasında çalışır:
- Port 143 - bu, varsayılan IMAP şifrelenmemiş bağlantı noktasıdır
- Port 993 - IMAP ile güvenli bir şekilde bağlanmak istiyorsanız kullanmanız gereken bağlantı noktasıdır
PORT STATE SERVICE REASON
143/tcp open imap syn-ack
Banner yakalama
Banner yakalama, bir hedef IMAP sunucusuyla iletişim kurarken sunucunun banner mesajını almak için kullanılan bir tekniktir. Banner mesajı, sunucunun kendisini tanıttığı ve genellikle sunucu yazılımının ve sürümünün bilgisini içerir. Bu bilgi, saldırganın hedef sistem hakkında daha fazla bilgi edinmesine yardımcı olabilir.
Banner yakalama işlemi genellikle bir IMAP istemcisi kullanılarak gerçekleştirilir. İstemci, sunucuya bağlandığında sunucudan gelen banner mesajını alır. Bu mesaj, istemci tarafından okunabilir ve analiz edilebilir.
Banner yakalama, saldırganın hedef sistemdeki zayıf noktaları belirlemesine yardımcı olabilir. Örneğin, sunucu yazılımının eski bir sürümünü kullanıyorsa, bu sürümde bilinen bir güvenlik açığı olabilir. Saldırgan, bu bilgiyi kullanarak hedef sistemdeki bir saldırı vektörü belirleyebilir.
Banner yakalama işlemi, bir IMAP sunucusunun güvenlik durumunu değerlendirmek için kullanılan bir adımdır. Ancak, bu tekniğin yasal ve etik sınırlar içinde kullanılması önemlidir. Sadece izinli sistemler üzerinde gerçekleştirilmelidir ve hedef sistem sahibinin izni olmadan yapılmamalıdır.
nc -nv <IP> 143
openssl s_client -connect <IP>:993 -quiet
NTLM Auth - Bilgi sızdırma
Eğer sunucu NTLM kimlik doğrulamayı destekliyorsa (Windows), hassas bilgileri (sürümler) elde edebilirsiniz:
root@kali: telnet example.com 143
* OK The Microsoft Exchange IMAP4 service is ready.
>> a1 AUTHENTICATE NTLM
+
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
+ TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA
Veya bunu nmap eklentisi imap-ntlm-info.nse
ile otomatikleştirin.
IMAP Bruteforce
Sözdizimi
İşte IAMP Komutlarından örnekler:
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
Evrim
IMAP (Internet Message Access Protocol), elektronik posta iletişimi için kullanılan bir protokoldür. IMAP, e-posta istemcilerinin sunucu üzerindeki e-posta kutularına erişmesine ve yönetmesine olanak tanır. Bu protokol, e-posta mesajlarını sunucuda tutar ve istemciye sadece gerektiğinde iletişim kurmasını sağlar.
IMAP, POP3'e (Post Office Protocol 3) göre daha gelişmiş bir protokoldür. POP3, e-posta mesajlarını istemciye indirirken sunucuda silerken, IMAP sunucuda kopyalarını tutar ve istemciye sadece görüntülemek veya indirmek için gönderir. Bu, birden fazla cihazda e-posta erişimi sağlamak için idealdir.
IMAP protokolü, e-posta kutularını yönetmek için bir dizi komut ve yanıt kullanır. Bu komutlar, e-posta mesajlarını okuma, yazma, silme, taşıma ve klasörlere erişim gibi işlemleri gerçekleştirmek için kullanılır. IMAP sunucuları genellikle TCP üzerinden 143 numaralı portu kullanır.
IMAP protokolünü kullanarak yapılabilecek bazı saldırılar şunlardır:
- Brute force saldırıları: Kaba kuvvet saldırıları, IMAP sunucusuna giriş yapmak için kullanıcı adı ve şifre kombinasyonlarını denemek için kullanılır.
- Kimlik avı saldırıları: Kimlik avı saldırıları, kullanıcıları sahte e-posta veya web sitelerine yönlendirerek kullanıcı adı ve şifrelerini ele geçirmeyi amaçlar.
- IMAP sunucusu zafiyetleri: IMAP sunucuları, güvenlik açıklarına sahip olabilir ve bu açıklar kullanılarak saldırganlar tarafından istismar edilebilir.
- Veri sızıntısı: IMAP sunucusunda depolanan e-posta mesajları, saldırganlar tarafından ele geçirilebilir ve hassas bilgilerin sızdırılmasına neden olabilir.
IMAP protokolünü anlamak ve güvenlik açıklarını tespit etmek, bir ağ hizmeti pentestinde önemli bir adımdır. Bu, saldırganların e-posta sunucusuna yetkisiz erişim sağlamasını ve hassas bilgilere erişmesini önlemek için yapılan bir güvenlik önlemidir.
apt install evolution
CURL
Temel gezinme işlemleri CURL ile mümkündür, ancak belgeler ayrıntılardan yoksundur, bu nedenle kesin ayrıntılar için kaynağa bakmanız önerilir.
- Posta kutularını listeleme (imap komutu
LIST "" "*"
)
curl -k 'imaps://1.2.3.4/' --user user:pass
- Bir posta kutusundaki iletileri listeleme (imap komutu
SELECT INBOX
ve ardındanSEARCH ALL
)
curl -k 'imaps://1.2.3.4/INBOX?ALL' --user kullanıcı:parola
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:
```markdown
curl -k 'imaps://1.2.3.4/Drafts?TEXT password' --user user:pass
Bu komut, 1.2.3.4
IP adresine sahip bir sunucuya bağlanarak Drafts
klasöründeki e-postaları almayı amaçlar. --user
parametresiyle kullanıcı adı ve şifre belirtilir.
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
```markdown
curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass
Bu komut, bir IMAP sunucusuna bağlanmak için kullanılır. 1.2.3.4
IP adresine sahip sunucunun Drafts
klasörüne bağlanır ve MAILINDEX=1
parametresini kullanır. --user user:pass
ise kimlik doğrulama için kullanıcı adı ve şifreyi belirtir.
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
Kod parçacığındaki `curl` komutları, IMAP sunucusuna bağlanmak ve belirli eylemleri gerçekleştirmek için kullanılır. İlk komut, IMAP sunucusuna bağlanır ve tüm e-posta kimliklerini arar. İkinci komut ise belirli bir e-posta kimliğini alır.
Çeviri:
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
```markdown
Kod parçacığındaki `curl` komutları, IMAP sunucusuna bağlanmak ve belirli eylemleri gerçekleştirmek için kullanılır. İlk komut, IMAP sunucusuna bağlanır ve tüm e-posta kimliklerini arar. İkinci komut ise belirli bir e-posta kimliğini alır.
Çeviri:
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
```markdown
```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 '^<'
```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 '^<'
Although, its probably cleaner to just write a little for loop:
```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
Bu komut, IMAP sunucusuna bir dizi istek gönderir ve belirli bir e-posta indeksine ve başlık alanlarına erişir. İndeks numarası değişken olan m
ile belirtilir ve 1'den 5'e kadar olan değerleri alır. İstek, curl
komutu kullanılarak gönderilir ve kullanıcı adı ve şifre belirtilir.
## Shodan
* `port:143 CAPABILITY`
* `port:993 CAPABILITY`
## HackTricks Automatic Commands
Protocol_Adı: IMAP #Eğer varsa, Protokol Kısaltması. Port_Numarası: 143,993 #Birden fazla ise, virgülle ayrılmış. Protokol_Açıklaması: Internet Mesaj Erişim Protokolü #Protokol Kısaltması tam olarak yazılmış
Entry_1: Ad: Notlar Açıklama: WHOIS için Notlar Not: | Internet Mesaj Erişim Protokolü (IMAP), kullanıcıların herhangi bir konumdan e-posta mesajlarına erişmelerini sağlamak amacıyla tasarlanmıştır, öncelikle bir İnternet bağlantısı aracılığıyla. Temel olarak, e-postalar bir sunucuda saklanır ve bir bireyin kişisel cihazına indirilip depolanmak yerine sunucudan doğrudan erişilir veya okunur. Bu yetenek, birden fazla cihazdan e-postaları kontrol etme kolaylığı sağlar ve kullanılan cihaza bakılmaksızın hiçbir mesajın kaçırılmamasını sağlar.
https://book.hacktricks.xyz/pentesting/pentesting-imap
Entry_2: Ad: Banner Yakalama Açıklama: Banner Yakalama 143 Komut: nc -nv {IP} 143
Entry_3: Ad: Güvenli Banner Yakalama Açıklama: Banner Yakalama 993 Komut: openssl s_client -connect {IP}:993 -quiet
Entry_4: Ad: msfconsole'suz mfs numaralandırma Açıklama: msfconsole çalıştırmadan IMAP numaralandırma Not: https://github.com/carlospolop/legion'dan alınmıştır Komut: 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>