hacktricks/network-services-pentesting/pentesting-pop.md
2023-08-03 19:12:22 +00:00

9.7 KiB
Raw Blame History

110,995 - Pentesting POP

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

基本信息

邮局协议POP)是一种计算机网络和互联网标准协议,用于从远程邮件服务器提取和检索电子邮件,以供主机机器访问。POP是OSI模型中的应用层协议,为终端用户提供获取和接收电子邮件的能力(来自这里)。

POP客户端通常连接检索所有消息将其存储在客户端系统上并从服务器上删除。有3个版本的POP但POP3是最常用的版本。

**默认端口:**110995ssl

PORT    STATE SERVICE
110/tcp open  pop3

横幅抓取

横幅抓取是一种用于获取目标主机上运行的POP3服务器版本和其他相关信息的技术。通过发送特定的请求到POP3服务器我们可以从服务器的响应中提取有用的信息如软件版本、操作系统类型和其他配置细节。这些信息对于后续的攻击和漏洞利用非常有用。

使用Telnet进行横幅抓取

使用Telnet工具可以方便地进行横幅抓取。以下是使用Telnet进行横幅抓取的步骤

  1. 打开命令行终端并输入以下命令:

    telnet <目标IP地址> <POP3端口号>
    

    例如:

    telnet 192.168.0.1 110
    
  2. 连接成功后,输入以下命令以获取横幅信息:

    USER <任意用户名>
    

    例如:

    USER test
    
  3. 服务器将返回横幅信息,其中包括服务器版本和其他相关细节。

使用Nmap进行横幅抓取

Nmap是一款功能强大的网络扫描工具也可以用于横幅抓取。以下是使用Nmap进行横幅抓取的步骤

  1. 打开命令行终端并输入以下命令:

    nmap -p <POP3端口号> --script pop3-capabilities <目标IP地址>
    

    例如:

    nmap -p 110 --script pop3-capabilities 192.168.0.1
    
  2. Nmap将发送特定的POP3请求到目标主机并从服务器的响应中提取横幅信息。

使用Metasploit进行横幅抓取

Metasploit是一款流行的渗透测试工具也可以用于横幅抓取。以下是使用Metasploit进行横幅抓取的步骤

  1. 打开Metasploit控制台并输入以下命令

    use auxiliary/scanner/pop3/pop3_version
    
  2. 设置目标主机的IP地址和POP3端口号

    set RHOSTS <目标IP地址>
    set RPORT <POP3端口号>
    

    例如:

    set RHOSTS 192.168.0.1
    set RPORT 110
    
  3. 运行模块以获取横幅信息:

    run
    

    Metasploit将发送特定的POP3请求到目标主机并从服务器的响应中提取横幅信息。

nc -nv <IP> 110
openssl s_client -connect <IP>:995 -crlf -quiet

手动

您可以使用命令CAPA来获取POP3服务器的功能。

自动化

nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -port <PORT> <IP> #All are default scripts

pop3-ntlm-info插件将返回一些“敏感”数据Windows版本

POP3暴力破解

POP语法

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

危险设置

来自https://academy.hackthebox.com/module/112/section/1073

设置 描述
auth_debug 启用所有身份验证调试日志记录。
auth_debug_passwords 此设置调整日志详细程度,记录提交的密码和方案。
auth_verbose 记录未成功的身份验证尝试及其原因。
auth_verbose_passwords 记录用于身份验证的密码,也可以进行截断。
auth_anonymous_username 指定在使用ANONYMOUS SASL机制登录时要使用的用户名。

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 a type of computer networking and Internet standard protocol that extracts and retrieves email from a remote mail server for access by the host machine. POP is an application layer protocol in the OSI model that provides end users the ability to fetch and receive email (from here).
The POP clients generally connect, retrieve all messages, store them on the client system, and delete them from the server. There are 3 versions of POP, but POP3 is the most used one.

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

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'

☁️ HackTricks 云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥