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
|
Banner Grabbing
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
|
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.
POP3 Komutları
Komut | Açıklama |
---|
USER | Oturum açmak için kullanıcı adını belirtir. |
PASS | Oturum 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 n | n mesaj gösterir. |
DELE n | n mesaj silmek için işaretler. |
RSET | Tüm değişiklikleri geri alır. |
QUIT | Oturumu kapatır. |
TOP msg n | Mesajın ilk n satırını gösterir. |
CAPA | Yetenekleri listeler. |
Tehlikeli Ayarlar
Ayar | Açıklama |
---|
auth_debug | Tüm kimlik doğrulama debug logunu etkinleştirir. |
auth_debug_passwords | Bu ayar; gönderilen parolaları, log ayrıntılarını vs. kaydeder. |
auth_verbose | Başarısız kimlik doğrulamaları ve nedenlerini kaydeder. |
auth_verbose_passwords | Kimlik doğrulama için kullanılan parolaları kaydeder. |
auth_anonymous_username | Anonymous ş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’
|