常见的网络服务-FTP
约 1380 字大约 5 分钟
2024-11-16
了解FTP
- 名称:文本传输协议(File Transfer Protocol)FTP,
 - 是一种允许通过网络传输文本的协议,
 - 他使用 client-server 模型来完成此任务,
 - 并以非常有效的方式中继命令和数据。
 - 默认使用
21端口通信 
FTP工作原理
典型的FTP会话,使用两个通道:
- 命令 ( command 有时称为控制(control)) 通道: 用于传输命令及对这些命令的回复。
 - 数据 (data) 通道: 用于传输数据。
 
FTP使用 client-server 协议运行,客户端发起连接,服务器验证凭据,然后建立会话。
主动与被动
FTP服务器可以支持主动连接或被动连接,也可以同时支持两者。
- 主动: 连接时,客户端打开一个端口侦听,服务器需要主动连接它
 - 被动: 连接时,服务器打开一个端口并侦听 (被动地),客户端连接它。
 
[!NOTE] 注意 FTP 的主动与被动都是对于服务器端来说。
更多信息
您可以在Internet工程任务组网站上找到有关FTP的技术功能和实现的更多详细信息:https://www.ietf.org/rfc/rfc959.txt。IETF是定义和监管互联网标准的众多标准机构之一。
回答以下问题
FTP使用什么通信模式?
答案:client-server
FTP标准端口是?
答案:21
FTP有多少种连接方式?
答案:2
FTP枚举
枚举的第一步是进行端口扫描,我们已经有足够的经验使用NMAP 进行扫描,如果你在使用工具过程中任然遇到困难,你可以使用 “nmap[-h/-help/--help]” 来了解更多关于他的功能和语法。也可以使用“man [nmap]”。
方法
这是FTP挑战中常见的路径,通过模仿FTP服务器的粗心实现:
- 匿名FTP登陆
 - 查看可以访问文件中包含的信息
 - 尝试建立shell连接。
 
工具
- ftp 客户端(大多数客户端如
kali、Parrot OS均默认安装) - 如果没有就安装,命令:
sudo apt install ftp。 
其他枚举的方法
一些易受攻击的版本的in.ftpd和其他一些FTP服务器变体对存在和不存在的主目录的“cwd”命令返回不同的响应。 这个漏洞可能被利用,因为你可以在认证之前发出cwd命令,如果有主目录,那么很可能会有一个用户帐户。虽然这个漏洞主要存在于遗留系统中,但作为利用FTP的一种方式,它值得了解。 此漏洞记录在:https://www.exploit-db.com/exploits/20745
回答以下问题
目标计算机上有多少个端口是打开的?
答案:2
ftp在哪个端口上运行?
答案:21
什么变体的FTP在运行?
答案:vsftpd
匿名FTP目录中的文件名是什么?
答案:PUBLIC_NOTICE.txt
我们认为一个可能存在的用户名是?
答案:mike
FTP利用
与Telnet类似,使用FTP时,命令和数据通道都未加密,通过这些通道发送的任何数据都可以被拦截和读取。 由于来自FTP的数据是以明文形式发送的,如果发生中间人攻击,攻击者可以泄露通过此协议发送的任何内容(例如密码)。JSCape撰写的一篇文章演示并解释了这个过程,它使用ARP-Poisoning来欺骗受害者将敏感信息发送给攻击者。
方法
从我们的枚举结果可知道:
- 此计算机上正在运行FTP服务
 - 我们有一个可能的用户名 使用这些信息,让我们尝试暴力破解FTP服务器的密码。
 
Hydra
Hydra是一个免费的开源密码破解工具。它可以尝试许多密码,直到找到正确的密码。它可以针对50多种协议执行快速字典攻击,包括Telnet、RDP、SSH、FTP、HTTP、HTTPS、SMB、多个数据库等。Hydra已经安装在AttackBox上,但是,如果您在自己的攻击机器上需要它,您可以在此处找到GitHub存储库。
我们将使用以下命令来查找密码:
hydra -t 4 -l dale -P /usr/share/wordlists/rockyou.txt -vV 10.10.10.6 ftp让我们对上面的命令分解一下:
hydra: 运行Hydra 工具-t 4: 每个目标的并行连接数-l [user]: 指向您试图破解密码的帐户的用户-P [path to dictionary]指向包含可能密码列表的文件-vV: 将详细模式设置为极详细级别,显示每次尝试的登录名与密码组合。[machine IP]:目标计算机的IP地址ftp:目标协议
回答以下问题
用户“mike”的密码是什么?
答案:password
答对了!现在,让我们以该用户的身份使用 “ftp [IP]”连接到FTP服务器 并在提示时输入凭据,什么是ftp.txt?
答案:THM{y0u_g0t_th3_ftp_fl4g}
知识扩展
这里有一些东西,如果你感兴趣,在完成这个房间后阅读可能会有用:
