# 110,995 - Pentesting POP {{#include ../banners/hacktricks-training.md}} ## 基本情報 **Post Office Protocol (POP)** は、コンピュータネットワーキングとインターネットの領域内で説明されるプロトコルであり、**リモートメールサーバーからのメールの抽出と取得**に利用され、ローカルデバイスでアクセス可能にします。OSIモデルのアプリケーション層に位置するこのプロトコルは、ユーザーがメールを取得し受信することを可能にします。**POPクライアント**の操作は通常、メールサーバーへの接続を確立し、すべてのメッセージをダウンロードし、これらのメッセージをクライアントシステムにローカルに保存し、その後サーバーから削除することを含みます。このプロトコルには3つのバージョンがありますが、**POP3**が最も広く使用されているバージョンとして際立っています。 **デフォルトポート:** 110, 995(ssl) ``` PORT STATE SERVICE 110/tcp open pop3 ``` ## 列挙 ### バナーグラビング ```bash nc -nv 110 openssl s_client -connect :995 -crlf -quiet ``` ## マニュアル `CAPA` コマンドを使用して、POP3 サーバーの機能を取得できます。 ## 自動化 ```bash nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -port #All are default scripts ``` `pop3-ntlm-info`プラグインは、いくつかの「**機密**」データ(Windowsバージョン)を返します。 ### [POP3ブルートフォース](../generic-hacking/brute-force.md#pop) ## POP構文 POPコマンドの例は[こちら](http://sunnyoasis.com/services/emailviatelnet.html)から。 ```bash POP commands: USER uid Log in as "uid" PASS password Substitue "password" for your actual password STAT List number of messages, total mailbox size LIST List messages and sizes RETR n Show message n DELE n Mark message n for deletion RSET Undo any changes QUIT Logout (expunges messages if no RSET) TOP msg n Show first n lines of message number msg CAPA Get capabilities ``` 例: ``` root@kali:~# telnet $ip 110 +OK beta POP3 server (JAMES POP3 Server 2.3.2) ready USER billydean +OK PASS password +OK Welcome billydean list +OK 2 1807 1 786 2 1021 retr 1 +OK Message follows From: jamesbrown@motown.com Dear Billy Dean, Here is your login for remote desktop ... try not to forget it this time! username: billydean password: PA$$W0RD!Z ``` ## パスワードのログ記録 **`auth_debug`** が有効なPOPサーバーは、生成されるログが増加します。しかし、**`auth_debug_passwords`** または **`auth_verbose_passwords`** が **`true`** に設定されている場合、パスワードがそのログに平文で記録される可能性があります。 ## HackTricks 自動コマンド ``` Protocol_Name: POP #Protocol Abbreviation if there is one. Port_Number: 110 #Comma separated if there is more than one. Protocol_Description: Post Office Protocol #Protocol Abbreviation Spelled out Entry_1: Name: Notes Description: Notes for POP Note: | Post Office Protocol (POP) is described as a protocol within the realm of computer networking and the Internet, which is utilized for the extraction and retrieval of email from a remote mail server**, making it accessible on the local device. Positioned within the application layer of the OSI model, this protocol enables users to fetch and receive email. The operation of POP clients typically involves establishing a connection to the mail server, downloading all messages, storing these messages locally on the client system, and subsequently removing them from the server. Although there are three iterations of this protocol, POP3 stands out as the most prevalently employed version. https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-pop.html Entry_2: Name: Banner Grab Description: Banner Grab 110 Command: nc -nv {IP} 110 Entry_3: Name: Banner Grab 995 Description: Grab Banner Secure Command: openssl s_client -connect {IP}:995 -crlf -quiet Entry_4: Name: Nmap Description: Scan for POP info Command: nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -p 110 {IP} Entry_5: Name: Hydra Brute Force Description: Need User Command: hydra -l {Username} -P {Big_Passwordlist} -f {IP} pop3 -V Entry_6: Name: consolesless mfs enumeration Description: POP3 enumeration without the need to run msfconsole Note: sourced from https://github.com/carlospolop/legion Command: msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS {IP}; set RPORT 110; run; exit' ``` {{#include ../banners/hacktricks-training.md}}