协议和服务器
协议和服务器
主要介绍了一些常用的协议。
HTTP(超文本传输协议)
是用于传输网络的协议,网络浏览器连接到网络服务器并使用HTTP请求 HTML 页面和图像以及其他文件,提交表单并上传各种文件。
下面是thm的一个图像解释:
http以明文的形式发送数据,因此我们可以使用telnet来充当web浏览器,向web服务器发送数据。
FTP(文件传输协议)
ftp主要用于不同系统不同计算机之间进行文件的传输。ftp默认监听21端口,使用明文进行数据的传输,我们同样可以使用telnet来代替ftp客户端 和ftp服务端进行一个数据的通信。
SYST是查看目标的系统类型。
FTP的PASV有两种模式:
- 主动:在主动模式下,数据通过源自FTP服务器端口 20 的单独通道发送。
- 被动:在被动模式下,数据通过来自FTP客户端端口号 1023 以上的单独通道发送。
TYPE A是将文件传输模式转成ASCII。TYPE I是将文件传输模式转成二进制。
我们不能使用简单的客户端(例如telnet)来传输文件,因为ftp会为文件传输创建单独的连接。
FTP服务器软件的示例包括:
get filename下载文件
POP3(邮局协议3)
邮局协议版本 3 (POP3) 是一种用于从邮件投递代理 ( MDA ) 服务器下载电子邮件消息的协议,如下图所示。邮件客户端连接到POP3服务器,进行身份验证,下载新电子邮件消息,然后(可选)删除它们。
默认监听端口是110
pop3需要进行身份的验证。
使用STAT我们得到响应 +OK nn mm
nn代表收件箱中的电子邮件数量 mm代表收件箱的大小(以八字节为单位)。
LIST
提供了服务器上的新消息列表,并RETR 1
检索列表中的第一条消息。
SMTP(简单邮件传输协议)
通过互联网传递电子邮件需要以下组件:
- 邮件提交代理 (MSA)
- 邮件传输代理(MTA)
- 邮件投递代理 ( MDA )
- 邮件用户代理 ( MUA )
流程用thm通俗的话语来解释一下:
- 您(MUA)想要发送邮件。
- 在您当地的邮局 ( MTA ) 接受邮件之前,邮局员工 (MSA) 会检查邮件是否存在任何问题。
- 当地邮局检查邮件目的地并将其发送到正确国家的邮局(MTA )。
- 邮局(MTA)将邮件投递到收件人邮箱(MDA)。
- 收件人(MUA)会定期检查邮箱是否有新邮件。他们会注意到新邮件,并接收它。
简单传输协议SMTP用于和MTA服务器进行一个通信,SMTP使用的是明文,可以使用telnet客户端连接到SMTP服务器端,并充当发送消息的电子邮件客户端(MUA)。
SMTP监听25端口。
IMAP(互联网消息访问协议)
使用的默认监听端口是143
imap比pop3更复杂一些,它可以让电子邮件在多个设备(和邮件客户端)之间保持同步。简单来讲就是,你在手机上已经读过了这个邮件,那么在电脑上这个邮件将不会显示未读。
imap同样需要进行身份的一个验证。
imap要求每个命令前面都要有一个随机字符,所以fsrm fsrm1 fsrm3 是我们自己设置的。list "" "*"
是列出邮件文件夹。 EXAMINE INBOX
是查看邮件箱中是否有新的邮件。
Protocol | TCP Port | Application(s) | Data Security |
---|---|---|---|
FTP | 21 | File Transfer | 明文(明文) |
HTTP | 80 | Worldwide Web | 明文 |
IMAP | 143 | Email (MDA) | 明文 |
POP3 | 110 | Email (MDA) | 明文 |
SMTP | 25 | Email (MTA) | 明文 |
Telnet | 23 | Remote Access | 明文 |
易遭受的攻击
1.嗅探攻击(网络数据包捕获)
当协议以明文的方式进行传输时,第三方可以对传输的数据进行一个分析,从而可以获取到一些敏感的信息。
只要用户具有适当的权限( Linux上的 root 权限和 MS Windows 上的管理员权限),就可以使用以太网 (802.3) 网卡进行嗅探攻击。有许多程序可用于捕获网络数据包。
1.Wireshark是一个免费的开源图形用户界面 (GUI) 程序,适用于多种操作系统,包括Linux、macOS 和 MS Windows。
2.Tcpdump是一个免费的开源命令行界面 ( CLI ) 程序,已被移植到许多操作系统上运行。
3.Tshark是Wireshark 的CLI替代品。
使用Tcpdump对数据进行获取:
命令如下:sudo Tcpdump port xxx -A
这里举一个例子,A用户使用pop3进行邮件的检查,此时的pop3监听端口是110,那么
sudo Tcpdump port 110 -A
-A是以ascii码的形式显示捕获的数据包。
或者使用Wireshark进行流量分析。如下图所示:
防御方法就是对传输的数据进行一个加密,不用明文进行传输。对于远程访问,telnet用ssh进行代替。
2.中间人攻击(MITM)
假设有A,B两个用户 中间人是C
A用户向B用户发送信息,但这个信息被C给劫持了,C再告诉B修改后的信息,B做出反应。
防御措施:
1.使用适当的身份验证。
2.对传输的信息进行一个加密或者签名。
传输层安全性(TLS) 可防止这个攻击。
许多工具可以帮助你实施此类攻击,例如Ettercap和Bettercap
3.密码攻击(身份验证攻击)
关于密码攻击大致有三类:
1.进行猜测,有些人会将密码设置成宠物的名字或者出生日期等。
2.字典攻击,拓展了密码猜测,将所有可能的结果放在一个字典中。
3.暴力破解:这种攻击是最彻底、最耗时的攻击,攻击者会尝试所有可能的字符组合,并且这种攻击会快速增长。
hydra
是一个不错的暴力破解工具,支持多种协议(pop3,http,ssh,ftp,smtp,imap等)
1 |
|
防御
传输层安全性 (TLS)
可以防止密码嗅探和中间人攻击。
概括
Protocol | TCP Port | Application(s) | Data Security |
---|---|---|---|
FTP | 21 | File Transfer | 明文 |
FTPS | 990 | File Transfer | 密文 |
HTTP | 80 | Worldwide Web | 明文 |
HTTPS | 443 | Worldwide Web | 密文 |
IMAP | 143 | Email (MDA) | 明文 |
IMAPS | 993 | Email (MDA) | 密文 |
POP3 | 110 | Email (MDA) | 明文 |
POP3S | 995 | Email (MDA) | 密文 |
SFTP | 22 | File Transfer | 密文 |
SSH | 22 | Remote Access and File Transfer | 密文 |
SMTP | 25 | Email (MTA) | 明文 |
SMTPS | 465 | Email (MTA) | 密文 |
Telnet | 23 | Remote Access | 明文 |