渗透测试 渗透测试小技巧—端口扫描

网络安全威胁无处不在,影响方方面面。从终端、管道到云中心,到处都有潜在的安全风险。例如,每个端口都是一个潜在的通信通道,即入侵通道。在渗透测试过程中,渗透测试人员的第一步是扫描目标计算机的端口,获取下一步的相关信息。
扫描的方式有很多,比如手动扫描或者端口扫描软件。手动扫描时,需要熟悉各种命令。执行命令后分析输出。用扫描软件扫描时,很多扫描仪软件都有分析数据的功能。通过端口扫描,我们可以获得大量有用的信息,从而发现系统的安全漏洞。以上定义仅针对网络通信端口,端口扫描在某些场合也可以定义为广泛的设备端口扫描。例如,一些管理软件可以动态扫描各种计算机外围端口的打开状态,并对其进行管理和监控。这样的系统比较常见,比如USB管理系统和各种外设管理系统。
端口扫描顾名思义就是逐个扫描一段端口或者指定端口。通过扫描结果,我们可以知道计算机上正在运行哪些服务,然后我们可以通过这些服务的已知漏洞进行攻击。原则是当一个主机请求连接到远程服务器的一个端口时,另一方将回答它是否有这个服务。如果对方不安装这个服务,即使你向对应的端口发送请求,对方仍然没有应答。利用这个原理,如果将自己选择的某个范围内的所有知名端口或知名端口单独连接,并记录远程服务器给出的响应,通过查看一条记录,就可以知道目标服务器上安装了哪些服务,即端口扫描。通过端口扫描,可以收集到大量关于目标主机的有价值的信息。例如是否运行FPT服务、WWW服务或其他服务。
在渗透测试过程中,大多数目标,尤其是一些“智能设备”和“智能家居”,不仅会打开web服务端口,还会打开nmap无法识别的端口。这些端口运行制造商自己定义的一些服务。在渗透测试过程中,渗透测试人员通常会因为无法测试这些服务而放弃对这些端口的测试,这就放弃了很多突破目标的可能性。
以下描述了常见端口的服务识别和测试,以及使用工具无法识别端口时的处理方法:
(1)端口状态
【渗透测试 渗透测试小技巧—端口扫描】

渗透测试 渗透测试小技巧—端口扫描


文章图片

当我们使用nmap扫描端口寻找目标时,结果基本上如上图所示,通常包含三种端口状态:
国家解释
关闭:
关闭状态是指防火墙和iptable允许端口外部使用,但不使用。如果要打开目标上的监听端口,可以选择处于关闭状态的端口
过滤:
它可能正在使用中,但防火墙和iptable不允许此端口对外开放。
打开:
港口正在对外开放,所以我们测试时只需要关注开放状态下的港口。
(2)服务标识

渗透测试 渗透测试小技巧—端口扫描


文章图片

如上图所示,nmap可以知道端口对应的服务的具体版本信息。在渗透测试过程中,已知的漏洞可以用来攻击和利用特定的服务版本。
对于nmap无法识别服务的端口,可以使用以下方法:
1.使用http/https打开端口
由于很多厂商都定制了服务,nmap无法识别,但实际上服务使用的是HTTP+JSON,和常规web安全测试没有太大区别。
2.使用网络电话/远程登录连接到该端口
这种方法在测试“智能设备”和“智能家居”时往往是有效的,因为如果设备制造商对固件处理不当,可能会留下一些调试端口进行测试,直接获取目标敏感信息甚至管理权限。
3 .模糊测试
模糊这个端口,这样它就可以返回错误信息来判断它属于什么服务。模糊脚本如下图所示:

推荐阅读