黑客通常会攻击开放的端口和服务,但我想知道他们是如何在特定端口或服务中发现安全漏洞的。
黑客如何搜索特定端口的漏洞?
信息安全
漏洞扫描器
信息收集
2021-08-20 10:26:35
2个回答
基本上,一些工具(如 nmap)会尝试在目标的每个端口上打开会话。如果会话打开,该工具将尝试以它知道的所有方式(http、ftp、smtp、mysql、...)与端口对话,直到找到好的协议。
对于 UDP,省略了第一步,因为这是一个无会话协议。
在尝试每个协议之前,扫描器通常可以依赖会话打开后服务器发送的横幅(例如“欢迎使用 OpenSSH 服务器 v2.2,仅允许企业用户登录”之类的内容)。
知道开放端口和相关协议后,黑客就可以开始寻找漏洞。
有3种主要方法可以做到这一点:
- 识别横幅中显示的特定版本并查找与此版本相关的已知漏洞(例如基于 CVE 数据库)
- 主动利用:尝试针对目标运行利用(为利用漏洞而编写的程序)并查看哪些成功
- 读取或推断如何配置服务以发现由于错误配置而导致的漏洞(大多数情况下,服务会显示其配置,如果没有,则可以通过尝试调用相关函数来推断是否存在特定设置)
如果您的问题更多是关于如何在第一时间发现漏洞。更多的是通过代码审计、漏洞赏金、白盒测试、逆向工程……在受控环境中进行。
然后将发现的漏洞注册在 CVE 数据库(由MITRE维护)中,并成为公共漏洞,每个人都可以知道主机是否受到影响,知道它使用的版本。
Metasploit等工具可用于自动化此过程。该工具会扫描目标主机的开放端口,然后尝试识别在这些端口上运行的服务,然后尝试利用这些服务中的已知漏洞。
这些工具还可用于查找和利用导致开发人员常见错误的漏洞,例如 SQL 注入漏洞、XSS 漏洞等。
其它你可能感兴趣的问题