服务指纹识别在渗透过程能让我们快速发现可利用的点,针对一个端口,其部署了什么服务,这个工作,nmap 可以很好的判断出结果,那么在不使用工具,仅仅通过 nc 或者 telnet 连接端口,有哪些服务可以一眼看出呢?
今天就来给大家梳理一下,哪些服务可以一眼分辨,顺序按照默认端口号从小到大排列
0x01 FTP(默认端口号 21)
FTP 是一种文件传输协议,通常用来做文件共享,针对 FTP 的攻击方式,除了有个别服务器存在 nday 的情况,通用的攻击方式主要是弱口令或者匿名访问的配置,导致服务器上的敏感文件泄露。
0x02 SSH(默认端口号 22)
SSH 通常作为 unix 系统的管理协议,对于 SSH 协议的攻击方式主要是暴力破解用户口令,而默认管理用户为 root,默认端口是 22,也有些运维人员会将默认端口改掉。
0x03 Telnet(默认端口 23)
Telnet 协议是 TCP/IP 协议族中的一员,是I nternet 远程登录服务的标准协议和主要方式,针对 telnet 的攻击,由于其协议未加密,可以通过嗅探欺骗的方式,从数据包中提取用户通过 telnet 登录的账号密码,除此之外也可以进行暴力破解,账号密码与系统的账号密码一致。
0x04 HTTP(默认端口 80、443)
HTTP 是超文本传输协议,所有开放的端口中 80、443 端口最多,指纹也很明显,针对 HTTP 协议的攻击,就属于 web 安全领域了,不多说了。
0x05 POP3(默认端口 110)
POP3 是 Post Office Protocol 3 的简称,即邮局协议的第 3 个版本, POP3 允许用户从服务器上把邮件存储到本地主机,由于是跟邮件系统相关,所以可以通过爆破来枚举邮箱用户。
0x06 rsync(默认端口 873)
rsync 是 Unix 下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输量。针对 rsync 的攻击,主要是由于没有安全配置 rsync 服务,导致未授权访问。
0x07 mysql(默认端口 3306)
mysql 是一款应用广泛的关系型数据库,针对 mysql 的攻击,主要是弱口令检测和暴力破解,获得管理员账号权限之后,除了可以拉取数据外,还可以利用 udf 进行提权,执行系统权限。
0x08 redis(默认端口 6379)
Redis是一个使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。针对 redis 的攻击,主要是未授权访问或者弱口令,拿到权限之后,可以尝试写 webshell、写 key 文件、写计划任务等,获得更多权限。
0x09 memcache(默认端口 11211)
memcached 是一套分布式的高速缓存系统,memcached 缺乏认证以及安全管制,之前出过利用 memcache 来进行反射放大攻击,来对其他服务进行拒绝服务攻击。
0xA dubbo(默认端口 20880)
Apache Dubbo 是一款高性能、轻量级的开源服务框架,提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维。主要存在的问题就是未授权访问。
0x0B ActiveMQ(默认端口 61616)
Apache ActiveMQ 是 Apache 软件基金会所研发的开放源代码消息中间件,关于 ActiceMQ 之前爆过几个漏洞,如果版本刚好在漏洞范围内,即可被利用,而且通常还存在未授权访问的问题。
0x0C 总结
以上服务是最近收集信息时,发现的可以通过简单的 socket 连接,然后根据返回的 banner 信息就可以判断服务类型的十一种常见服务,关于信息收集的过程和使用的脚本均以更新至信安之路的内部 wiki,欢迎大家注册体验。