Post

110 - POP3 Pentesting

110 - POP3 Pentesting

POP, son kullanıcılara e-posta almayı sağlayan ve OSI modelinde application layer’da yer alan bir protokoldür.

E-posta iletişiminde görev alan bu protokol, uzak e-posta sunucusuna bağlanabilmek ve e-posta iletilerini alıcının bilgisayarına indirebilmek için POP’u entegre eden bir e-posta istemcisi yazılımı ile çalışır.

POP istemcileri genellikle sunucuya bağlanır, tüm iletileri alır, istemci sisteminde depolar ve sunucudan siler. POP’un 3 sürümü vardır, ancak en çok kullanılan POP3’tür.

Genellikle 110,995 numaralı portlar üzerinde çalışır.

POP3 Protokolüne Yönelik Sızma Testi

1
2
PORT    STATE SERVICE
110/tcp open  pop3
1
2
3
4
5
6
telnet <IP> 110
nc -nv <IP> 110
nmap -p110 --script=banner <IP>
nmap -p110 --script=pop3-ntlm-info <IP>
msf > use auxiliary/scanner/pop3/pop3_version
openssl s_client -connect <IP>:995 -crlf -quiet

https://i.ibb.co/7zhzqs1/image.png

Capabilities

POP3 Servisinin yeteneklerini görmek için manual olarak CAPA komutu kullanılabilir.

1
2
3
4
5
6
7
8
9
10
11
12
# telnet 85.128.175.88 110                                                                                                                                                                                      
Trying 85.128.175.88...
Connected to 85.128.175.88.
Escape character is '^]'.
+OK POP3 ready
CAPA
+OK Capability list follows
TOP
USER
UIDL
SASL PLAIN LOGIN
.

Veya bunun yerine nmap scriptleri kullanılabilir.

1
2
3
4
#All are default scripts
nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -port <PORT> <IP>
# Retrieve POP3 server capabilities (CAPA, TOP, USER, SASL, RESP-CODES, LOGIN-DELAY, PIPELINING, EXPIRE, UIDL, IMPLEMENTATION)  
nmap -v -sV --version-intensity=5 --script pop3-capabilities -p T:110 192.168.x.x

pop3-ntlm-info scripti windows sürümleri gibi bazı hassas verileri döndürebilir.

https://i.ibb.co/m90yLkq/image.png

POP3 Komutları

KomutAçıklama
USEROturum açmak için kullanıcı adını belirtir.
PASSOturum açmak için parolayı belirtir.
STATİleti sayısını ve toplam posta boyutunu döndürür.
LISTİletileri ve boyutları listeler.
RETR nn mesaj gösterir.
DELE nn mesaj silmek için işaretler.
RSETTüm değişiklikleri geri alır.
QUITOturumu kapatır.
TOP msg nMesajın ilk n satırını gösterir.
CAPAYetenekleri listeler.

Tehlikeli Ayarlar

AyarAçıklama
auth_debugTüm kimlik doğrulama debug logunu etkinleştirir.
auth_debug_passwordsBu ayar; gönderilen parolaları, log ayrıntılarını vs. kaydeder.
auth_verboseBaşarısız kimlik doğrulamaları ve nedenlerini kaydeder.
auth_verbose_passwordsKimlik doğrulama için kullanılan parolaları kaydeder.
auth_anonymous_usernameAnonymous şekilde oturum açarken kullanılacak username’i belirtir.

POP3 Paket Yakalama

1
msf6 > use auxiliary/server/capture/pop3 #MetasploitFramework

Brute Force

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#Hydra
hydra -l USERNAME -P /path/to/passwords.txt -f <IP> pop3 -V
hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f <IP> pop3 -V

# Nmap
Nmap: pop3-brute –script-args userdb=users.list,passdb=passwords.list

nmap --script pop3-brute --script-args pop3loginmethod=SASL-LOGIN -p T:110 IP
nmap --script pop3-brute --script-args pop3loginmethod=SASL-CRAM-MD5 -p T:110 IP
nmap --script pop3-brute --script-args pop3loginmethod=APOP -p T:110 IP

#MetasploitFramework ve Diğerleri
msf > use auxiliary/scanner/pop3/pop3_login
medusa -t 2 -T 2 -U users.list -P passwords.list -H 10.10.x.x.list -n 110 -M pop3
ncrack -g CL=2 -U users.list -P passwords.list -iL 10.10.x.x.list -p pop3:110 -oA output
patator pop3_login host=10.10.x.x user=FILE1 password=FILE0 0=users.list 1=passwords.list -x ignore:fgrep=’incorrect password or account name’
This post is licensed under CC BY 4.0 by the author.